|
端午节快乐,请教个问题,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) {
0 G, I# D) D3 d /* Power on the EMIFA */
6 z& R! v1 w, c PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,7 j3 C- Y3 M& B4 S6 ]. V3 r+ y
PSC_MDCTL_NEXT_ENABLE);
" s5 Q5 w( z, Z, w: V' G, H0 n3 ^& z% u4 @
/*selects the EMIFA pins for use*/
. J' J5 N- z0 J, k4 E3 q EMIFAPinMuxSetup();3 l5 O& ]) n# g; g
1 P- R/ n; ^! I/ o, B8 p /*set the buswidth of async device connected. 16bit*/
2 _- i/ m2 L7 s7 N) _ EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
7 ^ y* }& m* g/ ]. I' E EMIFA_DATA_BUSWITTH_16BIT);+ U+ i/ z' o- m7 a2 p8 J0 l
$ J9 J6 t8 s! o F5 x /*selects the aync interface opmode. :Normal Mode*/: U8 C3 H* A2 Q+ p
EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,- s, b- v- M9 M+ ?0 M
EMIFA_ASYNC_INTERFACE_NORMAL_MODE);
. h6 l* L1 H) @" N3 M& U- i- i: o4 w: p% Y0 J: |5 W
/*Extended Wait disable.*/! W, w% H0 { r& S, L: b1 R3 a$ h: A
EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
2 O4 P5 P* J7 ?5 d( Y EMIFA_EXTENDED_WAIT_DISABLE);
8 j. V. z4 o. D z6 t: E. r1 |" d- t' T9 `* }" T
/*configures the wait timing for the device interfaced on CS2+ t+ h" Y) e- |! \6 K
* W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/
0 k8 Y( E2 T: a% C0 B! { EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,
2 F, l1 Q7 D; F; E$ A! q9 J, Z EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));
( m4 G/ T. q' o# Z% \/ {: D1 ?8 c- p4 P3 d# ^* Y/ c
}& e4 l x* l, ?+ c8 [
还有cs4引脚的复用:
D% ^5 @ r# R" C- ~8 SSYSCFG_PINMUX7_PINMUX7_11_8( t' O/ a6 Q- Y% t3 w
" C0 w% ^0 C5 ^5 X0 x: h1 ]4 T; J最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?
. n- o6 T/ Y* @8 T, v. b谢谢!% x. r5 k' X6 Z" f; m. W
- J. s# d; {* b* n% ^4 G
& Q R) w( [2 @6 H; N |
|