|
|
端午节快乐,请教个问题,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) {& L4 M! m% m/ N P- K1 h' l
/* Power on the EMIFA */
/ B8 `. C* q# U8 }6 I. _# c, F: p PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,
5 ^ z" u7 T( P; k PSC_MDCTL_NEXT_ENABLE);7 o, t& s, @ L; \) T- m8 m+ x
9 G1 Z7 Z9 {) Z: \6 J7 G /*selects the EMIFA pins for use*/
! [ ]+ `+ b9 I3 X( F& ]( J5 Y$ T EMIFAPinMuxSetup();
r4 H- g" U3 A Q+ A3 ~% E3 H8 B4 X, _. B2 O: p. e2 c
/*set the buswidth of async device connected. 16bit*/
( e, T4 _& x& k6 b9 F+ c EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
# ~+ G& I6 n+ o7 q% N EMIFA_DATA_BUSWITTH_16BIT);
2 M! R5 N2 G/ d9 @% ]
; r3 {# W. |. P& O7 ~ /*selects the aync interface opmode. :Normal Mode*/
' D+ N* W% F: ? EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
/ k! s1 W2 Z+ |/ R2 Q* c/ f/ ?) b8 r EMIFA_ASYNC_INTERFACE_NORMAL_MODE);
' u; f4 g$ ]6 G+ L6 p
" U% A7 k* r/ q* D /*Extended Wait disable.*/
4 G7 k) y6 X" k# {+ Z# [ EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
3 L( D8 \. E0 p; E4 d EMIFA_EXTENDED_WAIT_DISABLE);8 ]1 k* T1 f g6 @- G4 z
7 z2 T& m& H9 g& E- M7 r /*configures the wait timing for the device interfaced on CS2$ m8 B, c5 m* R* L* X& X6 {7 j. q; b
* W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/
, R. P& M8 w6 F7 f! S EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,5 {! u7 R, r) j
EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));
, b+ T- ~# J+ c, q1 `5 J. F% w
}
3 n. [" N$ W8 I7 b: ]6 P+ ^& s还有cs4引脚的复用:1 J+ p4 ^, p" u1 ]( X" |" c. l
SYSCFG_PINMUX7_PINMUX7_11_86 J0 \5 O. z- a& d* ]) v4 w
: Z+ g: d$ x. x) B% W最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?& k1 Z% n0 |! h9 Y& @% F) D
谢谢!
+ b) s2 k# ^- F& @
, c1 w0 ~& `9 [! s
* m# l# `$ n1 \0 {" _9 v4 D" d7 F |
|