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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

3

主题

8

帖子

164

积分

注册会员

Rank: 2

积分
164
跳转到指定楼层
楼主
发表于 2016-9-27 08:47:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  {; e4 y  X  ~( [
    用的创龙TL138-A3开发板,裸机,例程是EDMA3。
- ^3 F9 J# F6 ?+ |7 A8 ?
+ w& E0 ?4 z% p" D2 j0 t' y    例程中可以看到数据的传输,但是貌似没有找到在哪里配置的SRC和DST。 ; J7 J9 a: K) Z+ {0 p
8 \: H1 c, e8 _! P7 ]5 \
    看了工程编译后的map文件,发现编译完后就已经分配好了,如下:
3 I, [7 Q* s$ A! A+ l) R+ V.bss       0    c000c500    000002ec     UNINITIALIZED
. H. K/ i! s0 k; |8 [& g3 x                  c000c500    00000194     system_config.lib : interrupt.obj (.bss:fnRAMVectors)$ ^9 _" v! V+ a6 T
                  c000c694    00000080     (.common:cb_Fxn)) d8 X3 P- u/ x4 i; N) F' t
                  c000c714    00000064     (.common:_dstBuff)
" @0 o0 D( F. `4 ?- a" [                  c000c778    00000064     (.common:_srcBuff)
7 `# `- B1 C# p  a. \. l                  c000c7dc    00000004     (.common:dstBuff)
9 d" o- k, `8 `2 B8 m7 e! d                  c000c7e0    00000004     (.common:irqRaised)
; p$ ^' v0 o! T6 }1 T                  c000c7e4    00000004     (.common:regionId)) a; x6 f( \6 A% |$ }
                  c000c7e8    00000004     (.common:srcBuff)% `5 g- _6 T9 n6 l" f7 o: H
3 [+ _6 t2 {5 t( \$ I) u5 {3 n4 I/ v, ~, f. w

" k$ m( |* d0 _. V5 n% j     如果我想人为的设置源地址和目的地址应该怎么做?2 V) J) c7 u5 V( S
  ( w4 ]  g9 w0 S% }# ?
    .init:{system_config.lib<init.obj> (.text)} > 0xC0000000
- l( \7 W# [! X, K4 [    .bss                >  DDR2   RUN_START(bss_start), RUN_END(bss_end). d0 P" Z- k& ~  x) x
    .far                        >  DDR2( ~" i. T, c) `2 G

; m6 |0 K& a% v    还有一个问题就是想请问一下cmd文件中.bss里在DDR2后面的RUN_START(bss_start), RUN_END(bss_end)是什么意思?   
+ O, {' A8 L0 j8 V) x. e7 L( r$ z2 P; r# k* T9 O7 P# B: F
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
推荐
发表于 2016-9-29 09:42:18 | 只看该作者
默认的自动分配地址,你想人为的设置源地址和目的地址,在定义时指定地址就好
3 E! C$ i, A6 L. B! d9 M. gvolatile char   _srcBuff[MAX_BUFFER_SIZE];
1 }# c. @2 `8 Avolatile char   _dstBuff[MAX_BUFFER_SIZE];
% F4 u% @" D) G4 U1 h7 H" l) g! y& N5 u
volatile char *srcBuff;2 ?6 i+ y0 d: f2 E8 O
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,
+ d2 s# g# Z# J6 ~2 `6 J( I7 s地址在定义时如何具体指定? ! I( t3 Z' U: G( G: O6 U- [
我这样写是错的。。。
$ }9 [2 N% T% Z( }6 {0 Jvolatile char   _srcBuff[MAX_BUFFER_SIZE] = (char*)0xc000c878;
* Y- n7 Q8 E" u8 B
1 c+ G# ]: N# X* x  r" Z! v
回复 支持 反对

使用道具 举报

0

主题

10

帖子

58

积分

QQ游客

积分
58
5#
发表于 2016-9-29 14:18:16 | 只看该作者
如果数组地址的话,可以用#pragma DATA_SECTION来指定 ,放到CMD中定义的字段中。7 T) K9 ]. J. U" l, W' h
如果是配置EDMA的目的和原地址 在EMDA 参数RAM里面配置。
回复 支持 反对

使用道具 举报

3

主题

8

帖子

164

积分

注册会员

Rank: 2

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

RE: liyulin


; ?+ D9 l  ]; q5 S! I( y; [5 s4 [( B- x2 u6 z) s. _9 K( {
     嗯,我刚才试了一下,用#pragma DATA_SECTION,然后在cmd文件中来指定数组地址是可以实现的。
. q8 T6 M& G: \. O& l+ O& S2 i   % c! P, e, o- c0 k  G% N
     然而我真正的意图是你说的第二种,我看了参数RAM的配置,程序如下:; N' q& {  d8 Y" z$ T% C
        , d6 ~4 T: z6 p
        // 给参数 RAM 赋值
# A' Z  e: [* r9 m. g* e( e/ d, B        paramSet.srcAddr    = (unsigned int)(srcBuff);; f" G" @0 P9 A
        paramSet.destAddr   = (unsigned int)(dstBuff);. t- D1 b8 D1 M0 Z0 p
    ' g% Z! C6 O7 f- Q* h
        paramSet.aCnt = (unsigned short)acnt;0 t3 q+ s7 j1 Y2 E9 E! V7 O& E
        paramSet.bCnt = (unsigned short)bcnt;
, \% ~6 Z' O( m0 t0 x+ i        paramSet.cCnt = (unsigned short)ccnt;; T# M' Y* j2 B  K: z3 r' h/ t6 P
' K6 p" w& y* R$ v$ Y* g1 E! p
0 ^( c8 D5 j4 u! Q: r
        // 设置 SRC / DES 索引
$ |1 h) z1 r* v& d        paramSet.srcBIdx = (short)acnt;
3 H4 k4 J$ t5 _; }+ [0 f        paramSet.destBIdx = (short)acnt;
* ^- ]" @8 P9 m- F" {/ [3 X$ k* W/ [
. n, [1 q9 p) p  1 N8 J- G! b; n' ], f
      还没想好在这里怎么人为的把地址给srcAddr和destAddr
/ F  @$ k8 W# O$ F& M* L9 u) H$ |
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-7 04:48 , Processed in 0.046444 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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