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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

3

主题

8

帖子

164

积分

注册会员

Rank: 2

积分
164
跳转到指定楼层
楼主
发表于 2016-9-27 08:47:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
- T* U$ F$ O# Q& Q4 E; t
    用的创龙TL138-A3开发板,裸机,例程是EDMA3。
7 Q- Y. |; w4 \# h7 o" o  ^1 T  V; @& K* P& `
    例程中可以看到数据的传输,但是貌似没有找到在哪里配置的SRC和DST。 / F( n+ p5 f& ^; {

* k6 T3 y/ {3 `1 V! Y. C    看了工程编译后的map文件,发现编译完后就已经分配好了,如下:) G/ E* Y- f* i+ T6 [
.bss       0    c000c500    000002ec     UNINITIALIZED. p+ @" Y! L" Z7 a  Y# x: J
                  c000c500    00000194     system_config.lib : interrupt.obj (.bss:fnRAMVectors)# U5 a3 O7 u7 X- R1 U$ @( B/ B
                  c000c694    00000080     (.common:cb_Fxn)* z, @- T" z) Q3 f( y+ U
                  c000c714    00000064     (.common:_dstBuff)
  h) t! V$ ^1 t( P                  c000c778    00000064     (.common:_srcBuff)
# z7 i8 ?. \- H" C3 L                  c000c7dc    00000004     (.common:dstBuff)% W! s# P& o7 w, G
                  c000c7e0    00000004     (.common:irqRaised)  v" F& s  w1 y" m  F
                  c000c7e4    00000004     (.common:regionId)
2 N) W! [% c. v                  c000c7e8    00000004     (.common:srcBuff)! T+ c3 e, l8 e2 c  L8 A

6 u+ R4 L; l. g0 l( d% N) U
4 ~. m+ x& G  T; c0 n! `& T, `" [     如果我想人为的设置源地址和目的地址应该怎么做?
" ]5 g6 f4 W  K; i  M/ g  ( a9 L" E& M# w
    .init:{system_config.lib<init.obj> (.text)} > 0xC0000000, C( c6 ?1 P9 W! K/ ]/ B6 p
    .bss                >  DDR2   RUN_START(bss_start), RUN_END(bss_end)
2 }8 H/ W( b5 P# W    .far                        >  DDR22 f7 X$ m" k3 U/ p* e# |

7 _2 p1 U8 h- [& F! ?/ P    还有一个问题就是想请问一下cmd文件中.bss里在DDR2后面的RUN_START(bss_start), RUN_END(bss_end)是什么意思?   " N( u7 C1 L% V6 j/ }; B
: o+ N; p% j" T- I$ y8 f% I( Q" `
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
推荐
发表于 2016-9-29 09:42:18 | 只看该作者
默认的自动分配地址,你想人为的设置源地址和目的地址,在定义时指定地址就好
" y% z3 J1 F2 k: h# z. Uvolatile char   _srcBuff[MAX_BUFFER_SIZE];
  A+ N# p" D& J, @volatile char   _dstBuff[MAX_BUFFER_SIZE];. E) P& f8 N  b" G% P; z* z

1 m& i9 i/ n3 g0 u6 ^" |volatile char *srcBuff;2 s& v; l  e* \) e( ]" A" B
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,
3 P+ S8 Z0 b! D4 U地址在定义时如何具体指定? 0 s+ z" H, J; T. @( T
我这样写是错的。。。4 A( r) b, }: X3 p3 V
volatile char   _srcBuff[MAX_BUFFER_SIZE] = (char*)0xc000c878;% \3 R9 P( E# _4 V
- y1 ^# B. Q1 F
回复 支持 反对

使用道具 举报

0

主题

10

帖子

58

积分

QQ游客

积分
58
5#
发表于 2016-9-29 14:18:16 | 只看该作者
如果数组地址的话,可以用#pragma DATA_SECTION来指定 ,放到CMD中定义的字段中。4 J3 O1 A7 P& s2 j. E/ P
如果是配置EDMA的目的和原地址 在EMDA 参数RAM里面配置。
回复 支持 反对

使用道具 举报

3

主题

8

帖子

164

积分

注册会员

Rank: 2

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

RE: liyulin


) o/ ^  U/ R/ L. y% E% P; y0 x, V# X" s7 R/ d$ Y, b. u
     嗯,我刚才试了一下,用#pragma DATA_SECTION,然后在cmd文件中来指定数组地址是可以实现的。7 @5 y% }; w' k( H6 @$ @
   ' @! I, W. L! P- ]) P3 t+ D* V
     然而我真正的意图是你说的第二种,我看了参数RAM的配置,程序如下:- F2 M0 H% r8 n0 C, }$ w3 N
        ; g  P7 M* F, I# W, S* U) |
        // 给参数 RAM 赋值
9 O8 Z4 I- X* H0 [; \* y        paramSet.srcAddr    = (unsigned int)(srcBuff);
/ n4 B5 S' r, N" s) V9 C        paramSet.destAddr   = (unsigned int)(dstBuff);
" d. v* N7 h4 x6 z9 ^8 y" S$ `; R    ; Z) F7 ?7 k) S; v
        paramSet.aCnt = (unsigned short)acnt;
- j7 t. j9 N% g9 f! x" P        paramSet.bCnt = (unsigned short)bcnt;
# @; _7 W. a# q% ?        paramSet.cCnt = (unsigned short)ccnt;
0 g1 [& N, H0 a1 c3 ^. n
6 P7 @' l, v7 k2 h+ t4 u2 w; h
( w3 k' a5 }- F$ {
        // 设置 SRC / DES 索引" ?' m: ~4 s2 K, j' G# n  V2 w
        paramSet.srcBIdx = (short)acnt;2 ^+ S3 g5 g8 j' V
        paramSet.destBIdx = (short)acnt;6 u1 f2 d8 Y- s4 C, s0 G
! e5 u; R" W  e$ y; P7 V" e
  
! a0 u# x# _- E) W" M( |; Q      还没想好在这里怎么人为的把地址给srcAddr和destAddr+ K& M- a$ [0 A9 o, n( c- f
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-15 00:15 , Processed in 0.039358 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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