|
端午节快乐,请教个问题,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) {- x) f: H" a4 {
/* Power on the EMIFA */5 U$ b5 c0 h, x9 ]) U
PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,0 B U; |7 c; h, }( {! l7 O2 \
PSC_MDCTL_NEXT_ENABLE);
" m) y4 H* \3 y( {, f3 v+ @& @6 G5 G, P. W* L% ~9 w) j: @/ w6 }
/*selects the EMIFA pins for use*/
2 I' {1 G2 P" C) x3 x w EMIFAPinMuxSetup();7 c2 d$ C& v3 n; ~2 M- {$ }# h
9 Q* h$ a. @% K /*set the buswidth of async device connected. 16bit*/
8 W, D3 h b# F+ x. ? EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,1 i9 d* j( C! q# |
EMIFA_DATA_BUSWITTH_16BIT);- {& d( B$ V1 M# y
: x6 s$ e" r, d! L /*selects the aync interface opmode. :Normal Mode*/
- z) K2 B3 j2 O" w! I7 e' H EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,9 @+ w. _: W8 D
EMIFA_ASYNC_INTERFACE_NORMAL_MODE);0 M3 N( w! H% p! }' ?
1 ?$ | z: t* _" C9 B /*Extended Wait disable.*/
* i3 @& h' k$ O1 |3 l. U2 {8 f' @) P EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
: N g- e+ n* C" [! V EMIFA_EXTENDED_WAIT_DISABLE);- n$ G8 q; a4 [, X3 @. @; U4 e. ]
# H9 T2 V1 q# u3 ]! z
/*configures the wait timing for the device interfaced on CS2
+ }' z) \" B9 l * W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/
* M9 k% R" ^& ]3 ]8 ` EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,
: g) U7 P+ ~$ n9 o7 H EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));
% f# k7 W" e8 }% V' O7 b( T. [$ ?- g. Q9 x; Q7 p4 L( \8 k& C' t G
}( B& ]+ j. s; a: y3 Q$ M7 y! M
还有cs4引脚的复用:
! e( n" ]2 q _$ `2 V) b$ TSYSCFG_PINMUX7_PINMUX7_11_84 R2 N' U. \3 m/ w- w( i' i
4 R1 C& z; F( T! g最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?
, h& u9 _8 x3 ]) I- p8 v谢谢!
* B( G5 m/ M1 J! y$ M/ z0 m4 ?' u) e4 Q! M; b" n( }
" C. f9 n8 C0 g+ V7 a' j& Z |
|