|
|
端午节快乐,请教个问题,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) {. x2 Y! i% M9 j3 c8 v. M
/* Power on the EMIFA */* {/ l n3 q- D2 S
PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,3 M% G! W4 }3 N
PSC_MDCTL_NEXT_ENABLE);
5 l2 K# A; ~9 w0 g
( q% z; v( `$ a /*selects the EMIFA pins for use*/
6 h) y% H; Y% g# i$ ~$ U EMIFAPinMuxSetup();
. f; g8 M' y8 U+ t, c9 i2 N, s6 }0 K+ a1 ]
/*set the buswidth of async device connected. 16bit*/7 {) l* ]- N2 q9 Q2 X* @3 |$ f
EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
* @7 V9 H# p6 K" B& H1 y EMIFA_DATA_BUSWITTH_16BIT);
1 X! Z: o# o' V4 _% S
. q1 s8 P6 b0 ^ /*selects the aync interface opmode. :Normal Mode*/0 {3 |4 l( P' W* P
EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
) W6 i% z5 R& H% g3 ` EMIFA_ASYNC_INTERFACE_NORMAL_MODE);
$ h8 X7 m( v' c j/ n9 s/ O% E- T6 u3 X: B, `; M
/*Extended Wait disable.*/
! A* U5 z# R) [( y3 G EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,6 I, o5 h* u9 K; ^) a2 {. x ~+ |
EMIFA_EXTENDED_WAIT_DISABLE);+ u$ y! M6 e' C: Y d8 ~4 r7 @
( v4 i9 x- }+ p, t- t6 p/ D
/*configures the wait timing for the device interfaced on CS2
3 S* x4 b/ H% t0 w9 q o( h" J * W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/
% l7 a: H3 S7 @, u, \4 v8 {/ r EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,
; d3 D% ]0 M: t, ?/ H0 z7 B EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));
" e8 W7 R! w4 K( ^3 @/ n2 e
! Z) g9 ]2 f8 e6 m}
: D+ X6 f1 T3 `6 }! l6 N( _还有cs4引脚的复用:/ P, T3 N1 X1 A, c
SYSCFG_PINMUX7_PINMUX7_11_87 w7 K2 |8 U0 i# v& C; a) b
7 D" R5 E- I. A2 x9 L* ~最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?/ m2 @# q9 @! _. S9 i
谢谢!( h: M8 Q$ q2 R
5 u% Q# F. g3 Q' {
, M5 {# @4 p' w6 S4 W |
|