EDMA3控制器 影子区域问题 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5984|回复: 4
打印 上一主题 下一主题

EDMA3控制器 影子区域问题

[复制链接]
回帖奖励 4 金钱 回复本帖可获得 1 金钱奖励! 每人限 1 次

39

主题

95

帖子

389

积分

中级会员

Rank: 3Rank: 3

积分
389
跳转到指定楼层
楼主
发表于 2017-3-6 10:34:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在OMAPL138  DSP核中实现EMIF数据传输 ,通过EDMA控制,因为传输的数据量比较大,我将连接和链接都用上了,通过GPIO Bank6 中断触发事件  EDMA通道控制器1的通道16,% m$ u5 W9 m: a" F3 q+ z3 X
使用仿真器仿真的时候,是可以正常传输数据,但是将烧写到NandFlash后启动,传输完成后,就不能产生 完成传输中断,
9 {. B4 }, c+ g3 t8 K! D% \: r百度了以下,我现在的理解是影子区域的问题,在配置寄存器的时候默认配置到了全局区域通道寄存器,按理说应该配置影子区域通道寄存器,. ?7 l5 V  u  C0 ~3 ^
不知道大家是否有遇到此类问题,如何操作影子区域,给下指点。谢谢了!
5 N$ S+ p5 `5 X! k  M
( Z" V9 Z9 x3 u6 X  ~2 M6 t; J/ B8 `1 L9 l+ S6 L; i
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

39

主题

95

帖子

389

积分

中级会员

Rank: 3Rank: 3

积分
389
沙发
 楼主| 发表于 2017-3-6 18:09:00 | 只看该作者
纠正下上面的描述:使用仿真器也是进不了 EDMA3传输完成中断。
回复 支持 反对

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
板凳
发表于 2017-3-6 23:31:18 | 只看该作者

回帖奖励 +1 金钱

请参考EMIF_AD7606_200K_EDMA例程,这个例程就是GPIO触发EDMA通过EMIFA读取数据的。
回复 支持 反对

使用道具 举报

39

主题

95

帖子

389

积分

中级会员

Rank: 3Rank: 3

积分
389
地板
 楼主| 发表于 2017-3-10 10:07:09 | 只看该作者
谢谢 @Lewis
3 z4 v" u4 B( H5 U+ B我还想请教下,在EMIF_AD7606_200K_EDMA例程当中,: O" }; E6 f* l1 o7 _5 F3 e4 m
                        (unsigned int)(1<<2 | 1<<20 | \* Q' I8 U/ c5 g9 D) z
                         (EDMA3_CHA_GPIO_BNKINT5 << EDMA3CC_OPT_TCC_SHIFT)),// Opt
$ N' u3 ]- F' y* ~' \( i                        (unsigned int)SOC_EMIFA_CS2_ADDR,                                        // 源地址/ M* ^; n- {3 ]! Q& Y6 x$ N# ^3 ^& j
                        (unsigned short)(MAX_ACOUNT),                                                // aCnt% z, U# C8 ], Z1 u% h- R) U' S
                        (unsigned short)(MAX_BCOUNT),                                                // bCnt' }$ k3 P& V5 z2 b+ G" z6 B
                        (unsigned int) rcv_buffer1,                                                // 目标地址
; _( L4 G% @+ h6 G/ n5 \6 [                        (short) (MAX_ACOUNT),                                                                // 源 bIdx2 B& f% s- E# f" U. l
                        (short)(MAX_ACOUNT * MAX_CCOUNT),                                        // 目标 bIdx
( N& H: i6 T+ A. b5 S6 ]% b) P/ b                        (unsigned short)(32u * 40u),                                                // 链接地址 这里只是用了低12位: {' ]* h4 `6 h4 }# y3 |0 t4 |7 b3 _& u
                        (unsigned short)(MAX_BCOUNT),                                                // bCnt 重装值
  S# |; Z6 X' V- h- |& \6 F                        (short)(MAX_ACOUNT * MAX_BCOUNT),                                        // 源 cIdx0 `3 p+ u5 M/ p
                        (short)(MAX_ACOUNT),                                                                // 目标 cIdx
) }1 d1 r0 h! I                        (unsigned short)MAX_CCOUNT                                                        // cCnt
; G+ W& h# K6 @; b* C6 m  ?; D( F8 ]( }
而在数据手册中,6 U4 H6 Z! A5 m
* I" |' S: |/ B) Y
数据手册将Link 设置为了4800h,  也就是 0x4000 | (64u * 32u),; ?: z: E- A2 I8 r
请问下,是不是,对于EDMA3控制器,只是获取低12位的值呢?
/ z' p; k6 H5 M: z2 ^

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
5#
发表于 2017-3-20 16:25:49 | 只看该作者
link是param的偏移地址,并不是指用到低12bit
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-17 08:16 , Processed in 0.053010 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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