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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

3

主题

8

帖子

164

积分

注册会员

Rank: 2

积分
164
跳转到指定楼层
楼主
发表于 2016-9-27 08:47:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
& u5 e, U5 p9 \
    用的创龙TL138-A3开发板,裸机,例程是EDMA3。2 B  q, m! g6 k, |

, m4 G! T2 n4 K  ?. @% h    例程中可以看到数据的传输,但是貌似没有找到在哪里配置的SRC和DST。
  A& [" Y( s$ T$ }, I7 G& v" m, h: h# ^  x
    看了工程编译后的map文件,发现编译完后就已经分配好了,如下:
! r1 v# k8 ^& K5 H# h: a0 G.bss       0    c000c500    000002ec     UNINITIALIZED1 B! x: t- |% L( K% F4 ^/ `
                  c000c500    00000194     system_config.lib : interrupt.obj (.bss:fnRAMVectors)) p# o0 ^& N7 B8 Q2 A
                  c000c694    00000080     (.common:cb_Fxn)1 J! r& ?9 k! c  p# k/ ?
                  c000c714    00000064     (.common:_dstBuff)
) I& L0 |- i) Q  @2 d                  c000c778    00000064     (.common:_srcBuff)6 v% R. T0 v6 ^5 F( b
                  c000c7dc    00000004     (.common:dstBuff)
# b2 I! h& d8 V( R& J2 W                  c000c7e0    00000004     (.common:irqRaised)
" A) U% [& e1 o  M                  c000c7e4    00000004     (.common:regionId)( r2 c! k) y) _) e. b1 k
                  c000c7e8    00000004     (.common:srcBuff)
  b/ a; w- n- Q; |6 n" `6 h* |; \- U) y" x
* W, t% b1 o; Q; R
     如果我想人为的设置源地址和目的地址应该怎么做?
* s! \! r0 S1 _' `7 s4 _* j7 X  
- w. c2 f6 P- |* M2 L  w. N8 ^    .init:{system_config.lib<init.obj> (.text)} > 0xC0000000
$ z. I# o7 i( W1 |2 D    .bss                >  DDR2   RUN_START(bss_start), RUN_END(bss_end)
) y: u4 u# ~; |% R: A+ v    .far                        >  DDR2- M" {" N  N9 {+ M

4 q# l1 ^( r. E    还有一个问题就是想请问一下cmd文件中.bss里在DDR2后面的RUN_START(bss_start), RUN_END(bss_end)是什么意思?   
9 u* k3 K7 c: G$ S/ D$ E
  }' _' |* ?+ Q$ M1 h5 [. l
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
推荐
发表于 2016-9-29 09:42:18 | 只看该作者
默认的自动分配地址,你想人为的设置源地址和目的地址,在定义时指定地址就好
* z% q6 l% X9 D4 K0 pvolatile char   _srcBuff[MAX_BUFFER_SIZE];
4 u$ Q: C- B7 C3 n5 {2 e: gvolatile char   _dstBuff[MAX_BUFFER_SIZE];! F- m1 U3 `4 J6 _5 \( {
$ h* c. B$ x0 j* G4 x  U; g
volatile char *srcBuff;
% r* W$ Q! T+ ivolatile char *dstBuff;
回复 支持 1 反对 0

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

3

主题

8

帖子

164

积分

注册会员

Rank: 2

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

RE: human

请问human,
3 S" j, A5 [) U" P/ R地址在定义时如何具体指定? . c0 f. ~# @% u9 X% K
我这样写是错的。。。0 x8 y- S' W. _
volatile char   _srcBuff[MAX_BUFFER_SIZE] = (char*)0xc000c878;
& ^' u9 q- Z* U) R3 C2 w( C, c6 A9 s! [
( W$ S/ _4 }6 b: A
回复 支持 反对

使用道具 举报

0

主题

10

帖子

58

积分

QQ游客

积分
58
5#
发表于 2016-9-29 14:18:16 | 只看该作者
如果数组地址的话,可以用#pragma DATA_SECTION来指定 ,放到CMD中定义的字段中。6 Z7 W( z, c  {9 }7 X$ d4 v
如果是配置EDMA的目的和原地址 在EMDA 参数RAM里面配置。
回复 支持 反对

使用道具 举报

3

主题

8

帖子

164

积分

注册会员

Rank: 2

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

RE: liyulin


5 A3 v8 l8 o$ `3 T. x1 z5 p" Q  o9 u1 n3 ?2 ?* E
     嗯,我刚才试了一下,用#pragma DATA_SECTION,然后在cmd文件中来指定数组地址是可以实现的。
4 o! B3 F5 P# _9 t1 L   
+ ^- ?7 K/ M1 d) c2 |  V" V: J% E0 J     然而我真正的意图是你说的第二种,我看了参数RAM的配置,程序如下:
) R/ S2 P# `8 n0 q9 R8 J        
  Q5 S. k) ?1 G& A8 j  i        // 给参数 RAM 赋值# T# [; {+ N7 {; Z+ q$ x* \3 ^
        paramSet.srcAddr    = (unsigned int)(srcBuff);
6 ^, ~$ Y0 Z$ K3 ]        paramSet.destAddr   = (unsigned int)(dstBuff);$ J7 b: F* f/ y4 @1 }
   
( Y+ f( I; U+ A# o        paramSet.aCnt = (unsigned short)acnt;, a# ^; @0 H2 \' c2 }9 C) W
        paramSet.bCnt = (unsigned short)bcnt;
: }" x$ N( n/ S7 [& `        paramSet.cCnt = (unsigned short)ccnt;
( H; s) _8 b0 ~- n) A7 C+ x
) y% F( I& ~* C2 V
2 z5 M/ a3 j3 F! o
        // 设置 SRC / DES 索引. v( I: _6 q3 d( A1 D% q
        paramSet.srcBIdx = (short)acnt;
4 Z% _0 w: x; g; w* \        paramSet.destBIdx = (short)acnt;9 _! H' f7 J5 K! K/ q% Z+ i& _( R
, w, N5 `. c. \. R
  4 A) g0 S4 c7 h7 r' h: T
      还没想好在这里怎么人为的把地址给srcAddr和destAddr
/ S9 `, ?2 \. r+ R" V9 l2 T6 }
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 19:52 , Processed in 0.039793 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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