|
端午节快乐,请教个问题,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) {
( R: O, J1 O6 f2 I9 ~5 g! W /* Power on the EMIFA */
2 a! R9 e# s: `' R8 ]- g) a" |, L% M1 _ PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,
7 R' J- E8 E/ s/ [# Y PSC_MDCTL_NEXT_ENABLE);# ^/ {9 t4 ?: u3 q( Y( b2 h: J! M
- F7 z+ W$ @: |6 F/ d- ` /*selects the EMIFA pins for use*/1 A7 p2 u$ u! N: C# y+ j! W
EMIFAPinMuxSetup();
, L+ g- w: ^/ f1 e' w1 A
$ v) _0 R4 _' e8 S0 o# w" e' s /*set the buswidth of async device connected. 16bit*/8 F9 w5 O& b, a' Y
EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
! Y! h8 l4 T- k; p4 `8 a EMIFA_DATA_BUSWITTH_16BIT);7 J: L3 F; _* Q7 ]: t# U( N
. U3 f0 G E3 A5 D
/*selects the aync interface opmode. :Normal Mode*/
5 d! ?" o) C$ g) G% A1 f EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
+ A* j9 r& t6 O- A EMIFA_ASYNC_INTERFACE_NORMAL_MODE);
3 v) i9 j2 l9 `* t- E" b' p' r8 L' `+ [# x. p5 q. \( U, N
/*Extended Wait disable.*/
% J2 r! }8 C# Y @ r( ? EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,' ?; C( v. o4 m1 Q4 e/ ~& G
EMIFA_EXTENDED_WAIT_DISABLE);7 }6 ]$ Z2 L9 D5 _, ^* S" ^; S
7 @9 E% K8 x! ]7 J
/*configures the wait timing for the device interfaced on CS2
& p! y9 v: V0 ^/ s * W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/
0 Q' _5 Y! Z9 P5 t9 E6 [$ s EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,
. j4 H* v, O' d8 q( [ EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));
: s) ]: `' O# E: j( h+ u3 e2 ?" q$ V2 ]1 H+ E
} D& B7 v9 h9 L6 T1 P
还有cs4引脚的复用:; G* O- C1 {' T! C- @$ p
SYSCFG_PINMUX7_PINMUX7_11_8
1 u% \# G. U; P+ k% Y- l7 X7 q9 p. q1 [; h' v; B. C
最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?7 g" _* D, @- e6 ]! q* T" h
谢谢!
5 W4 O! |' c$ A; S$ E/ D3 n: ?3 z# R+ i% h5 [
$ c: x% M9 o: g! c* ?" }
|
|