|
端午节快乐,请教个问题,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) {; J- P7 T5 p. f1 o
/* Power on the EMIFA */
6 X, ]; Z& D, y# H8 l1 J8 X" _ PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,
- C- F; K" ~1 ]! _. z% P PSC_MDCTL_NEXT_ENABLE);9 X5 B/ W7 l: `- D( E _ Q
$ E: r% D0 I# \9 y, X
/*selects the EMIFA pins for use*/
$ n% P0 G2 p& ?7 N* V3 N6 N EMIFAPinMuxSetup();
6 X" I' X ~" Z$ y; c3 n: U& ~
V, ^& l( m% \( i$ m /*set the buswidth of async device connected. 16bit*/
+ [$ ^" `" [9 ?: z. R) H w EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
+ @. v/ t R- D EMIFA_DATA_BUSWITTH_16BIT); e. ~. h& [- Z3 w. @3 y0 N
: T$ U0 q8 S+ S6 A* Z* e /*selects the aync interface opmode. :Normal Mode*/" a E7 r# X" l, I$ q- d, `
EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,% I) F& A3 j( t
EMIFA_ASYNC_INTERFACE_NORMAL_MODE);
$ R' ]) J* j9 j, t V& h& W3 ~$ l7 z! F" X
/*Extended Wait disable.*/8 [9 v. z. v6 X
EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,% u r# M; O& ^, {. y' u1 j
EMIFA_EXTENDED_WAIT_DISABLE);
# q/ w' l( V+ g- o' J2 _+ Z, c. I+ ?+ ?; y" X* p
/*configures the wait timing for the device interfaced on CS2# u) |- |" G e# a! k/ \$ T: V/ P
* W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/
! D/ v9 x& a3 r EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,- M' R6 f, |; F1 Z# M" i
EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));9 o4 u0 b# l' t) \# h5 ]
% k# c/ S: C2 l9 y}4 J" k# c+ H% A: E( I
还有cs4引脚的复用:
" u& W: I, ~% E) G3 u: H7 A+ PSYSCFG_PINMUX7_PINMUX7_11_8* z5 I6 W, \, H \# I" v
/ W' U4 J! E1 }3 ?
最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?; T9 h0 G% f* q7 O8 D! _
谢谢!% q" B) X# G+ x% |
& T) J" a! s% ^% b- ?# [) V
4 S! B; Q4 l m" M& Z: R3 D1 e2 K6 Y; \+ m, h
|
|