|
端午节快乐,请教个问题,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) {7 T0 d2 T- H# y- d# \- F
/* Power on the EMIFA */) J* x9 x) L3 p- [: t6 ?& E
PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,
8 k6 x2 H/ F; ~8 s PSC_MDCTL_NEXT_ENABLE);
, I7 x+ F' h' M/ A9 ]1 F% X4 K+ {8 H0 d0 I4 [$ J
/*selects the EMIFA pins for use*/3 c& M! e! T5 R6 M2 W
EMIFAPinMuxSetup();( {" [5 G8 f3 B# L: }. e
+ Y+ n: e* W) l2 U/ | /*set the buswidth of async device connected. 16bit*/$ P$ r: P% t* ?# _
EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,5 o5 @7 D! ?9 s/ r
EMIFA_DATA_BUSWITTH_16BIT);9 T( S1 i6 P' Y3 f U0 q4 N8 k8 i
- D& o2 @! C& V3 t. Y& ?0 b7 c
/*selects the aync interface opmode. :Normal Mode*/: Z, V% f8 }: g3 q% v0 q
EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
% M) r; E$ u) }$ V+ X4 F0 f EMIFA_ASYNC_INTERFACE_NORMAL_MODE);; I9 k: [9 O/ b5 c( M( j! ]' V! ?
5 [" P4 q" W* t /*Extended Wait disable.*/, D2 U. l+ g5 u6 s. j2 x& H* Y
EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,& p. r& v0 _" s# ~& A
EMIFA_EXTENDED_WAIT_DISABLE);( D6 n. g# G8 b* F. L
. L6 l2 |# N6 i6 K5 j( e5 x /*configures the wait timing for the device interfaced on CS2- g) s2 N8 x, d" v
* W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/
) R8 I7 W( J1 I0 k EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,
* J8 e* `$ M7 w) _: {0 u! O EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));1 Y, n7 b1 s) e, F9 W: Y
+ R( x+ r3 ? y- @, U" H
}6 b1 f: H. ~/ s& h: G* W
还有cs4引脚的复用:
) d! u6 a) z6 C6 E; V1 w. JSYSCFG_PINMUX7_PINMUX7_11_8* Z) _; w9 r8 r2 k" d# V
4 Y6 g1 }- A/ o# ?1 D, A! ]最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?
8 f7 m6 F0 U" B; k! i谢谢!3 s6 d# D9 b7 r6 F
( h) W' s3 p M4 }8 Q* g1 }% R& q7 } G% U/ R b
|
|