|
端午节快乐,请教个问题,ARM端启动linux,DSP端sysbios,我在DSP端初始化了EMIF,使用的是CS4,初始化参考了创龙的DSP单核时初始化的过程,单核下是可以使用CS4进行读写数据的,但是当双核启动的时候,就不能启动了读写数据了,然后我就用创龙的syslink案例ad7606_dsp,我用创龙的开发板和创龙的ad7606开发板进行AD模数转换,是可以的,那么我什么都没有改,只是将ad7606_dsp中的EMFI初始化部分,将CS2改为CS4,包括以下内容:static void ad7606_emifa_init(ad7606 *ad) {
6 }& q- Q+ e ^" j N9 P /* Power on the EMIFA */) D5 J; h* ~+ i* R
PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,( V( H( Q' z5 e |
PSC_MDCTL_NEXT_ENABLE);
: @6 U9 S# l2 {8 e. u6 @4 P2 ^. t8 u/ y. M% n, E3 {9 Q
/*selects the EMIFA pins for use*/5 ?: R6 t6 M# E+ a# P0 x+ w
EMIFAPinMuxSetup();
/ Q7 t6 ]6 {8 B( {% z& x% u$ X3 D% q, k+ ]
/*set the buswidth of async device connected. 16bit*/% v; A* i9 |. a& E: R$ K, Q; q
EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,3 ~% v R) Z9 A8 F
EMIFA_DATA_BUSWITTH_16BIT);- \: P- O! D; ]5 r; v6 j& Z
& w0 d+ y& N+ R% G /*selects the aync interface opmode. :Normal Mode*/
2 D+ E. I, {$ |. X0 Q# }3 K1 O EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
$ m: |$ @0 H( g, w6 s EMIFA_ASYNC_INTERFACE_NORMAL_MODE);1 V z2 t, s$ P$ `
0 s0 {" C- D6 u/ X+ N. V
/*Extended Wait disable.*// V! S7 A% \: ]) a5 `4 }" }
EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
+ ?# z4 _4 E. R* I `% @ EMIFA_EXTENDED_WAIT_DISABLE);
$ V" T- X! h9 b5 L/ a3 p
7 T- C1 H% }$ J/ v /*configures the wait timing for the device interfaced on CS2
- v3 h% N9 c. ?5 K! k6 U) N7 e * W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/, d' h. m7 i4 l& `% c
EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,1 k: Y2 Q# p9 i# l7 O# l
EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));
; w% w, c, t& a9 L) k% v6 Z ]& \2 U4 ]0 O
}
3 A# Q7 u" K" J6 z1 H# D还有cs4引脚的复用:3 {: C9 B- I9 G+ c1 s1 M2 k$ _
SYSCFG_PINMUX7_PINMUX7_11_8
9 V6 I) s$ ?2 o- s- S& ]4 d# j/ s5 y: j# x7 x9 n3 x, ~
最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?, V5 g4 x; ]- B6 ]0 Z+ G0 l1 \8 ]7 K# S
谢谢!
) q: ?* M9 s! d" c$ l- @' ?% a( r9 T; y4 |% d7 T o* t
4 i1 Y2 B$ Y2 n. K, e |
|