|
端午节快乐,请教个问题,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) {
: S$ ?$ A# I* T* [2 }. p4 x. V6 U /* Power on the EMIFA */
3 e% U1 t r/ B7 m- v9 { PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,( W7 c# d; L5 {" Y& n' _! Y. W1 y
PSC_MDCTL_NEXT_ENABLE);+ Z$ z0 Q. D# V4 y, y
' E ?! K) {1 \- P7 Z( b! P
/*selects the EMIFA pins for use*/
8 G/ ~: D! y7 _) | EMIFAPinMuxSetup();, ^4 w# r3 Y1 U; @1 J P* L5 V
; }* Y' a% b, u /*set the buswidth of async device connected. 16bit*/
. M5 v: f1 L- e7 m EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,6 H2 d+ c: u2 b) A" K' b
EMIFA_DATA_BUSWITTH_16BIT);
: P4 _+ P) B- H& W
6 O9 M+ A8 [6 y( q/ t /*selects the aync interface opmode. :Normal Mode*/
8 V- {, f7 M9 Y EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
0 V; V' q0 V, P0 o8 J F EMIFA_ASYNC_INTERFACE_NORMAL_MODE);
1 C$ I' A! a8 c" B; j, D
) H4 M" e8 r, N5 ^ /*Extended Wait disable.*/1 J; @, X$ |: d) G
EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
# f9 q7 H( X: C2 z8 E EMIFA_EXTENDED_WAIT_DISABLE);
# D7 K* K3 H* \1 g7 i
: ?/ p+ u; G4 }7 c /*configures the wait timing for the device interfaced on CS2
. Y E9 Q1 a5 z* R& O * W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/
, n- a# Y7 _# N4 ] EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,
, u! v# O, j3 C# U1 f9 r EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));1 u2 n1 _* ?: c5 A# v6 N
( ]- ?% r) o9 W a/ z7 K# G}
' {+ B7 D7 ~% l0 `. ^: Y: Q还有cs4引脚的复用:
6 [: N4 p2 I" G6 jSYSCFG_PINMUX7_PINMUX7_11_8
' s: a7 [0 m/ Y# N# J! U$ t6 q6 ^3 u
最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?
& f' b3 n; ~" I( }+ c谢谢!- n7 p( |4 W0 Y
6 a0 v. e* a0 \9 M5 v- x4 R% P
5 ]/ R" |# Z7 ^! y+ V" [ |
|