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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

3

主题

8

帖子

164

积分

注册会员

Rank: 2

积分
164
跳转到指定楼层
楼主
发表于 2016-9-27 08:47:45 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

% D' o- Y- x6 b# }    用的创龙TL138-A3开发板,裸机,例程是EDMA3。' H' e3 v  \) j6 F! Y
7 i# ^! `+ z# E5 E5 X! L0 Q
    例程中可以看到数据的传输,但是貌似没有找到在哪里配置的SRC和DST。
; M8 l  l8 i$ H2 |9 g2 p2 O
- W3 J, }; S4 i. T3 B    看了工程编译后的map文件,发现编译完后就已经分配好了,如下:
  ~: a( @4 t- F9 N2 ?: [& ^4 i! p.bss       0    c000c500    000002ec     UNINITIALIZED
, z, `3 ?$ {2 X9 O2 g/ ?" l: w                  c000c500    00000194     system_config.lib : interrupt.obj (.bss:fnRAMVectors)
7 l  `( D6 }  d; x/ {4 v. g; y                  c000c694    00000080     (.common:cb_Fxn)
3 ]% F0 I* n' l" B2 Q7 U+ E                  c000c714    00000064     (.common:_dstBuff)7 A" U* \" ^& F! M* n
                  c000c778    00000064     (.common:_srcBuff)
3 F8 C6 }2 ?3 Q0 k) L                  c000c7dc    00000004     (.common:dstBuff)" w  q- E, i( s- j4 f) W- {9 C4 i
                  c000c7e0    00000004     (.common:irqRaised)
. d8 c3 V/ \* B$ `- c                  c000c7e4    00000004     (.common:regionId)
. C# r# n. {1 g' |                  c000c7e8    00000004     (.common:srcBuff)& ^1 o6 t7 P6 M) T! V
& s& D, W+ U2 j3 f, J

1 k1 Y' e# f0 K  }8 n5 c     如果我想人为的设置源地址和目的地址应该怎么做?
6 g: V1 F5 m& g3 R  ! Y& M, I& a% w4 Q; g! S+ Z
    .init:{system_config.lib<init.obj> (.text)} > 0xC0000000. q; X4 h! j9 Z0 j2 Y: }
    .bss                >  DDR2   RUN_START(bss_start), RUN_END(bss_end)
0 D" N" S+ j) S/ U0 h& V    .far                        >  DDR2, R! j  N- _# ?( s3 n1 R+ X2 R
, C, A. @) m' X2 `( L# O
    还有一个问题就是想请问一下cmd文件中.bss里在DDR2后面的RUN_START(bss_start), RUN_END(bss_end)是什么意思?   
/ a+ x1 h  r: E7 F3 y
( J6 D5 e. _2 m- P; Y0 j; K
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

3

主题

8

帖子

164

积分

注册会员

Rank: 2

积分
164
沙发
 楼主| 发表于 2016-9-29 13:48:08 | 显示全部楼层

RE: human

请问human,
5 X6 @" \$ c  p! U1 y地址在定义时如何具体指定?
  M  L9 w' r  _我这样写是错的。。。! @# X; m7 `9 e
volatile char   _srcBuff[MAX_BUFFER_SIZE] = (char*)0xc000c878;
! Y, F) \# q7 T! }
) a; A6 p( Y$ s$ V/ N' x/ Y
回复 支持 反对

使用道具 举报

3

主题

8

帖子

164

积分

注册会员

Rank: 2

积分
164
板凳
 楼主| 发表于 2016-9-29 16:11:53 | 显示全部楼层

RE: liyulin


: i, A: m4 e& T2 |- [% A, ~! b  y, c! I" u6 U
     嗯,我刚才试了一下,用#pragma DATA_SECTION,然后在cmd文件中来指定数组地址是可以实现的。
, g, E, I, F& c4 ~( R   
+ L$ w# p4 U( K% a( L& d  B     然而我真正的意图是你说的第二种,我看了参数RAM的配置,程序如下:- g/ d$ V" A& r* O9 [1 }
        
3 O/ C0 o1 z9 X& R4 J: S        // 给参数 RAM 赋值
# @0 g* y- Z9 F) [3 ^        paramSet.srcAddr    = (unsigned int)(srcBuff);
* }3 n7 M# D- v8 q8 e        paramSet.destAddr   = (unsigned int)(dstBuff);
9 l( Z" n; l8 q( {! V; D    4 k6 F% b& L$ o
        paramSet.aCnt = (unsigned short)acnt;* Q+ w0 W! b% n# D3 v. ^! `
        paramSet.bCnt = (unsigned short)bcnt;  @8 D) U0 ?. P
        paramSet.cCnt = (unsigned short)ccnt;' S; R  l" [1 c' S

+ x! O, ~5 z) c* \1 _
9 N% r. G5 s4 k3 p1 W1 F
        // 设置 SRC / DES 索引9 |/ S% V0 X' J+ [9 m
        paramSet.srcBIdx = (short)acnt;/ A! y' [3 M0 ~$ ?4 l9 q
        paramSet.destBIdx = (short)acnt;, m9 l3 ]8 K; e  f& L, \1 W6 _. p* n
  x% X6 G8 h, b, q
  
& w) Y$ q4 j# Q; ?      还没想好在这里怎么人为的把地址给srcAddr和destAddr
2 C$ }2 X: O$ l4 m% I& E
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-7 02:46 , Processed in 0.042195 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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