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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

3

主题

8

帖子

164

积分

注册会员

Rank: 2

积分
164
跳转到指定楼层
楼主
发表于 2016-9-27 08:47:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

' a! |, G) |" m8 o6 o    用的创龙TL138-A3开发板,裸机,例程是EDMA3。, x7 D$ Q5 U, H0 p7 }# @, r! ]
  k7 N9 `+ a0 o
    例程中可以看到数据的传输,但是貌似没有找到在哪里配置的SRC和DST。
* x2 h0 h# Y9 t  Q+ D" k
3 C6 i) C" y" _9 c& q8 L- [    看了工程编译后的map文件,发现编译完后就已经分配好了,如下:
' Y" c( |. l  e% m: a3 F' X& ?3 [.bss       0    c000c500    000002ec     UNINITIALIZED
7 F- }# O* l% h# K5 g3 M% i                  c000c500    00000194     system_config.lib : interrupt.obj (.bss:fnRAMVectors)
2 f$ R. r7 f+ x0 q                  c000c694    00000080     (.common:cb_Fxn)
5 J) H) [" \# Y8 S* F! w) T                  c000c714    00000064     (.common:_dstBuff)1 ?$ |# y6 M* y" \5 u5 a
                  c000c778    00000064     (.common:_srcBuff)
5 G7 X; Z% H7 C" i: M  i# l                  c000c7dc    00000004     (.common:dstBuff)8 C# [6 h. p# ~7 V
                  c000c7e0    00000004     (.common:irqRaised)) L& ~1 S: y/ N" R& ~2 f( m+ c
                  c000c7e4    00000004     (.common:regionId)% D& k. W- x' ]4 x: F4 @$ \
                  c000c7e8    00000004     (.common:srcBuff)
9 v) j9 }$ `0 W# `4 e4 O
: W% m* u- Q. s# v9 n# ^) z! [1 s, X
     如果我想人为的设置源地址和目的地址应该怎么做?. S+ |! I8 N; V
  
7 H4 M- B4 M2 \: k* J$ B5 F  j% l    .init:{system_config.lib<init.obj> (.text)} > 0xC0000000
( q9 |) `8 M& j! j    .bss                >  DDR2   RUN_START(bss_start), RUN_END(bss_end)' C. t& G( u$ K' L$ c/ I
    .far                        >  DDR2
& Z: g& z$ M) ~  \4 G; ~: H6 N
' ^7 b3 z& D- L* C8 W    还有一个问题就是想请问一下cmd文件中.bss里在DDR2后面的RUN_START(bss_start), RUN_END(bss_end)是什么意思?   ( T( \! t, M9 s: }1 E! _+ s

) F$ K& t) f; s  f: r( k
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
推荐
发表于 2016-9-29 09:42:18 | 只看该作者
默认的自动分配地址,你想人为的设置源地址和目的地址,在定义时指定地址就好( M9 G# ]0 Y+ p3 M6 h* B1 x2 G
volatile char   _srcBuff[MAX_BUFFER_SIZE];
5 q3 @3 [/ P  q3 A2 p* N2 Bvolatile char   _dstBuff[MAX_BUFFER_SIZE];! y, R  T3 D3 e4 B* P* O

3 ~+ ]% V2 Z3 U1 P: s9 Zvolatile char *srcBuff;
2 r/ i5 R$ h' y! k' t& o1 yvolatile 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,
  W' \, n7 A1 l4 k. O5 ]地址在定义时如何具体指定?
6 v- {; W; O; a) _% x我这样写是错的。。。
0 t  b, W7 Z& J! g; k" X. [) Evolatile char   _srcBuff[MAX_BUFFER_SIZE] = (char*)0xc000c878;
3 [0 S* [9 C8 \
3 f* y! ^2 @& e: ?; D
回复 支持 反对

使用道具 举报

0

主题

10

帖子

58

积分

QQ游客

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

使用道具 举报

3

主题

8

帖子

164

积分

注册会员

Rank: 2

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

RE: liyulin

4 w" V6 @) i3 o0 z' |: Q

; L# a6 M6 Q+ T     嗯,我刚才试了一下,用#pragma DATA_SECTION,然后在cmd文件中来指定数组地址是可以实现的。
# n1 s! U$ Q7 t2 c. @   7 o% O( ~( K. Z% W0 y$ a2 w! X4 K
     然而我真正的意图是你说的第二种,我看了参数RAM的配置,程序如下:1 Z7 f' ^' U7 {  F* a1 L7 g
        
; o- r8 G1 o" g        // 给参数 RAM 赋值$ n8 b  A1 q. w
        paramSet.srcAddr    = (unsigned int)(srcBuff);
, e/ R0 V9 j/ |' L. [* ^0 a        paramSet.destAddr   = (unsigned int)(dstBuff);
1 K$ O/ W# L  p# N   
3 U8 E% }! P3 m. x( K  R) V# S6 H        paramSet.aCnt = (unsigned short)acnt;
. j. k( Y" |3 i1 F$ M% h# T* y$ l0 ~        paramSet.bCnt = (unsigned short)bcnt;
1 |7 q: _6 w1 B: c* v        paramSet.cCnt = (unsigned short)ccnt;! i5 q5 u2 [& e0 ~: h$ L* P

7 `+ R5 r$ X$ w+ _3 W: |( B; d
1 V+ s" c- \; \$ M7 n0 H. a1 ]
        // 设置 SRC / DES 索引
" K; n6 d% S( q0 K' T$ ]4 E2 E        paramSet.srcBIdx = (short)acnt;
* q; i8 C6 Y" `+ [4 o; R) m; z        paramSet.destBIdx = (short)acnt;# ]& m* k! J) u9 p1 N2 s
7 X, z6 n& _: i5 Q, n  A; m  U
  0 `- [. \' D, `# N
      还没想好在这里怎么人为的把地址给srcAddr和destAddr
. _- t9 `5 b& R5 `) B4 w
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-7 20:22 , Processed in 0.044183 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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