EDMA3中源地址和目的地址设置问题 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

3

主题

8

帖子

164

积分

注册会员

Rank: 2

积分
164
跳转到指定楼层
楼主
发表于 2016-9-27 08:47:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
" `/ O, c( U' i- p5 A8 z% d3 D
    用的创龙TL138-A3开发板,裸机,例程是EDMA3。
; B2 j4 _8 n; j3 |/ t  G  d, f6 C
  `7 d- d' ]4 q    例程中可以看到数据的传输,但是貌似没有找到在哪里配置的SRC和DST。 . K" s% U7 X9 Y8 g* j& _
. n' F0 A! @# q' I
    看了工程编译后的map文件,发现编译完后就已经分配好了,如下:
2 {$ E: ~1 @. n' k& R, ]+ \.bss       0    c000c500    000002ec     UNINITIALIZED
) }5 s( q/ x2 c" B# |0 c                  c000c500    00000194     system_config.lib : interrupt.obj (.bss:fnRAMVectors): \4 B9 J+ r2 M( y/ R# J
                  c000c694    00000080     (.common:cb_Fxn)
/ I8 X% b) W8 x; Z* Z/ X  V                  c000c714    00000064     (.common:_dstBuff)& `" {# r! {' x! ^* k, F% r
                  c000c778    00000064     (.common:_srcBuff)( z$ i4 n7 s( W% l
                  c000c7dc    00000004     (.common:dstBuff)0 c  s3 z# W7 {9 K; H8 v3 w
                  c000c7e0    00000004     (.common:irqRaised)1 u2 c  g5 ~6 i2 p2 I
                  c000c7e4    00000004     (.common:regionId)# V; L6 _- o- A6 x! J' R
                  c000c7e8    00000004     (.common:srcBuff)
, ^* X" ]' T$ q7 F0 e. P
. N8 o/ g( M7 t- Y' h
( D4 ~! e8 F8 ]- p% q* T     如果我想人为的设置源地址和目的地址应该怎么做?
6 n, w; z# E, g  7 |2 ]; f4 n6 |4 H1 |- |$ F
    .init:{system_config.lib<init.obj> (.text)} > 0xC0000000
/ C) x6 o( W' u4 D  e. U    .bss                >  DDR2   RUN_START(bss_start), RUN_END(bss_end)
) ^" [) n( L) Z6 n# g+ g: y6 J    .far                        >  DDR22 D: v4 G7 p. I1 @8 u
  R2 x* N9 O5 w# V3 I  f* V3 e
    还有一个问题就是想请问一下cmd文件中.bss里在DDR2后面的RUN_START(bss_start), RUN_END(bss_end)是什么意思?   ; Z  G8 o9 R3 ]" \$ Q1 O( W
2 |( n! R# _/ i! x& `0 r" s- i
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
推荐
发表于 2016-9-29 09:42:18 | 只看该作者
默认的自动分配地址,你想人为的设置源地址和目的地址,在定义时指定地址就好
1 _; D9 [, P. n6 J: [6 |volatile char   _srcBuff[MAX_BUFFER_SIZE];: K3 D3 @4 g+ u
volatile char   _dstBuff[MAX_BUFFER_SIZE];: X* b# P/ ?& N% C4 o( J
' A* E2 R3 A$ _" ?4 S6 d2 c4 o
volatile char *srcBuff;
; O) X; }+ |3 ^5 h& Fvolatile 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,
( m- i7 ]" A. x4 ?/ U* m1 d地址在定义时如何具体指定?
) ]6 s" r4 _/ O, A  `我这样写是错的。。。; }6 @5 [3 M0 y4 l4 q
volatile char   _srcBuff[MAX_BUFFER_SIZE] = (char*)0xc000c878;, S# q, C" b5 ?! A* _5 J. z
! M+ z# S8 E& x: `
回复 支持 反对

使用道具 举报

0

主题

10

帖子

58

积分

QQ游客

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

使用道具 举报

3

主题

8

帖子

164

积分

注册会员

Rank: 2

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

RE: liyulin

0 g' R0 f% S$ w! h; Y

7 V3 b7 ^/ s/ B3 l     嗯,我刚才试了一下,用#pragma DATA_SECTION,然后在cmd文件中来指定数组地址是可以实现的。* @. y0 W2 t4 O& C8 m1 t
   
: m  o* O1 `  Z) t$ d( h5 v     然而我真正的意图是你说的第二种,我看了参数RAM的配置,程序如下:
. w+ j3 }9 }1 M5 h        
6 c& I) J4 d/ j* o  A        // 给参数 RAM 赋值
8 g6 e; C% Q" x; h& k        paramSet.srcAddr    = (unsigned int)(srcBuff);& H' ~" p+ n2 K0 d
        paramSet.destAddr   = (unsigned int)(dstBuff);
4 N5 Y' M$ ?* ^& Q1 s   
- L% N1 E; Q1 \* m; |7 |        paramSet.aCnt = (unsigned short)acnt;0 L9 B! ]1 n0 b+ d: n2 U
        paramSet.bCnt = (unsigned short)bcnt;; a! T% ~  j' C9 ]6 F7 k+ j& M
        paramSet.cCnt = (unsigned short)ccnt;
" }# T/ j8 U% R. Y! s7 q: B* Z1 C0 h: K8 D

- N6 X) v1 Z4 [7 U; R        // 设置 SRC / DES 索引; m6 @9 r$ r: b# \3 W9 W
        paramSet.srcBIdx = (short)acnt;
9 v+ T+ m3 q5 g) Z( B# m* R        paramSet.destBIdx = (short)acnt;* f; \  K' z! }% o8 f3 g
) |) ?& Z/ W4 q7 e
  
3 Q& I- G5 D; B+ o% A) u      还没想好在这里怎么人为的把地址给srcAddr和destAddr& O+ [3 _* V2 k
回复 支持 反对

使用道具 举报

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

本版积分规则

点击跳转“创龙科技服务通”

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

GMT+8, 2026-3-17 09:52 , Processed in 0.045412 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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