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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

3

主题

8

帖子

164

积分

注册会员

Rank: 2

积分
164
跳转到指定楼层
楼主
发表于 2016-9-27 08:47:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
# Z& }9 b, z; J- c" C, k9 d3 F
    用的创龙TL138-A3开发板,裸机,例程是EDMA3。  q8 u  a7 N' p/ C8 f  ^2 ^
6 q4 s  J' [% T  W3 N6 b3 k
    例程中可以看到数据的传输,但是貌似没有找到在哪里配置的SRC和DST。 , L. W: G4 S: r* ~, V

% n( _& ^  C$ w; d& t$ O7 G! K    看了工程编译后的map文件,发现编译完后就已经分配好了,如下:
' K1 f6 F+ t3 u" X  x! A.bss       0    c000c500    000002ec     UNINITIALIZED
: l2 d$ [2 A. u5 P* B( B$ X                  c000c500    00000194     system_config.lib : interrupt.obj (.bss:fnRAMVectors)
5 U$ H9 \  L& c- ^& D: `* J  a                  c000c694    00000080     (.common:cb_Fxn)+ W. B* V" @! O8 F$ p
                  c000c714    00000064     (.common:_dstBuff)0 n/ i$ Z3 c; i% C& i
                  c000c778    00000064     (.common:_srcBuff)
. g* Y0 P4 P$ G# y% t: }                  c000c7dc    00000004     (.common:dstBuff)
3 u: D. Q8 k% B9 z6 K) ?4 f5 R                  c000c7e0    00000004     (.common:irqRaised)+ x$ c- ^+ R0 ]+ a* X  D7 _
                  c000c7e4    00000004     (.common:regionId)
: f- q2 p+ M7 J# [. Y                  c000c7e8    00000004     (.common:srcBuff)
/ k' }' k: I9 F& W7 L! [1 a% k9 k1 A4 i% T" j+ Q0 t3 \# R7 {/ X
6 n7 s0 Z  Q. u- _. T# X5 H' X
     如果我想人为的设置源地址和目的地址应该怎么做?& p# r$ c  p0 I
  
" Q4 w  ~; _* b7 H) i    .init:{system_config.lib<init.obj> (.text)} > 0xC00000005 h& r$ L; U' \0 `. A/ D! A
    .bss                >  DDR2   RUN_START(bss_start), RUN_END(bss_end): n0 M# n0 c/ ~, A
    .far                        >  DDR2# Y7 p4 N  M7 w' \8 ~' E

% l" V* d0 Y% k9 B7 ]# f. D    还有一个问题就是想请问一下cmd文件中.bss里在DDR2后面的RUN_START(bss_start), RUN_END(bss_end)是什么意思?   - C$ A" I. x- m1 Z5 J

8 I5 G! d+ ]) q8 a, N2 p' y
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
推荐
发表于 2016-9-29 09:42:18 | 只看该作者
默认的自动分配地址,你想人为的设置源地址和目的地址,在定义时指定地址就好
/ Y& O4 K) `# O( x' i5 G9 svolatile char   _srcBuff[MAX_BUFFER_SIZE];2 H* H$ x0 {( i9 F2 e1 A8 j# I+ q
volatile char   _dstBuff[MAX_BUFFER_SIZE];
5 Q5 h8 ~6 @( b! y# V! ~8 m
7 W5 l- B- }& f) Bvolatile char *srcBuff;: Q9 z, `% O: G% r
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,; [4 g* F) H; W: ~5 B! [
地址在定义时如何具体指定? 3 T/ j+ P7 ?, ?! R, w
我这样写是错的。。。
% l, B7 w* k: A1 v" jvolatile char   _srcBuff[MAX_BUFFER_SIZE] = (char*)0xc000c878;2 I/ h/ d8 }+ j* d+ c

  R4 [# W) @" g8 F9 f! O, ]% c
回复 支持 反对

使用道具 举报

0

主题

10

帖子

58

积分

QQ游客

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

使用道具 举报

3

主题

8

帖子

164

积分

注册会员

Rank: 2

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

RE: liyulin

+ S) w; z3 p6 z3 ]

+ |4 Z/ W0 I5 n/ n6 `     嗯,我刚才试了一下,用#pragma DATA_SECTION,然后在cmd文件中来指定数组地址是可以实现的。4 m5 A) S2 [$ V+ K, z
   % f0 h+ b/ F1 t; s0 q4 c8 s# B
     然而我真正的意图是你说的第二种,我看了参数RAM的配置,程序如下:* E/ W' ^2 ~- i: b* ^. J
        ! K6 J4 K( o$ S- i9 N
        // 给参数 RAM 赋值; s3 K' M  j. u, p  p
        paramSet.srcAddr    = (unsigned int)(srcBuff);
2 ~! o; p" Y! [6 s& f# i  n. g. c        paramSet.destAddr   = (unsigned int)(dstBuff);9 Q  b( K) J( b6 g# ~
   
: S7 e, k( h7 h( g" ?; {8 x- R        paramSet.aCnt = (unsigned short)acnt;
4 x, z! l9 }1 S9 p        paramSet.bCnt = (unsigned short)bcnt;3 f& S; x) E( L+ M; E1 Q8 c
        paramSet.cCnt = (unsigned short)ccnt;, [# H8 E+ h9 r+ r% Y

' z4 x8 {  }5 |+ L) s4 P' K6 ~' |
" i# r+ p) o: R
        // 设置 SRC / DES 索引7 N& L6 H! q5 |
        paramSet.srcBIdx = (short)acnt;7 @8 V2 @: c/ z- l
        paramSet.destBIdx = (short)acnt;
) M3 S, B% E7 ?7 q- G) f% O7 J8 p% q) `5 H3 P3 H
  / N5 \% ^2 p1 ]. m. i# \$ k% z
      还没想好在这里怎么人为的把地址给srcAddr和destAddr) c8 d7 j/ M: v3 P- N
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 08:16 , Processed in 0.040206 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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