|
|
端午节快乐,请教个问题,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) {) G) B' o- q3 v- L: S1 q
/* Power on the EMIFA */
: W6 l2 T. J \5 @ PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,
( S, r2 c+ c9 T PSC_MDCTL_NEXT_ENABLE);
) W0 I0 F% C3 a6 c7 K/ W' }5 z* t" K5 K, [5 \2 A6 c
/*selects the EMIFA pins for use*/ l8 x* ?% ^6 P) I% D2 ]
EMIFAPinMuxSetup();
5 E" g$ {2 ^; f5 @8 q# _' g, a) V* M) v
/*set the buswidth of async device connected. 16bit*/
/ S$ o5 x; A5 p EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
2 c& A; N+ Z( l% \7 Z EMIFA_DATA_BUSWITTH_16BIT);9 Q, u2 t+ s$ T
8 y5 w# C }. K' @& w1 u
/*selects the aync interface opmode. :Normal Mode*/
2 G' B# a: e5 p5 g8 { EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
5 @4 j4 G- E6 D EMIFA_ASYNC_INTERFACE_NORMAL_MODE);/ p: U: ~* g/ F( ~- d- | ?, i
6 G& [5 T" a! @8 b
/*Extended Wait disable.*/- T+ p# d, @* T/ z1 }" t( |2 x/ h% |
EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
3 }+ j" ?" k1 ~* S# G' {& F; u EMIFA_EXTENDED_WAIT_DISABLE);
" m3 I1 ]" D3 v
8 |. i6 X1 H5 B /*configures the wait timing for the device interfaced on CS2
# m" r& t4 b! S% \ * W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/ w: P: A1 f& D, @# G/ J' r s
EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4," g& p0 {- D" k" O' o( V) r
EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));0 V0 C( |2 {& W$ T; P" @" B
# O, {- R' x b( d" {- A}. j- i4 e9 z; ^/ ]. Z1 i8 h, G% G
还有cs4引脚的复用:
$ W7 Q. s$ x N7 b% m+ G* W" ^SYSCFG_PINMUX7_PINMUX7_11_8
8 l0 f. k& `, W8 A O8 `
5 P6 t1 g, Z1 p1 x) s' S* O6 N最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?
! t+ w# A, A; N: R' d- Z谢谢!: z5 E* L( V" ~- g- F% b: O
2 |- |3 `" o/ [' o0 J
3 N: g& ~9 v7 x
|
|