|
|
端午节快乐,请教个问题,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) {
$ w: v6 Y! ]) Q8 Q8 L3 e* e( B /* Power on the EMIFA */2 h8 t0 e9 w, ~
PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,1 I D8 @' ]. ~* B: W
PSC_MDCTL_NEXT_ENABLE);: x& G8 e6 J- p3 A: m
1 Z1 s. j+ n7 a
/*selects the EMIFA pins for use*/
3 r" H/ G4 \% t: z EMIFAPinMuxSetup();
7 K& \" R5 B& w5 p/ N1 I+ _/ L
( X T$ p' X, \1 S: f /*set the buswidth of async device connected. 16bit*// a$ y5 R. E$ @: F
EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
, U \" k: x# m7 V; q7 ~ EMIFA_DATA_BUSWITTH_16BIT);8 x, q, J; I# Q d* L
1 T8 I1 a4 x, ?2 l$ @
/*selects the aync interface opmode. :Normal Mode*/* B; L9 z" ~/ V6 ^
EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,2 e: W( g! o2 _" \; Q, U5 d
EMIFA_ASYNC_INTERFACE_NORMAL_MODE);
. i: \! W' h8 D! Z) m* @1 z* l' P1 @: Z* e' @
/*Extended Wait disable.*/) S, W& @, s4 p, y. n
EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,% a' n" M$ o: \
EMIFA_EXTENDED_WAIT_DISABLE);
3 @! | J$ {. _" k- G( V7 _' H/ w; z5 F" I/ T( }- y
/*configures the wait timing for the device interfaced on CS2
- v+ M6 @, J0 O) d% N. B) |5 ] * W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/4 e/ Z A3 x' }1 @; q
EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,
; z4 m$ x8 _' [% U$ F( b# { b EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));# Z2 x3 Q# b: Q3 O
4 k1 Z! o& Y6 l9 w+ w6 ~}
/ {" ?: u8 z6 [/ U9 m9 [还有cs4引脚的复用:
7 N) S$ ^0 G1 F& {* V/ N. OSYSCFG_PINMUX7_PINMUX7_11_8& P: E! {, w" U9 q
. ?& Q, x6 ?3 b3 [; K3 n y m+ j
最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?; B& N, x/ a2 G, F) V; L+ Q" X
谢谢!
: B; G) _9 v; B, F5 `5 ^! i2 E3 o0 i
. W/ r0 ] ~; f0 c8 `" J
|
|