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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

3

主题

8

帖子

164

积分

注册会员

Rank: 2

积分
164
跳转到指定楼层
楼主
发表于 2016-9-27 08:47:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
* Y% f4 T' U) Y  C+ l* _4 f
    用的创龙TL138-A3开发板,裸机,例程是EDMA3。" k/ h* G& e0 v, ^
6 h% Y3 r3 I' Z) i1 X( Q* Y
    例程中可以看到数据的传输,但是貌似没有找到在哪里配置的SRC和DST。 - j, @5 m% e& N! e+ k
3 V6 @5 G2 a: n4 s
    看了工程编译后的map文件,发现编译完后就已经分配好了,如下:
9 \8 D0 ~. K7 ^.bss       0    c000c500    000002ec     UNINITIALIZED+ v) k" z- T" J
                  c000c500    00000194     system_config.lib : interrupt.obj (.bss:fnRAMVectors)
, |% r/ X  H- k                  c000c694    00000080     (.common:cb_Fxn)' A5 D! e, L8 j# x9 B3 w* R
                  c000c714    00000064     (.common:_dstBuff)
$ Q- E8 Z$ v5 }1 h7 n                  c000c778    00000064     (.common:_srcBuff)
3 j0 x1 N5 T2 [. q3 w2 T7 M                  c000c7dc    00000004     (.common:dstBuff)& E" j. \7 m" q# @( Z, l+ F: D
                  c000c7e0    00000004     (.common:irqRaised)8 Z' s( {, i" P
                  c000c7e4    00000004     (.common:regionId)
# l- l4 x/ l6 p2 k- D- U                  c000c7e8    00000004     (.common:srcBuff). V8 x2 y/ T; {8 J  a$ `# t/ D
, U+ q/ O/ M+ o# c' |3 e
0 r6 P3 i; O0 h+ V' D; H. m
     如果我想人为的设置源地址和目的地址应该怎么做?/ t$ U' k# Z# `- E
  
) l0 g! R% Z7 S7 S    .init:{system_config.lib<init.obj> (.text)} > 0xC0000000- O; r* K- ?5 m. u$ ?  D8 Y
    .bss                >  DDR2   RUN_START(bss_start), RUN_END(bss_end)4 e, A. Q! Z, A- n9 W1 b% O2 J
    .far                        >  DDR23 |3 m; e" E8 e% w2 T& C

* N; m  h, f% G* e$ K3 W    还有一个问题就是想请问一下cmd文件中.bss里在DDR2后面的RUN_START(bss_start), RUN_END(bss_end)是什么意思?   
& {' H" p" m' B9 r1 Z+ o' {# {" _3 Z; a
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
推荐
发表于 2016-9-29 09:42:18 | 只看该作者
默认的自动分配地址,你想人为的设置源地址和目的地址,在定义时指定地址就好7 V3 `" I# V; k
volatile char   _srcBuff[MAX_BUFFER_SIZE];# L* O6 `7 {( U3 V2 ?
volatile char   _dstBuff[MAX_BUFFER_SIZE];
4 S: }  W  X' |+ A3 M& A$ C' @. g3 w3 t. V. a5 o+ s* S* f- @
volatile char *srcBuff;
( F2 E/ `5 e2 ]/ Q' o! uvolatile 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,# b. X  d3 [* i' Y* G
地址在定义时如何具体指定?
8 h5 y3 @6 o# {6 N2 Z我这样写是错的。。。# k$ n) U; r) Y1 f4 E: x
volatile char   _srcBuff[MAX_BUFFER_SIZE] = (char*)0xc000c878;. ~. x% n& Y$ t6 h1 o) O

7 q( O! J2 N5 _$ H, d8 N
回复 支持 反对

使用道具 举报

0

主题

10

帖子

58

积分

QQ游客

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

使用道具 举报

3

主题

8

帖子

164

积分

注册会员

Rank: 2

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

RE: liyulin


9 Y5 {4 a" H( Z3 Z4 n7 y/ `5 E' y- [' Z! I$ I, o" n. l% n$ P1 A
     嗯,我刚才试了一下,用#pragma DATA_SECTION,然后在cmd文件中来指定数组地址是可以实现的。' q* a& I+ G0 @7 G, x
   
! R, g, `* |0 V: _, \/ y     然而我真正的意图是你说的第二种,我看了参数RAM的配置,程序如下:
' v0 \  I0 R9 L. [( E; p        
9 _0 t* `: P" H        // 给参数 RAM 赋值9 J, o) g7 T+ T8 r
        paramSet.srcAddr    = (unsigned int)(srcBuff);
) V% J/ |" P+ S$ C5 ^        paramSet.destAddr   = (unsigned int)(dstBuff);
3 Q; @0 N; V/ l3 t8 f, K0 S   
0 g( E% O) O# [1 z$ r        paramSet.aCnt = (unsigned short)acnt;
& k$ u1 I) \; O2 l+ I1 j* e        paramSet.bCnt = (unsigned short)bcnt;
) G* ^9 X) g* j& G) l7 A% }        paramSet.cCnt = (unsigned short)ccnt;
( T9 H. s& I' W5 i
- b' ]9 O5 s1 \# s$ v4 Y

& t( Q. y# p/ L3 L% W  ?" L' `/ _8 J2 r        // 设置 SRC / DES 索引
$ G! G: D0 ?9 a1 Y5 W        paramSet.srcBIdx = (short)acnt;; V, E( e! ?; a1 `& F
        paramSet.destBIdx = (short)acnt;; I' B3 k6 B9 P% T5 l) |* ?

% y+ c, M- V) A$ x$ C  [  $ j% A/ j. H+ L
      还没想好在这里怎么人为的把地址给srcAddr和destAddr2 L4 n* R7 ^2 N. P1 ]
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-6 06:27 , Processed in 0.044348 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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