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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

3

主题

8

帖子

164

积分

注册会员

Rank: 2

积分
164
跳转到指定楼层
楼主
发表于 2016-9-27 08:47:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
, s: q/ G0 u( h& e! p/ |/ y
    用的创龙TL138-A3开发板,裸机,例程是EDMA3。( i* `2 f9 z' i4 e  s5 {

% H+ c" Z; R, n8 Q    例程中可以看到数据的传输,但是貌似没有找到在哪里配置的SRC和DST。 ; x7 ~$ m' h0 e0 {
/ e1 c$ B$ n' Y2 ?3 l* j) |
    看了工程编译后的map文件,发现编译完后就已经分配好了,如下:
  \& e% U3 u8 D3 a4 H- d.bss       0    c000c500    000002ec     UNINITIALIZED9 i$ k% q1 v/ t4 h# v- C
                  c000c500    00000194     system_config.lib : interrupt.obj (.bss:fnRAMVectors)
% l2 X* E- h: U/ [  H9 B8 y                  c000c694    00000080     (.common:cb_Fxn)
$ z2 Z7 _$ k: ]- A4 B' C& O7 }1 `0 ^                  c000c714    00000064     (.common:_dstBuff)# A! y# k2 R+ u9 y0 d
                  c000c778    00000064     (.common:_srcBuff)' S) F  G. Z' [3 x( x+ ]
                  c000c7dc    00000004     (.common:dstBuff)2 i) h# ^" o  h
                  c000c7e0    00000004     (.common:irqRaised)
$ B- a/ h4 L4 r$ F, h5 _7 }! O                  c000c7e4    00000004     (.common:regionId)
5 [6 c+ W6 r' g$ J! h2 t" O3 \$ q                  c000c7e8    00000004     (.common:srcBuff)
1 I0 C: k& T* a# _" C4 j9 I1 b0 G! c0 E* K
+ K1 e+ b# P: R: a# |) A
     如果我想人为的设置源地址和目的地址应该怎么做?
' L. Y  X* g4 q: F, q9 d  : v/ t* z  y7 b  p# _
    .init:{system_config.lib<init.obj> (.text)} > 0xC0000000! A4 S) G- R3 [2 q# G4 b
    .bss                >  DDR2   RUN_START(bss_start), RUN_END(bss_end): s6 s$ F) x+ A
    .far                        >  DDR2
) U  z4 a9 J/ f  B7 y" S0 Q( a4 D4 t9 }# y2 ^4 Q2 j2 p
    还有一个问题就是想请问一下cmd文件中.bss里在DDR2后面的RUN_START(bss_start), RUN_END(bss_end)是什么意思?   6 R' s. d1 o, N4 T% y

0 d- W5 g1 `6 w" l
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
推荐
发表于 2016-9-29 09:42:18 | 只看该作者
默认的自动分配地址,你想人为的设置源地址和目的地址,在定义时指定地址就好
* }$ A) P6 {3 ^% H# avolatile char   _srcBuff[MAX_BUFFER_SIZE];) ]; k% S4 P0 O4 B, P
volatile char   _dstBuff[MAX_BUFFER_SIZE];$ ^# p3 r$ b! |

  V3 w8 P0 G% |( A8 \/ X0 _- ?volatile char *srcBuff;$ ~  Y% c% I9 p) z' ]! H1 n) V$ F9 `
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,
& F; `% c4 I' b3 o* ]. E' |地址在定义时如何具体指定?
7 D: h6 i9 q, _) S/ J* f我这样写是错的。。。
2 b1 }/ d. d" J! K7 \  p5 [2 w5 q' Xvolatile char   _srcBuff[MAX_BUFFER_SIZE] = (char*)0xc000c878;9 @( c! _/ O0 T7 D" J
$ |$ j" V  o" \" @+ ^
回复 支持 反对

使用道具 举报

0

主题

10

帖子

58

积分

QQ游客

积分
58
5#
发表于 2016-9-29 14:18:16 | 只看该作者
如果数组地址的话,可以用#pragma DATA_SECTION来指定 ,放到CMD中定义的字段中。/ |: K" X6 z1 j$ U- m) c5 ~+ Y6 e8 T% \
如果是配置EDMA的目的和原地址 在EMDA 参数RAM里面配置。
回复 支持 反对

使用道具 举报

3

主题

8

帖子

164

积分

注册会员

Rank: 2

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

RE: liyulin


5 [1 J, f; ]$ H7 W: b, K
7 c6 d# g, L7 k6 d# b+ k7 j3 X2 y     嗯,我刚才试了一下,用#pragma DATA_SECTION,然后在cmd文件中来指定数组地址是可以实现的。
; M& I, A7 H( t2 W) s* f   0 l- f# b6 q$ K$ E* ]
     然而我真正的意图是你说的第二种,我看了参数RAM的配置,程序如下:0 w" u) m# C+ Z
        
, b  E# }" E) J  S6 g" I8 r, E# L6 d        // 给参数 RAM 赋值: e$ V( y: p4 D) h7 c
        paramSet.srcAddr    = (unsigned int)(srcBuff);
8 h0 V% I, Q* v" v  U        paramSet.destAddr   = (unsigned int)(dstBuff);
* p0 D8 g9 N" D' r) |    : K0 h# ^% }) h# o/ E3 I! F
        paramSet.aCnt = (unsigned short)acnt;  @9 q) H6 s3 v" B& d; U
        paramSet.bCnt = (unsigned short)bcnt;1 h) c  P2 p4 T/ C7 I
        paramSet.cCnt = (unsigned short)ccnt;
: P' F1 x- i' a0 l; R6 T% q
8 |$ B- |& I* B0 `6 {& K

" l# [0 X: o: n1 P- X        // 设置 SRC / DES 索引7 T; {& ]& a1 U1 e$ q
        paramSet.srcBIdx = (short)acnt;# E. p5 [$ Z) r
        paramSet.destBIdx = (short)acnt;
! d8 ]1 r. A/ ^4 k3 s0 \$ |7 e- u$ ]' k0 @
  
, N9 U* o- Z! G      还没想好在这里怎么人为的把地址给srcAddr和destAddr7 t7 K/ P! |4 ]9 G' [/ x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 10:56 , Processed in 0.045150 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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