|
|
端午节快乐,请教个问题,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) {
2 x+ P( `9 ^ K& Z1 H, b& `+ z /* Power on the EMIFA */
+ [& c7 R F! B9 ^ PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,
6 \' s( g. Y9 k' _ PSC_MDCTL_NEXT_ENABLE);$ Y3 k- t- n, \$ f
9 u, M! l& k3 C8 x. Z
/*selects the EMIFA pins for use*/
3 i. n$ d* r. V. T EMIFAPinMuxSetup();/ Z# Z/ X& X7 w* }3 g) H/ I1 e
; ~4 Q; B T: ]
/*set the buswidth of async device connected. 16bit*/
1 \2 H! v& i6 C4 t EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
5 x$ Z& w2 o4 V% _$ ]; s7 C7 s EMIFA_DATA_BUSWITTH_16BIT);; ~# v( S- d0 f( @. \2 g
- J( i: Y" B8 a7 L /*selects the aync interface opmode. :Normal Mode*/
& W+ }5 ^2 s2 k5 V6 u2 I8 q* z EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
7 @; E; g* n. {* K: G5 v* T" R EMIFA_ASYNC_INTERFACE_NORMAL_MODE);
) p/ ?3 ?% X# d. P" {0 o% s z7 w
/*Extended Wait disable.*/
' e2 k8 q' [/ ^' z2 c EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,3 C5 O5 s8 P+ k9 }% \; _( W: m' f% W
EMIFA_EXTENDED_WAIT_DISABLE);3 L( T- i# `( D+ Y; v. ]4 a
4 z; o& ^& `+ c
/*configures the wait timing for the device interfaced on CS2
4 k& z* h; u3 j+ ~, E * W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/
2 [5 y C0 `- K; C6 _6 m1 g EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,
3 j( L+ N! a8 T8 n0 E EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));( _4 F- r# T: d$ h. ^9 U. O% D
+ w" B! V; C2 W. }}( Q x# y8 i$ z* J$ `, V
还有cs4引脚的复用:
1 S1 n, q" T' JSYSCFG_PINMUX7_PINMUX7_11_88 H. m5 K+ _0 X5 M5 M2 s0 N; c
7 {. g z& _2 a$ Y6 q
最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?
) c, g( ^& ?! T1 `# k, l谢谢!
( x8 R7 x# u8 L1 g3 {( s+ d3 L" Q2 {- I6 J1 E! T" G- E$ m$ Q5 l
3 m# w7 ?/ k% d1 E, N8 K! w |
|