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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

3

主题

8

帖子

164

积分

注册会员

Rank: 2

积分
164
跳转到指定楼层
楼主
发表于 2016-9-27 08:47:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
) q7 g, `+ D) f( c' N, ]
    用的创龙TL138-A3开发板,裸机,例程是EDMA3。! g+ Q7 s8 D9 N6 @" @" w
" |6 S$ @& @% J% H% w2 `
    例程中可以看到数据的传输,但是貌似没有找到在哪里配置的SRC和DST。
! d' m$ i& L. C% B( S2 n7 u0 ?# E3 W, b) e
    看了工程编译后的map文件,发现编译完后就已经分配好了,如下:
( D# K# ^% ]" p.bss       0    c000c500    000002ec     UNINITIALIZED9 E2 u4 P6 |/ G/ q+ W  b
                  c000c500    00000194     system_config.lib : interrupt.obj (.bss:fnRAMVectors)
- x$ s) m. j' C9 E( M" l                  c000c694    00000080     (.common:cb_Fxn)7 r6 \/ f& c7 k; M3 B' b" L; I
                  c000c714    00000064     (.common:_dstBuff)8 w" }; g8 ~. U5 u  m; y7 R$ u$ u
                  c000c778    00000064     (.common:_srcBuff)" B7 f" v& l2 o/ X
                  c000c7dc    00000004     (.common:dstBuff)
( u2 P$ v1 u) |- ^- B                  c000c7e0    00000004     (.common:irqRaised)7 _3 t( F$ ]0 w0 Y
                  c000c7e4    00000004     (.common:regionId)( i$ f0 C# k, j+ P
                  c000c7e8    00000004     (.common:srcBuff)) @- V0 i8 `  R  s. z+ B+ _
3 L5 t0 w# g2 K9 ?7 ^
' d' r7 w# L. @: @3 v: P* k
     如果我想人为的设置源地址和目的地址应该怎么做?
$ C! T2 l2 L6 G+ p5 d9 p  0 \3 G2 R8 C- X, e" A1 P/ H5 F
    .init:{system_config.lib<init.obj> (.text)} > 0xC0000000- s: W0 r9 v- q* f$ U& S5 {0 z6 o
    .bss                >  DDR2   RUN_START(bss_start), RUN_END(bss_end)
, O1 `' f# V- ?    .far                        >  DDR2
  C, K  w) @& E4 q( \0 a8 r
8 s$ m8 R& l/ D3 w' B! j    还有一个问题就是想请问一下cmd文件中.bss里在DDR2后面的RUN_START(bss_start), RUN_END(bss_end)是什么意思?   
% s" z9 I8 i5 M0 z+ M
) r% E( A0 F9 b& [
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
推荐
发表于 2016-9-29 09:42:18 | 只看该作者
默认的自动分配地址,你想人为的设置源地址和目的地址,在定义时指定地址就好
7 j- r/ `( D0 O/ W- cvolatile char   _srcBuff[MAX_BUFFER_SIZE];0 _0 E  m/ |" N1 u- \1 a, t* E4 `
volatile char   _dstBuff[MAX_BUFFER_SIZE];
- r# f- l# i" U/ O9 M
% c. m2 r  D( O: b! u/ U: G. tvolatile char *srcBuff;
! g- M$ o  A  jvolatile 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,
- D! m& H! _& f) W( v9 ]/ k地址在定义时如何具体指定?
) A2 L& [+ H  V* f; J. f我这样写是错的。。。
" r  ~. w( @9 D6 X3 f) Y- Zvolatile char   _srcBuff[MAX_BUFFER_SIZE] = (char*)0xc000c878;" x9 X8 _. @- `( p* @

" D% @, i- e/ W% d6 s3 t
回复 支持 反对

使用道具 举报

0

主题

10

帖子

58

积分

QQ游客

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

使用道具 举报

3

主题

8

帖子

164

积分

注册会员

Rank: 2

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

RE: liyulin


) C4 x& ]& d& a! q
8 y: V* y" p9 e/ X5 ?) J/ }4 \     嗯,我刚才试了一下,用#pragma DATA_SECTION,然后在cmd文件中来指定数组地址是可以实现的。0 t6 R; Z4 ]1 Q8 B0 r1 \- g
   / O* Y1 {' F% d! H; }- f% Y
     然而我真正的意图是你说的第二种,我看了参数RAM的配置,程序如下:! r' U  j% q; K6 C  K3 x4 F) M' q
        $ @/ m! V9 w5 q5 n+ _
        // 给参数 RAM 赋值& }" t. u( H  ~9 w2 Y
        paramSet.srcAddr    = (unsigned int)(srcBuff);! N6 s, _0 J& R5 y
        paramSet.destAddr   = (unsigned int)(dstBuff);
! `" D( _$ R! N  i* s& h/ o   
4 O) y2 b; y6 w5 O: j        paramSet.aCnt = (unsigned short)acnt;
1 `% b$ I0 d0 p; A: |/ z) t! X9 k        paramSet.bCnt = (unsigned short)bcnt;6 d" ~8 f5 C% m% `( ]
        paramSet.cCnt = (unsigned short)ccnt;/ I/ h( C( ?3 `7 u# E% w2 H/ n: u
' U! u9 I# @' m& }
( |  g1 X4 f; c8 S( c7 a' {; b+ d
        // 设置 SRC / DES 索引
9 s: H1 o! S/ q) t! d        paramSet.srcBIdx = (short)acnt;8 m% f, D' Y7 [- G9 |! Q) J
        paramSet.destBIdx = (short)acnt;
' f) N0 u, ^+ s8 v: k2 J
$ F% C; X0 `4 E8 u0 ]! }, |( @8 t  ; Q, D" T% z/ E6 ~* d3 w3 L* T
      还没想好在这里怎么人为的把地址给srcAddr和destAddr/ c# P* A5 f8 Z/ ]$ i
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-16 14:40 , Processed in 0.039435 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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