TI论坛
直播中

喻唯

7年用户 196经验值
私信 关注
[问答]

烧写到NandFlash后启动不能产生 完成传输中断的原因?

在OMAPL138  DSP核中实现EMIF数据传输 ,通过EDMA控制,因为传输的数据量比较大,我将连接和链接都用上了,通过GPIO Bank6 中断触发事件  EDMA通道控制器1的通道16,
使用仿真器仿真的时候,是可以正常传输数据,传输完成后,也可以产生完成传输中断。但是将烧写到NandFlash后启动,传输完成后,就不能产生 完成传输中断,
百度了以下,我现在的理解是影子区域的问题,在配置寄存器的时候默认配置到了全局区域通道寄存器,按理说应该配置影子区域通道寄存器,
不知道大家是否有遇到此类问题,如何操作影子区域,给下指点。谢谢了!

回帖(5)

李波

2020-8-13 10:38:59
如果用的全局寄存器,那为什么在仿真器下能参生中断呢,这说不通啊。
至于影子寄存器的操作,就是用影子寄存器地址来访问同样的一套EDMA寄存器而已。
                                                                         http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.
http://www.catb.org/~esr/faqs/smart-questions.html#goal
举报

喻唯

2020-8-13 10:58:58
引用: lifei639156 发表于 2020-8-13 19:55
如果用的全局寄存器,那为什么在仿真器下能参生中断呢,这说不通啊。
至于影子寄存器的操作,就是用影子寄存器地址来访问同样的一套EDMA寄存器而已。
                                                                         http://processors.wiki.ti.com/index.php/Main_Page

 我在初始化配置的时候,用的是starterware库中的函数,操作的只是全局区域通道寄存器寄存器,
是不是我在仿真的时候选择的就是C6748核,但是当烧写到NandFlash后,因为需要用ARM去启动DSP核(ARM核用的代码是您之前给的案例“OMAPL138DemoInterrupt”), 在产生中断时,被ARM核接收了。(自己的猜测)

还有,就是我在写影子寄存器时,只需要像写全局通道区域寄存器一样操作进行配置,是否还需要额外的 寄存器配置??
举报

李波

2020-8-13 11:10:34
引用: 60user182 发表于 2020-8-13 20:15
 我在初始化配置的时候,用的是starterware库中的函数,操作的只是全局区域通道寄存器寄存器,
是不是我在仿真的时候选择的就是C6748核,但是当烧写到NandFlash后,因为需要用ARM去启动DSP核(ARM核用的代码是您之前给的案例“OMAPL138DemoInterrupt”), 在产生中断时,被ARM核接收了。(自己的猜测)

  
                                                                           http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.
http://www.catb.org/~esr/faqs/smart-questions.html#goal
举报

喻唯

2020-8-13 11:20:41
引用: lifei639156 发表于 2020-8-13 20:27
<blockquote class="quote"/>  
<blockquote class="quote"/>                                                                           http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.

好的,之前我好想错了,在仿真的时候,没有进入 传输完成中断函数,之前之所以难能进入,是因为我们的开发板之前有
烧写原厂的bin 文件,可能有对EDMA的操作,索引我是可以进入 传输完成中断。
我先自己配置下 影子区域通道寄存器,看是否可以,配置成功,谢谢了
举报

更多回帖

发帖
×
20
完善资料,
赚取积分