|
|
端午节快乐,请教个问题,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) {
! j5 W' l K2 `9 f1 Z' r+ D8 ] /* Power on the EMIFA */% j1 y% _2 w( F( f1 G
PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,6 X- c, @- G' J$ {* w
PSC_MDCTL_NEXT_ENABLE);4 w2 h5 B- T9 {9 y
; r. S2 n! }. Y0 m7 x3 N6 S7 ^ /*selects the EMIFA pins for use*/: {' e1 E6 F y7 e. V
EMIFAPinMuxSetup();& b. R# h- m4 l! u5 j( z
( Y0 L0 g- [4 {* c/ i
/*set the buswidth of async device connected. 16bit*/
1 G! v9 Y" g6 A- Z: ]+ K9 _3 S7 f EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
: ^! A+ H! ?& `4 \( C EMIFA_DATA_BUSWITTH_16BIT);9 E0 P @# N3 C" ^
2 @# F, J+ m1 ?5 O /*selects the aync interface opmode. :Normal Mode*/
6 P. U" P; j2 l, z' d EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4, L( I* M: L" I( T" ?5 C
EMIFA_ASYNC_INTERFACE_NORMAL_MODE);+ w. a# p0 s G! g
/ J. p6 r: U( }7 T
/*Extended Wait disable.*/
9 ^. r* b- P6 F$ g EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
. U2 g, J& I: @% N EMIFA_EXTENDED_WAIT_DISABLE);
+ s, m* m9 y: w5 t. b; p- ^! o$ p4 f7 ~* P1 c
/*configures the wait timing for the device interfaced on CS2
' P' Y5 h, u. e2 g * W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/( p) F" A& u# K* V/ o
EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,
) `3 f2 t. v9 ^* P9 h0 z" A EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));. @4 O, y; ~# |$ q
4 l4 F! k6 v+ w
}
9 [+ k5 c# M4 `8 e: N: a: O" F还有cs4引脚的复用:! D5 ]$ Y/ Z# h9 t1 Y: y
SYSCFG_PINMUX7_PINMUX7_11_8; w# c. @$ T! r( a3 ]3 u
6 q1 Q4 }6 y) J# ~0 c. w: Y
最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?6 o7 V6 `& H' z' n6 V' Q" O
谢谢!/ y# c ]& C& [6 [0 C1 [
5 V" }3 Q9 v( I K
/ B \0 V. A! H$ ~/ ^ |
|