|
端午节快乐,请教个问题,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) {
& h5 ?5 R i9 H /* Power on the EMIFA */
2 k' _, M& G3 B, y2 o PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,
5 h- y( B' a* D; W5 K- l% h PSC_MDCTL_NEXT_ENABLE);4 G, m# |/ f% L ~* n: B
% s& ~3 U& a: q( x4 s/ ] /*selects the EMIFA pins for use*/0 l: E, X7 I2 M7 u' Z2 B V
EMIFAPinMuxSetup();3 q3 G4 D' @3 Y7 Q3 q
3 `' ]5 ?/ Q) [8 ~% X, ]) I/ U /*set the buswidth of async device connected. 16bit*/: {0 o2 L/ X1 W) c% n& }
EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,1 H/ k% v5 T* m8 c" q
EMIFA_DATA_BUSWITTH_16BIT);: R$ j* {& g, K+ f; H
+ _" f' E7 V- H' T4 o, i- V /*selects the aync interface opmode. :Normal Mode*/
; L2 K1 Z \, W/ f" t& ? EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,: z v1 q+ J! R% U, g
EMIFA_ASYNC_INTERFACE_NORMAL_MODE);
, H/ ], l' H: N/ q: ?- N
- z$ I4 K/ u S* E$ f ? | /*Extended Wait disable.*/
" M, t; g' R+ \+ f EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,# P, Z4 p: n& s" A
EMIFA_EXTENDED_WAIT_DISABLE);5 P' N& Y, V8 j& Q9 A
$ f% K1 l5 s7 s, W; X9 s+ u
/*configures the wait timing for the device interfaced on CS2
/ a, L5 B% i; o: x. Q. q * W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/
" @2 ~5 N& i9 r3 F EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,
% O" j5 _/ M$ B3 e) C EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1)); F9 R7 @9 A1 `4 A5 A
! q6 Q1 S" X, W& b$ v}6 B. ]- _- i! p2 x
还有cs4引脚的复用:8 b' a, x! a, j9 e1 t# t/ \
SYSCFG_PINMUX7_PINMUX7_11_8
& k& f& G- R( ~& b1 b! G7 B* T& R1 \7 l; a
最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?! n/ F* d. X: a1 T# X/ }
谢谢!
5 l& N/ X" H$ e7 t' r
5 w+ |; P7 s, i9 U* f6 P7 k' l8 C2 K' H) S' {
|
|