|
|
端午节快乐,请教个问题,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) {; p# q$ W2 m, M1 i Z
/* Power on the EMIFA */
& N6 u+ b8 L6 G6 I PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,
" F7 |7 B" @# U% u& _5 _# \( A$ G PSC_MDCTL_NEXT_ENABLE);/ W3 z0 z+ @3 f
( C; c7 k6 x0 k% M$ ^! ~' i' m
/*selects the EMIFA pins for use*/0 ]! P# r" p' N# Q
EMIFAPinMuxSetup();/ N6 g$ N6 ?/ _6 ^$ V# G8 F" F
: R6 z, S, C# Y" Q& W+ \1 k) n! _
/*set the buswidth of async device connected. 16bit*/1 @, y4 {# @) M3 x
EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
; v- R! \8 ?( y% y EMIFA_DATA_BUSWITTH_16BIT);! m T$ q7 l% b. C0 [
$ Q. [0 J9 R; w: r% R! w* H /*selects the aync interface opmode. :Normal Mode*/
& v. K# _% x# I- A! C! L$ v+ e EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
) E8 m, g* y# y. w1 g5 p EMIFA_ASYNC_INTERFACE_NORMAL_MODE);" Z& p% m. {/ D, I
% v4 A: q0 G' Q /*Extended Wait disable.*/) x/ _ X; b2 H! J
EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
* x4 G+ c7 `4 f EMIFA_EXTENDED_WAIT_DISABLE);) u c; Z5 G) Y
9 G- Z4 U; p. c4 W p1 @
/*configures the wait timing for the device interfaced on CS26 b& S, F6 V( _9 E" _: J
* W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/$ g$ e. G. W% B+ [8 ]9 l2 s" v A I% d2 F
EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4," r* D, K: O2 i+ G ?
EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));
, o" P5 H. ~5 c0 G6 f* i4 |+ ?* I1 i8 X1 @: u/ n6 p0 {( H
}
. ~; n. q6 x5 X8 g8 h: D* [3 C还有cs4引脚的复用:5 H0 B% w- m! i
SYSCFG_PINMUX7_PINMUX7_11_8$ r1 |: F' u- I( q7 w6 V2 ?0 W
+ N3 b) e b, ~/ q. f最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?
% a* z, t" g7 [/ `2 E7 @9 N谢谢!% U" C! {& d+ }+ D5 R
* ` k- [5 E& m* t9 ] L7 Y. P/ ^) j. }
|
|