|
|
端午节快乐,请教个问题,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) {, F3 Y" _2 y# X6 h3 R: P( u
/* Power on the EMIFA */
* N, n# ^# W% s* q PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,; x' {. n3 A6 o
PSC_MDCTL_NEXT_ENABLE);
6 @) g! C& ~9 O8 x& O( l: _
b7 |! V2 X U /*selects the EMIFA pins for use*/. P8 l$ B% [2 z4 i7 }
EMIFAPinMuxSetup();6 R; v8 w% S% E! c6 `
4 S: l8 K! ]4 f- l0 y% O6 ~ m2 m /*set the buswidth of async device connected. 16bit*/
' s# Y$ q" J" d. L0 s* L EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,) ~- \9 t7 U5 L
EMIFA_DATA_BUSWITTH_16BIT);
' e5 I, ~2 J' p2 D Z9 @$ n8 H1 |5 @; O6 a$ i" z8 D% g
/*selects the aync interface opmode. :Normal Mode*/
' ]7 m# @7 G) k* I EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
+ p, N, I5 i' h EMIFA_ASYNC_INTERFACE_NORMAL_MODE);
$ ?$ B( ?4 n! O7 M
- X' u7 r4 K" ^$ w$ o; h1 O5 o /*Extended Wait disable.*/
9 _4 Y, p% B: E6 G' @) Y EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
% b* Q6 S1 U2 C, o0 T+ E% g5 x/ W7 s EMIFA_EXTENDED_WAIT_DISABLE);
0 N4 g+ [/ a: A% v u: ~
* x, K4 A3 E1 T+ {' O4 j. Y+ v+ @ /*configures the wait timing for the device interfaced on CS2
9 t2 s4 f* e$ E- q% z" a' w * W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/ J) x# H8 X) @7 L
EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,
2 ^ V" D% ?8 l% e% n EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));
; s- Y9 p* h5 Q/ j
% I) Z" L4 v/ r: T. i: F, d}8 |5 m, ^! c4 R, r; b3 J% [- `* i
还有cs4引脚的复用:
3 I, I) {3 K( ?) y hSYSCFG_PINMUX7_PINMUX7_11_8/ D7 w, p% A7 f. [) w! g+ u1 ~! q; G
" i4 P( t9 }3 A4 D" k1 u+ T最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?
6 x6 a( t! U. ` J2 u' X谢谢!
# G0 |8 w% r2 L0 i! e7 b9 b' R0 M+ ^# ^; [5 u/ y0 p. `
9 p. O" q- V9 u7 ?
|
|