|
端午节快乐,请教个问题,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) {
X2 U- j# P# ]& b/ }5 t /* Power on the EMIFA */9 `1 e6 Q+ L, c. k- A' D
PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,
c+ W) x, }! B4 y7 P2 W; W PSC_MDCTL_NEXT_ENABLE);% R1 j- k2 n4 i! G
8 h$ l5 p4 H0 j2 M' z# q
/*selects the EMIFA pins for use*/
$ X5 _2 D2 p( E x3 u3 P9 ]2 |: [ EMIFAPinMuxSetup();! j6 b( @% v% a+ S( G8 p
3 n6 U' h3 y& k /*set the buswidth of async device connected. 16bit*/0 v; K. n* x$ B
EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,0 o k S6 o/ z" u; k% y
EMIFA_DATA_BUSWITTH_16BIT);+ d- E, x* j' ?& G* s& u
g3 k$ o& h( a; \* h* i9 b /*selects the aync interface opmode. :Normal Mode*/5 v6 {/ k- t# o- E- x
EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
( N- v k9 L7 q* G EMIFA_ASYNC_INTERFACE_NORMAL_MODE);
5 n( X e; D+ c& d7 f/ e' G; y3 _" R; H |5 d
/*Extended Wait disable.*/
6 G U% W6 q6 X. o' W; ?/ s0 A5 k EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
$ F, E- Z( W4 S; F6 t/ T4 o. l, B EMIFA_EXTENDED_WAIT_DISABLE);/ [$ |+ e7 [" V `) I
0 w& E: U0 }' M9 k9 |& l/ u) G
/*configures the wait timing for the device interfaced on CS22 v4 H( e3 t* t2 ^: d; `6 b3 A9 [
* W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/
; W5 L [" {# P4 m) K: l EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,
) o# `1 U3 R/ f0 L EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));* t1 M" @5 W( w
1 G* z: D1 `) O9 u
}- o. V3 s3 r; J7 ^
还有cs4引脚的复用:
; P; @3 m$ v$ U' xSYSCFG_PINMUX7_PINMUX7_11_8, B) R6 {+ Y, H! _1 V
$ ^% K+ d v2 B0 G. F最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?, g a: A0 T! x/ N
谢谢!6 s9 r# H( P [" s+ ~
$ E5 X% J. T. T7 x, _6 C
2 O0 E n3 T5 f: n8 @: M" z' T |
|