|
|
端午节快乐,请教个问题,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) {1 b# `7 m i5 |6 H. d
/* Power on the EMIFA */4 V8 P. F, D! h. d7 t+ _0 l' b9 v
PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,, ?! r2 {- T! h9 ]+ Z
PSC_MDCTL_NEXT_ENABLE);' h9 q+ k& x. k* x; e; u
, y3 u* C, d3 D3 S" q. y
/*selects the EMIFA pins for use*/
# r* x4 @* E* z8 U EMIFAPinMuxSetup();
7 s% A1 ]* B& m+ \8 L S, d
. v" p& O; d7 E: J9 i /*set the buswidth of async device connected. 16bit*/
5 C2 n) h7 E8 A' M* H* t EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
- N8 s) A$ j; R: B9 T! F ~. N EMIFA_DATA_BUSWITTH_16BIT);
3 y1 t* ^4 l7 \' {% S; E* g5 a1 l' t, Q
/*selects the aync interface opmode. :Normal Mode*/
5 |4 D# j3 r3 Y0 f: _ EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
/ c" i! F' ~4 U5 _( \ EMIFA_ASYNC_INTERFACE_NORMAL_MODE);' Y! A4 ~4 Y" v9 S8 g! p+ x' Y
, c8 ^2 V, c7 M1 d3 m! j
/*Extended Wait disable.*/
) P8 Q( y1 E m3 D5 N- I0 K6 X EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
3 k) X3 T0 O0 ]6 z, O9 G( T9 c EMIFA_EXTENDED_WAIT_DISABLE);
: y0 K6 I' @0 V) p/ i' I& f# g( Y1 M! `
/*configures the wait timing for the device interfaced on CS2
' q: p& U* [8 \) h) n- C% _ * W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/
% ~* C$ I9 C6 ?0 T. ~- H, X EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,
' J- M# D! }& I. `. |% n# v1 C EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));
+ S5 x9 c2 Z: g& H6 v/ v, V/ i+ E
}; {; o6 \$ x( e' O
还有cs4引脚的复用:
) O6 f3 [" p0 F" ^6 X, E9 E7 `! iSYSCFG_PINMUX7_PINMUX7_11_8
! i% F5 w9 j2 Z( Y E
8 p/ l, a7 K. p# d5 |最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?& _% _ i' I$ H/ ~2 f |( x
谢谢!- P$ ^' f/ z9 B) @& n1 B3 C5 }
$ M- u! ]0 b) B) K) y3 K
1 [+ |4 E! F- G8 t# P& h0 C9 k
|
|