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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

3

主题

8

帖子

164

积分

注册会员

Rank: 2

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

$ l" _, w* u0 u) r) \- f6 J    用的创龙TL138-A3开发板,裸机,例程是EDMA3。
6 C% h6 ~3 K, E' A; z6 N3 ~7 a8 b- x' ?" B
    例程中可以看到数据的传输,但是貌似没有找到在哪里配置的SRC和DST。
8 c1 d7 r: B! X5 B( o
2 w0 ]+ {" `! S( H9 B  p1 p3 L6 c/ e    看了工程编译后的map文件,发现编译完后就已经分配好了,如下:
( ?- J: }' Z% V( Y' \( _.bss       0    c000c500    000002ec     UNINITIALIZED9 D. R% H. O. [+ U! m# G2 K3 o5 U6 v
                  c000c500    00000194     system_config.lib : interrupt.obj (.bss:fnRAMVectors)1 f, j4 ?& P0 J8 h
                  c000c694    00000080     (.common:cb_Fxn)1 z$ U7 c4 h( e# {) V+ y1 O0 D- u2 M! X
                  c000c714    00000064     (.common:_dstBuff)
4 a# w+ |3 i( `6 M+ K# E5 I                  c000c778    00000064     (.common:_srcBuff)
& c% X0 m! @) ~4 `                  c000c7dc    00000004     (.common:dstBuff). j0 Y& P/ P- R' |. g- `
                  c000c7e0    00000004     (.common:irqRaised)
3 z6 w+ b, u; B$ J  S( h0 F                  c000c7e4    00000004     (.common:regionId)9 v1 e1 j3 `/ g. y* Z" U: b
                  c000c7e8    00000004     (.common:srcBuff)
/ P+ Y; Y! A# w, y, @" s! {7 N  m$ D& e; j9 K, l

; K! ^4 l# ^8 C; Z+ h0 C# ]1 U2 D     如果我想人为的设置源地址和目的地址应该怎么做?
! Q1 `* ~: h0 \% S) O3 d  8 G: k! {6 c- R1 d
    .init:{system_config.lib<init.obj> (.text)} > 0xC0000000
' D, p6 o) ?8 A" ~% N) F    .bss                >  DDR2   RUN_START(bss_start), RUN_END(bss_end)
5 A0 ~4 ~  T) Q    .far                        >  DDR2( M6 h3 l% T- H7 m
" {" x! `. \! p1 O: Z5 c
    还有一个问题就是想请问一下cmd文件中.bss里在DDR2后面的RUN_START(bss_start), RUN_END(bss_end)是什么意思?   
, `0 F# t! I& j% X( J. l& a0 e3 \! _) a  ^1 R! c( G0 Q
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
推荐
发表于 2016-9-29 09:42:18 | 只看该作者
默认的自动分配地址,你想人为的设置源地址和目的地址,在定义时指定地址就好
( R0 \" ~, L4 M, s4 _7 z" a7 dvolatile char   _srcBuff[MAX_BUFFER_SIZE];
/ `/ _# f$ f3 D, A. ?volatile char   _dstBuff[MAX_BUFFER_SIZE];
% g. |# O* N( a9 |  ]8 Q
$ I& N! Z2 @7 P" o: H( ?volatile char *srcBuff;
6 a6 s8 P* D! h+ u& l, W3 k( I" r3 hvolatile 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,/ X8 w) r. a2 o, a" ?6 q
地址在定义时如何具体指定?
6 C  A5 R0 a. ]3 g7 Y我这样写是错的。。。  Q( I+ R) @, D& t: i5 [8 T
volatile char   _srcBuff[MAX_BUFFER_SIZE] = (char*)0xc000c878;
  l, y  b2 A, d& L, N* B
# Z7 J3 T9 I7 p5 V8 D
回复 支持 反对

使用道具 举报

0

主题

10

帖子

58

积分

QQ游客

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

使用道具 举报

3

主题

8

帖子

164

积分

注册会员

Rank: 2

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

RE: liyulin

6 ^; [( _# d! D# S5 @

* E; u  Y6 w) X! k8 u     嗯,我刚才试了一下,用#pragma DATA_SECTION,然后在cmd文件中来指定数组地址是可以实现的。
2 D; {, e. D$ j# B0 ^5 |0 \   
+ `+ B$ J1 L1 o     然而我真正的意图是你说的第二种,我看了参数RAM的配置,程序如下:
4 p# @# @: l7 ]' m* y2 q4 c; b        5 u6 M  \, ]7 [
        // 给参数 RAM 赋值
' f  o( ^* Y5 \3 Z3 H  G! r- L        paramSet.srcAddr    = (unsigned int)(srcBuff);; P4 Z5 b" [9 d8 k( c* ]& V" U
        paramSet.destAddr   = (unsigned int)(dstBuff);! T% G& y' \" R- E# B0 @9 j
    0 L2 P+ w8 i* ?: t
        paramSet.aCnt = (unsigned short)acnt;
& h& H0 E% ~; i! y        paramSet.bCnt = (unsigned short)bcnt;
- @9 i( m& j1 E! e9 W        paramSet.cCnt = (unsigned short)ccnt;
7 k1 P$ N1 @- v# U( G) P! v1 j: B+ m/ A% \; L5 j
/ }2 p  G* j; S1 K
        // 设置 SRC / DES 索引8 K1 f0 |2 f* L) I. i% E' Y4 s
        paramSet.srcBIdx = (short)acnt;# f, o" ?1 w7 c/ k1 r0 x& _) ]4 Q
        paramSet.destBIdx = (short)acnt;& l' M8 T- i" m: G# R
; ^; E4 R# A9 b/ B
  5 ~) V' M7 h7 i) n, z
      还没想好在这里怎么人为的把地址给srcAddr和destAddr
) b0 U; H# ~$ w# F8 J* P4 _
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-16 15:00 , Processed in 0.040439 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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