嵌入式开发者社区

标题: omapl138 双核后DSP端的EMIF不能通信了?? [打印本页]

作者: 小石    时间: 2017-5-25 18:22
标题: omapl138 双核后DSP端的EMIF不能通信了??
大家不知道有遇到过没有,对于omapl138 ,当只使用DSP单核时,使用EMIF模块和FPGA通信是可以的,但是当我
* J1 K7 q9 f( a/ y* Q将ARM核开启使用linux后,在linux中启动dsp程序,EMIF模块就不能通信了
* M, y" f# P' v0 s; z$ b,是不是 ARM核已经开启了EMIF模块用于NandFlash通信,所以在DSP开启EMIF冲突了,不知还有别的原因吗?0 V0 d- Q$ @  V% ?  r* c6 S
谢谢!. R% ~) L6 ~* G6 h; p; B# ?) |% g

作者: human    时间: 2017-5-25 21:26
有片选区分,如果你的程序有数据写到nand就可能用冲突
作者: 小石    时间: 2017-5-26 17:45
human 发表于 2017-5-25 21:26# Y0 N. t* \' t, v
有片选区分,如果你的程序有数据写到nand就可能用冲突
2 q% j# _+ X8 L1 p  K% j
我没有对NandFlash操作,我就是有DSP单核的时候是可以但是当双核都启动时,就不可以了,不知道创龙在开发 案例 syslink/ad7606_dsp案例的时候,有没有做其他更改(和在单核时的案例StarterWare\Application\EMIF_AD7606初始化有没有不同之处)
作者: 小石    时间: 2017-6-1 18:56
解决了,代码是对的
+ J7 [- [6 _. F& w& b8 I1 i+ Z* B和DSP单核的区别就是EMA_A_RW引脚(EMIFA异步读写控制,读期间为高,写期间为低电平)输出的问题:
+ {8 n3 v( x- `8 s4 p下图是DSP单核运行时的在FPGA端获取的时序图:
* f5 ^2 \6 c$ j3 t8 Z( H' q4 |4 O2 d, v9 Z- l" ?
具体对应的引脚时EMA_CS4,EMA_WE,  EMA_OE , EMA_A_RW[attach]2392[/attach]
+ q/ a  A- M; B* V3 t7 a6 C; t# b' d) n3 b! o
下图是 ARM启动linux后,DSP端运行EMIF后的时序图:8 k. [2 |; @9 c# z# C
[attach]2393[/attach]/ J2 n' \$ H' u7 P1 L# T# g5 |$ O
可以看到 比较为EMA_A_RW(EMIFA异步读写控制,读期间为高,写期间为低电平),没有变化。
$ p  E% U" _& ^- a$ I+ k9 x8 @因为FPGA端有当EMA_A_RW为低电平时是写数据,所以我向FPGA传递数据,一直是高电平,所以FPGA就一直获取不到数据,
' o  p: k+ u1 Z最后的办法就是让FPGA工程师,把这个条件去掉,就可以了,直接用EMA_WE引脚的变化来判断写。这样就OK了。, N1 w5 F3 ^$ d" M

作者: 小石    时间: 2017-6-1 18:59
是上贴的: j1 C- I0 {% u. F" |
DSP单核运行时的在FPGA端获取的时序图:
2 X# ^5 a& B. ~- u2 W4 I[attach]2394[/attach]
/ |2 z+ w. g* `, [5 s. R+ H




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4