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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

3

主题

8

帖子

164

积分

注册会员

Rank: 2

积分
164
跳转到指定楼层
楼主
发表于 2016-9-27 08:47:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
8 t0 ^# h1 X* `1 P
    用的创龙TL138-A3开发板,裸机,例程是EDMA3。  |, F  j0 p7 V0 g! R$ O3 B: [
- m) C3 L4 Z  `. H2 b8 s6 v
    例程中可以看到数据的传输,但是貌似没有找到在哪里配置的SRC和DST。
! @" r2 R/ ?$ b2 H2 P
% b0 r- R! Q6 ]$ G" C, n    看了工程编译后的map文件,发现编译完后就已经分配好了,如下:
) d4 M0 n/ ~  A" m' R4 k$ N3 L( {.bss       0    c000c500    000002ec     UNINITIALIZED+ g. `$ E: i/ e! {% e# ]
                  c000c500    00000194     system_config.lib : interrupt.obj (.bss:fnRAMVectors)2 @( A. M/ \) z  ]5 p
                  c000c694    00000080     (.common:cb_Fxn)
; |% Q+ r9 z; @* p0 W/ s                  c000c714    00000064     (.common:_dstBuff)
; ~( ~4 Y2 b3 Z3 u2 N, z                  c000c778    00000064     (.common:_srcBuff)7 F  p% W2 A. C3 s: I
                  c000c7dc    00000004     (.common:dstBuff)" G& y4 b/ z# ?/ N8 b3 G$ p3 q
                  c000c7e0    00000004     (.common:irqRaised)
. v  k5 ^7 _: q* ]' H) \0 |" T                  c000c7e4    00000004     (.common:regionId): }* `- E$ q, u- C: `
                  c000c7e8    00000004     (.common:srcBuff)0 o/ I8 |$ _9 E  r
0 N7 _' [4 v" e; [5 M) A& z! C

, R* k" N  p0 n" }     如果我想人为的设置源地址和目的地址应该怎么做?
/ h$ S5 {# g( q, X# I  ( `$ w: ]% A+ V  P2 r
    .init:{system_config.lib<init.obj> (.text)} > 0xC0000000
; l- {0 X! W  A7 G& {    .bss                >  DDR2   RUN_START(bss_start), RUN_END(bss_end)* z1 `+ y4 T6 o
    .far                        >  DDR27 L1 G( X! j1 c" {
7 w* c4 O/ H( _* v4 I
    还有一个问题就是想请问一下cmd文件中.bss里在DDR2后面的RUN_START(bss_start), RUN_END(bss_end)是什么意思?   9 I& U8 M2 [; T* }5 Q/ w" T
$ T2 B9 \( c% o1 M
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
推荐
发表于 2016-9-29 09:42:18 | 只看该作者
默认的自动分配地址,你想人为的设置源地址和目的地址,在定义时指定地址就好; y3 p) Q4 k( R
volatile char   _srcBuff[MAX_BUFFER_SIZE];/ u1 D# W/ K7 z, I& r# ^
volatile char   _dstBuff[MAX_BUFFER_SIZE];4 N# \; `* x( \" j
: n. b1 n+ U/ _& l' m, j; N
volatile char *srcBuff;
( S( Y9 R" G. k' b9 Evolatile 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,
  Y; w( T0 X5 Z地址在定义时如何具体指定?
# K4 C& e3 v& x6 I8 O. s1 |我这样写是错的。。。
1 ]% L1 b4 E$ w+ Y  N: vvolatile char   _srcBuff[MAX_BUFFER_SIZE] = (char*)0xc000c878;
) W: H) E  H; B1 c2 }. U% M
8 _/ Y7 X1 k9 b  [
回复 支持 反对

使用道具 举报

0

主题

10

帖子

58

积分

QQ游客

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

使用道具 举报

3

主题

8

帖子

164

积分

注册会员

Rank: 2

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

RE: liyulin


" @* r- N0 k7 s- H& W' I- ]9 B' x" Z$ o7 u
     嗯,我刚才试了一下,用#pragma DATA_SECTION,然后在cmd文件中来指定数组地址是可以实现的。8 q0 @8 i, e) ~# U$ B& C
   / {, T( i1 g; Z3 o  D  }8 A
     然而我真正的意图是你说的第二种,我看了参数RAM的配置,程序如下:& L, J: V; f' y: R0 ^7 y/ W
        8 u/ ^  x  S6 f  Q  v3 _* G  j
        // 给参数 RAM 赋值# h0 @0 [" G3 m9 b( V
        paramSet.srcAddr    = (unsigned int)(srcBuff);
$ k9 b9 {1 U  q* o2 j        paramSet.destAddr   = (unsigned int)(dstBuff);
) x0 h# E: z* X6 V# \" y2 L   
) k3 z2 ?" m6 H: d0 h" v1 S7 m        paramSet.aCnt = (unsigned short)acnt;
: e  f# Z* W0 T, X4 I0 H; f6 ]3 @/ P        paramSet.bCnt = (unsigned short)bcnt;1 _& z' S- W  A" W' Q
        paramSet.cCnt = (unsigned short)ccnt;
$ R! k, o6 l6 ]* X) r( _
" i7 _/ ~$ z/ n  Q5 g& z

- s6 r% b! J  n9 j( i5 T7 R        // 设置 SRC / DES 索引
; i  b& p- K9 n6 q% T        paramSet.srcBIdx = (short)acnt;. h% X9 m9 z8 r( Q" ?
        paramSet.destBIdx = (short)acnt;( e* p: K! o2 Z1 d. C( D8 W, @

* `8 T+ m9 B3 V9 z3 t: n  0 k: d, y6 A$ h9 s3 j+ J
      还没想好在这里怎么人为的把地址给srcAddr和destAddr3 Y9 r8 o. w" Q
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-4 05:28 , Processed in 0.055234 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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