|
|
端午节快乐,请教个问题,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) {+ m4 `% M g/ z8 y' M
/* Power on the EMIFA */" V0 n' Y3 ?( B9 x; P) q3 `
PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,
8 c0 c! R" m9 H+ \ PSC_MDCTL_NEXT_ENABLE);
% l7 o5 B2 y. y6 s: R
! ?! J0 a/ J5 f( u; l /*selects the EMIFA pins for use*/
7 w: e% ~; Q3 {% M EMIFAPinMuxSetup();# E D# M9 g! f |
; H* r% I( m0 ]' x* c /*set the buswidth of async device connected. 16bit*/. i+ P7 s% y8 C8 D# y+ T. g
EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
4 e7 f5 g# z& M6 E EMIFA_DATA_BUSWITTH_16BIT);2 L, ?' D# U3 f* n7 C+ G! [
) z, {! |8 G/ L /*selects the aync interface opmode. :Normal Mode*/4 }5 T- ~' F" x l/ y* a
EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
# @& y' A6 `2 B% w) S8 Y* e EMIFA_ASYNC_INTERFACE_NORMAL_MODE);. \% r8 n+ A/ m l# Q5 V/ k
( g/ c- @) Q( D" T
/*Extended Wait disable.*/7 `+ {+ X5 J) W* J; f
EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,' V* i* M7 d2 B$ `4 o
EMIFA_EXTENDED_WAIT_DISABLE);' Z4 Q2 o# i( [4 p
K2 C5 }, m, T3 N; e8 [9 i /*configures the wait timing for the device interfaced on CS2
# @' T! G5 Q6 w/ s * W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/1 ]: u9 [/ u* N/ C( c0 l
EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,/ `, U* K; T: f3 M2 u: P; j4 i7 L- |
EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));
0 \7 a) I; N. R! n: Z" _; k1 X1 K+ M, z8 Q2 v
}
7 \8 D. R9 B5 B" z( X) @7 x还有cs4引脚的复用:4 X- U2 ?, Z4 F: u) G4 Y B
SYSCFG_PINMUX7_PINMUX7_11_8
& ]+ G; W R5 C9 g! r! @: ]+ \& m9 w
最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?
; v! U" O" F& h- I4 I谢谢!- B; w4 p1 f3 f
- @9 f$ k% b; F% S& {
( D) Q) v0 t/ E1 g$ i( I( t& ? |
|