|
端午节快乐,请教个问题,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) {
. R, @: L7 e2 ?, ~0 {) T /* Power on the EMIFA */
6 S) q( I# V! t PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,
' n. N8 e9 ^4 q% e, q, j PSC_MDCTL_NEXT_ENABLE);. t6 @. _- d0 R, @
5 @ d C# }) t1 c8 ^2 ~( z+ _2 M /*selects the EMIFA pins for use*/* D& ]% f" Q! A8 }
EMIFAPinMuxSetup();
/ _% f# @% l8 e; t. ]# r7 Q3 K: _9 @! K s+ s; M9 a/ G. q
/*set the buswidth of async device connected. 16bit*/
4 l% L- r2 ~- G E EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
: H9 A) F0 o* B# Z3 h EMIFA_DATA_BUSWITTH_16BIT);4 R" l; g3 s, t8 h, h- L
4 e+ D* r; h; `! R9 U; S3 ~
/*selects the aync interface opmode. :Normal Mode*/$ t0 j' _2 N2 B# _6 E$ E3 u3 Z) O
EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
) z! o8 G1 h5 J EMIFA_ASYNC_INTERFACE_NORMAL_MODE);
" G& Z3 P, w: s8 S3 B) ~% l6 O$ M+ t$ F1 ?
/*Extended Wait disable.*/
: p0 d0 w% d+ U5 u& e EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
W- \) d; g. b; l! M$ k2 D EMIFA_EXTENDED_WAIT_DISABLE);0 S4 ^. f: ^1 T1 y& F
, t, j; S* l" j7 |0 b! f+ ] v* G- s
/*configures the wait timing for the device interfaced on CS2( R3 C$ R2 ^0 ~) C% W, g ?( S4 J
* W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/0 |: n7 L$ w0 {* O* G/ @
EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,
$ w B1 |1 ?8 C. }$ J9 F4 i EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));
6 d9 N) N9 W* K+ m9 \- o6 C0 h
' V8 Y6 T3 N/ \ K, }4 w3 p}
0 n; L9 x$ q7 [' \; t, n还有cs4引脚的复用:
; _9 F$ p# X9 @& \5 E: sSYSCFG_PINMUX7_PINMUX7_11_8
: u: ]8 T% `+ {! A4 o. Z+ K
6 _, V7 c( J- D; D最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?
4 w: J; R8 e/ A; n5 V5 k谢谢!
5 z, g6 {, ]# `% v) ]; o
) m) r3 a P. {# q J4 e
: _& p5 ?- [. E+ A4 s e |
|