EDMA3中源地址和目的地址设置问题 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8495|回复: 5
打印 上一主题 下一主题

[已解决] EDMA3中源地址和目的地址设置问题

[复制链接]

3

主题

8

帖子

164

积分

注册会员

Rank: 2

积分
164
跳转到指定楼层
楼主
发表于 2016-9-27 08:47:45 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
5 S( l* p$ C4 }, d; g) h- I
    用的创龙TL138-A3开发板,裸机,例程是EDMA3。
, g  H! l  D1 |! B7 B1 h9 ?/ V& G5 t- O" [7 k0 \
    例程中可以看到数据的传输,但是貌似没有找到在哪里配置的SRC和DST。
9 k( e1 y2 W" H: @1 x  e  P0 z! L" W. u- t6 S* X3 ?; Q6 b3 Q
    看了工程编译后的map文件,发现编译完后就已经分配好了,如下:
* f; D0 Y% T% A) f. Z  A: o.bss       0    c000c500    000002ec     UNINITIALIZED7 n& u2 I- c4 |- U
                  c000c500    00000194     system_config.lib : interrupt.obj (.bss:fnRAMVectors)/ |* n! g6 O6 W! O
                  c000c694    00000080     (.common:cb_Fxn)1 s- N$ E3 I* q4 d, N
                  c000c714    00000064     (.common:_dstBuff)4 c8 }4 I" B+ }
                  c000c778    00000064     (.common:_srcBuff)3 [/ Q4 e3 a  g; J) J
                  c000c7dc    00000004     (.common:dstBuff)
1 f% u4 I! i: z# L1 S3 {) i                  c000c7e0    00000004     (.common:irqRaised)
3 p8 f+ _( ~4 x                  c000c7e4    00000004     (.common:regionId)
% S# Y4 P" ~) \9 t% T                  c000c7e8    00000004     (.common:srcBuff)( V2 ]- b  [  H

2 R% S6 k1 ~: G" q7 a; [' A6 E$ L
/ T; ]) o6 K* }0 ]4 u, N$ q     如果我想人为的设置源地址和目的地址应该怎么做?
, M( [: ]+ U# a( m% r4 x  " t: V* w8 D6 y& j
    .init:{system_config.lib<init.obj> (.text)} > 0xC00000004 t- W6 o, J3 R5 Z% `' U
    .bss                >  DDR2   RUN_START(bss_start), RUN_END(bss_end)
9 ]/ p: F% X1 q7 m5 ?2 ]    .far                        >  DDR22 u. A' k9 }2 q
$ ]6 o) t& V* ?. T: Y3 U
    还有一个问题就是想请问一下cmd文件中.bss里在DDR2后面的RUN_START(bss_start), RUN_END(bss_end)是什么意思?   ) b6 }  e- x2 ?5 @4 T9 M5 Z3 K' N
, M" @' F2 J' a
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
推荐
发表于 2016-9-29 09:42:18 | 只看该作者
默认的自动分配地址,你想人为的设置源地址和目的地址,在定义时指定地址就好
" W, ^* K7 ]. \# p: Fvolatile char   _srcBuff[MAX_BUFFER_SIZE];$ Q& O/ s& D, n9 K( l! E
volatile char   _dstBuff[MAX_BUFFER_SIZE];1 G! y7 }2 U7 J+ s/ v( r" l
3 v. U* F% b4 M+ z
volatile char *srcBuff;& z. V3 i- r# x3 b
volatile char *dstBuff;
回复 支持 1 反对 0

使用道具 举报

3

主题

8

帖子

164

积分

注册会员

Rank: 2

积分
164
6#
 楼主| 发表于 2016-9-29 16:11:53 | 只看该作者

RE: liyulin

6 `& b. ~  B; O: p  d" U+ Z
7 e* O& }5 r: y9 A
     嗯,我刚才试了一下,用#pragma DATA_SECTION,然后在cmd文件中来指定数组地址是可以实现的。, F1 J+ A2 d/ F/ R
   
7 D( A: w/ d. ~- c  Y0 A     然而我真正的意图是你说的第二种,我看了参数RAM的配置,程序如下:
1 Z1 B% Q5 m9 e        
  h6 ?# ^$ H4 ~. w" f; R- {# V        // 给参数 RAM 赋值9 \7 d; U5 T3 @( l
        paramSet.srcAddr    = (unsigned int)(srcBuff);' ^6 j& m' D8 i3 d% {
        paramSet.destAddr   = (unsigned int)(dstBuff);% q# `: R% t% H! x
   
) |& P( Z2 \5 @& M3 X        paramSet.aCnt = (unsigned short)acnt;8 H- o) x6 Q% W
        paramSet.bCnt = (unsigned short)bcnt;
$ c: S' e: m8 _" e) W' T( I        paramSet.cCnt = (unsigned short)ccnt;
7 Y; |( l% h; Z; n
3 n, G: V" O% y0 J% @. b% }9 a

$ [2 u: T3 o. ]0 q# H0 W0 |        // 设置 SRC / DES 索引
1 k2 v+ u! }. j* z) _# P/ l        paramSet.srcBIdx = (short)acnt;
2 F$ G9 a" u( Q4 P4 C- F        paramSet.destBIdx = (short)acnt;( w! j" T0 M; C
6 M* r( C8 P' @9 S" G* h0 U
  
& u2 n) z, `8 E4 W2 }5 T! L+ I4 G      还没想好在这里怎么人为的把地址给srcAddr和destAddr; x3 R& g5 B$ c+ @% ~3 y% ?1 F+ c
回复 支持 反对

使用道具 举报

0

主题

10

帖子

58

积分

QQ游客

积分
58
5#
发表于 2016-9-29 14:18:16 | 只看该作者
如果数组地址的话,可以用#pragma DATA_SECTION来指定 ,放到CMD中定义的字段中。
6 m/ ~0 C$ b# V6 Y/ J- z. V如果是配置EDMA的目的和原地址 在EMDA 参数RAM里面配置。
回复 支持 反对

使用道具 举报

3

主题

8

帖子

164

积分

注册会员

Rank: 2

积分
164
地板
 楼主| 发表于 2016-9-29 13:48:08 | 只看该作者

RE: human

请问human,& x5 S. F, U' v3 H- k, G
地址在定义时如何具体指定? ' j' a8 h7 ~6 E) l3 q5 m& G
我这样写是错的。。。
6 M3 [" c7 l, j# i) T$ zvolatile char   _srcBuff[MAX_BUFFER_SIZE] = (char*)0xc000c878;
( r. Y0 J  q+ G, B; v1 g4 V+ n) l( ^% @$ p  ~1 A
回复 支持 反对

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
板凳
发表于 2016-9-29 10:17:45 | 只看该作者
CMD文件的相关介绍,请关注http://51dsp.net/forum.php?mod=v ... &extra=page%3D1
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2025-8-4 03:02 , Processed in 0.038992 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表