|
|
端午节快乐,请教个问题,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) {4 r i+ e, H2 c' ?" M
/* Power on the EMIFA */
; {8 S0 T% D* p% E PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,) P( q/ A) Y! V1 B
PSC_MDCTL_NEXT_ENABLE);( f0 G" ~: b+ ^! f# X
$ k" d$ p g3 f
/*selects the EMIFA pins for use*/, V# C+ p$ J) E3 o$ i# g5 \/ i
EMIFAPinMuxSetup();0 B: R, r9 x" R5 j0 Y& B5 K
$ i% Q- _( J- _9 \
/*set the buswidth of async device connected. 16bit*/
$ j* l* z7 h& b- x EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
$ g' \/ [- f6 f+ k. W1 O# E EMIFA_DATA_BUSWITTH_16BIT);& M& Q! t9 x4 d# m p
: [; n" N) t, ] /*selects the aync interface opmode. :Normal Mode*/
7 H9 M' e) G# ~ Y3 S; o: R EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,, b( T' M2 j V, B$ N" u0 ?
EMIFA_ASYNC_INTERFACE_NORMAL_MODE);' [/ G0 }7 o& v" k1 u& _ |+ N: [
1 P6 v9 N: y1 t; @* J /*Extended Wait disable.*/
) T: P: j0 q* p, V7 V0 Q; h EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
7 y1 Y! t- [/ Q: M: F& t$ [( c: q! j EMIFA_EXTENDED_WAIT_DISABLE);. e5 M y7 v3 e4 n& g/ Z
8 ]# b6 c2 k0 R5 q' G /*configures the wait timing for the device interfaced on CS2) ^% k1 d1 ]6 d% g0 Q+ o8 U. x
* W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/0 [' c/ h4 t% F" A
EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,1 @) |& h0 A N1 Z9 K
EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));7 N/ c: z& h7 b! D- |
# C+ ]2 R* f# L5 ^2 h" t# ^}& D4 u6 G3 z6 C6 m4 @
还有cs4引脚的复用:
) n5 v% |- {* k! x0 ?; ?# b2 PSYSCFG_PINMUX7_PINMUX7_11_8
/ s1 |$ V+ s5 y! }% k, r2 t: S: j2 S, X
最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?/ i* z1 r5 u5 C! k! |# M" ], D: b
谢谢!
- f) y) T0 q, l+ w" P ]
, c& Z5 k' N: v- L5 C2 o) q* @
' l0 Y% m" [6 I) b7 i7 C |
|