EDMA3中源地址和目的地址设置问题 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

3

主题

8

帖子

164

积分

注册会员

Rank: 2

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

) L# ?, G) R1 J- g3 _    用的创龙TL138-A3开发板,裸机,例程是EDMA3。
$ u$ h2 J' V. p) ]' b
/ W6 d+ F: _, d; o    例程中可以看到数据的传输,但是貌似没有找到在哪里配置的SRC和DST。
( L( v8 z3 k3 g, Z% b2 u  f9 A! k7 G3 j
    看了工程编译后的map文件,发现编译完后就已经分配好了,如下:
/ B5 k5 ?. }) E" s& T) {! n" A2 O; H.bss       0    c000c500    000002ec     UNINITIALIZED) v/ Q* G! v9 W8 @6 |
                  c000c500    00000194     system_config.lib : interrupt.obj (.bss:fnRAMVectors)! Q" v. `1 {$ S  K' X
                  c000c694    00000080     (.common:cb_Fxn)/ a8 J( B* d- u# e3 I
                  c000c714    00000064     (.common:_dstBuff)
, h7 b3 ^8 I  ~1 J! A                  c000c778    00000064     (.common:_srcBuff); `6 N9 v; O  s  V+ p
                  c000c7dc    00000004     (.common:dstBuff). d6 v- ]  P" F7 s1 ]
                  c000c7e0    00000004     (.common:irqRaised)
' z% \: x1 Y. w( m/ g5 E5 d' J                  c000c7e4    00000004     (.common:regionId); J9 ]( z/ J+ X. R5 K2 Q5 F- w( Q( D
                  c000c7e8    00000004     (.common:srcBuff)) S6 S' {: Y0 ?, P" n

4 {# H0 F7 z9 `( W; j9 {
/ i3 p( ^* V/ i% [4 d: ^     如果我想人为的设置源地址和目的地址应该怎么做?
- f$ ?) [5 C" l0 Z  
/ e5 F+ w- M) V: ]- B: s    .init:{system_config.lib<init.obj> (.text)} > 0xC0000000
& H3 ~7 g3 V- g8 c1 T    .bss                >  DDR2   RUN_START(bss_start), RUN_END(bss_end)' `8 H+ p0 b0 k4 {' r3 W
    .far                        >  DDR24 `* A6 \, O' h0 n/ S" w4 J% H

& Q' t+ ~* J" d% u6 s: [9 n/ l    还有一个问题就是想请问一下cmd文件中.bss里在DDR2后面的RUN_START(bss_start), RUN_END(bss_end)是什么意思?   
3 b, T, t7 `+ N% j
' a7 ]+ i+ n% O0 u1 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
推荐
发表于 2016-9-29 09:42:18 | 只看该作者
默认的自动分配地址,你想人为的设置源地址和目的地址,在定义时指定地址就好5 y9 y2 ~# j2 z
volatile char   _srcBuff[MAX_BUFFER_SIZE];8 x3 l" I$ Z; I  D
volatile char   _dstBuff[MAX_BUFFER_SIZE];
+ i3 w* i5 O/ c5 m+ I" [
) S) H. M- H: L; Z: wvolatile char *srcBuff;
, n8 Z0 ?: `# f) r) e7 k4 `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,5 q9 a" x5 n% M) S% b# B* @- H# A
地址在定义时如何具体指定? * Z6 u- x! X  e- M( `
我这样写是错的。。。
; {$ V& d0 q6 h. r5 O$ N& Avolatile char   _srcBuff[MAX_BUFFER_SIZE] = (char*)0xc000c878;
9 C+ O! d3 h0 l) A' l
: y! \" O% \) h6 r+ d) ^8 r  @
回复 支持 反对

使用道具 举报

0

主题

10

帖子

58

积分

QQ游客

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

使用道具 举报

3

主题

8

帖子

164

积分

注册会员

Rank: 2

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

RE: liyulin


5 A1 \) @7 r9 s. P) w. y! C6 `9 E; m! `# \; w% p
     嗯,我刚才试了一下,用#pragma DATA_SECTION,然后在cmd文件中来指定数组地址是可以实现的。  d' B& ~0 {3 T! r( ^! O+ S0 }
   ; i0 \7 R  \0 F) m
     然而我真正的意图是你说的第二种,我看了参数RAM的配置,程序如下:
, U* l$ D' q+ x1 ^$ \2 s  Z- t6 t        
/ S. C, @/ H( E7 ~6 _! O7 t3 a        // 给参数 RAM 赋值' T9 j4 t3 {' q" }- I
        paramSet.srcAddr    = (unsigned int)(srcBuff);. G! O# r  Z9 D8 `* m1 c. C$ U
        paramSet.destAddr   = (unsigned int)(dstBuff);
# Z# `# S  M2 `8 X: k) Q# O: M   
9 A- V( G1 t0 v/ H1 N! t        paramSet.aCnt = (unsigned short)acnt;
4 f' e- B+ W2 H/ f1 [        paramSet.bCnt = (unsigned short)bcnt;
+ A( t5 M- f7 s( Y        paramSet.cCnt = (unsigned short)ccnt;
7 F/ Y  i, `7 z% R2 F0 A* k# L0 p
7 ]9 [3 ^' Q  A; ]

/ k* V% |- I4 \7 d3 n# T8 u7 h        // 设置 SRC / DES 索引6 c0 q. \. b( ]% V  b3 a+ y
        paramSet.srcBIdx = (short)acnt;
' v+ y' G8 M! g. y% f9 ~        paramSet.destBIdx = (short)acnt;/ d" L: Q& Z3 P; w2 ^/ r! q0 X

. A0 b5 C4 n  ~9 j- N+ [3 i3 u  % g; v* K7 Z1 ~' H
      还没想好在这里怎么人为的把地址给srcAddr和destAddr% {4 ~0 h2 M- t( `
回复 支持 反对

使用道具 举报

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

本版积分规则

点击跳转“创龙科技服务通”

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

GMT+8, 2026-1-31 08:14 , Processed in 0.041679 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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