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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

3

主题

8

帖子

164

积分

注册会员

Rank: 2

积分
164
跳转到指定楼层
楼主
发表于 2016-9-27 08:47:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
. h0 Y4 e% K+ J7 ~3 g  |8 i3 P
    用的创龙TL138-A3开发板,裸机,例程是EDMA3。2 s' g- N7 v9 a$ i2 |/ o; z" C; E# k
1 s) K: k8 A3 r1 q; o
    例程中可以看到数据的传输,但是貌似没有找到在哪里配置的SRC和DST。
! u. u- ^. |  g* l5 E7 H: m0 @) Q0 V0 c
8 ~6 [* t. r* I4 }6 v7 h    看了工程编译后的map文件,发现编译完后就已经分配好了,如下:- E+ ^8 a3 q+ y' S6 U
.bss       0    c000c500    000002ec     UNINITIALIZED
* u9 a7 M$ |3 p                  c000c500    00000194     system_config.lib : interrupt.obj (.bss:fnRAMVectors)- k6 J" |/ p2 F
                  c000c694    00000080     (.common:cb_Fxn)
4 @6 c5 K* D+ b, ~. j  F# u                  c000c714    00000064     (.common:_dstBuff)
* B# Q6 E6 a% ^                  c000c778    00000064     (.common:_srcBuff)
- t2 f- L. Y( \+ g! z4 w8 w; \                  c000c7dc    00000004     (.common:dstBuff)
# h8 m( Y) T5 x' K& M% ?                  c000c7e0    00000004     (.common:irqRaised)) t  L5 {, l) Q( ]  K9 p0 A
                  c000c7e4    00000004     (.common:regionId)
; w$ ]# }+ g" x5 U: X- U2 n4 N                  c000c7e8    00000004     (.common:srcBuff)
% N6 _* q8 k3 B" N. W" x$ Q9 P
0 n+ R( x! y* t7 k/ P
: `  b* r( O# G3 l     如果我想人为的设置源地址和目的地址应该怎么做?
  i% [! Y6 @3 O( r# m  
7 }% I0 u' e( n' s    .init:{system_config.lib<init.obj> (.text)} > 0xC0000000- k2 X: B/ |; B9 E" X0 E8 A
    .bss                >  DDR2   RUN_START(bss_start), RUN_END(bss_end)
8 h8 m" A9 l2 ]6 m0 M# ^; l    .far                        >  DDR2: a; a' @( ^6 a

) u4 ~+ z  l, w& @3 F4 D    还有一个问题就是想请问一下cmd文件中.bss里在DDR2后面的RUN_START(bss_start), RUN_END(bss_end)是什么意思?   
5 N- V; P, _) o( b' D# V/ L! L/ h2 B7 {# M
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
推荐
发表于 2016-9-29 09:42:18 | 只看该作者
默认的自动分配地址,你想人为的设置源地址和目的地址,在定义时指定地址就好
9 m$ ~% L8 D0 P; k$ ovolatile char   _srcBuff[MAX_BUFFER_SIZE];$ H2 V% P! G% M0 q2 k; P7 L: Z& ?& B
volatile char   _dstBuff[MAX_BUFFER_SIZE];. q# t1 D7 t8 C2 H7 ~0 t  O& i" ~

, E/ x0 `8 `. h0 I# x( M/ Xvolatile char *srcBuff;) W/ a! n: S, h' Y6 X# P' E( C# v0 I+ |
volatile 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,* \" M# ?$ v/ L- b
地址在定义时如何具体指定? 4 G2 p6 L: p& \! x2 u
我这样写是错的。。。" R1 L! E3 M0 p7 A; X
volatile char   _srcBuff[MAX_BUFFER_SIZE] = (char*)0xc000c878;( c. T, {4 I. t* g5 D& Y4 C

. p; {/ ?( P5 _: {! A: `
回复 支持 反对

使用道具 举报

0

主题

10

帖子

58

积分

QQ游客

积分
58
5#
发表于 2016-9-29 14:18:16 | 只看该作者
如果数组地址的话,可以用#pragma DATA_SECTION来指定 ,放到CMD中定义的字段中。
3 g7 o' z" o& n如果是配置EDMA的目的和原地址 在EMDA 参数RAM里面配置。
回复 支持 反对

使用道具 举报

3

主题

8

帖子

164

积分

注册会员

Rank: 2

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

RE: liyulin


; U% D# F- _( A( R3 p+ ?( [- D/ P
$ B9 D$ X- l5 s4 ?/ O. C' L4 ]     嗯,我刚才试了一下,用#pragma DATA_SECTION,然后在cmd文件中来指定数组地址是可以实现的。
) S3 R  C; g: E+ C9 c3 y4 N   # J5 E5 M3 N" ^/ F
     然而我真正的意图是你说的第二种,我看了参数RAM的配置,程序如下:
7 e$ |; j  [' |% m- J        
% C  |5 r: s; R& G4 R* M% P5 z5 m        // 给参数 RAM 赋值
7 q% q3 d5 f/ ~( q* D! w8 Z        paramSet.srcAddr    = (unsigned int)(srcBuff);$ G' K5 t6 n: P( x6 M  X5 C+ \
        paramSet.destAddr   = (unsigned int)(dstBuff);
) ?6 A3 u% q+ l6 a    * K, U& O8 ?* y, h  `) O
        paramSet.aCnt = (unsigned short)acnt;" \" D' m" I8 R) y2 u
        paramSet.bCnt = (unsigned short)bcnt;
3 G- g1 j7 j, Y  l        paramSet.cCnt = (unsigned short)ccnt;7 y, @. ]- }2 R1 Z
6 i5 @$ l( D% a7 I) R

0 L6 F. o9 ?% {  o5 I/ x; z        // 设置 SRC / DES 索引
8 d! W  o: A  E' ]        paramSet.srcBIdx = (short)acnt;% B& E; r; J) u/ u3 \
        paramSet.destBIdx = (short)acnt;
: h/ d  j8 W# ~/ \4 q) o; y4 E; L, A( k8 T, ]
  2 V; }3 O$ k: y
      还没想好在这里怎么人为的把地址给srcAddr和destAddr9 y& j7 h; z, o
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-9 19:27 , Processed in 0.040011 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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