|
端午节快乐,请教个问题,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) {: Y' z3 s X! {1 E) x. i
/* Power on the EMIFA */
6 v( F8 p7 k5 i0 e% _9 D PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,- u" a# s3 k" m# i, x0 l
PSC_MDCTL_NEXT_ENABLE);
+ J0 T+ E$ h5 H( F
. k5 L+ f4 p; Y /*selects the EMIFA pins for use*/
& @1 B, D, s3 L9 ^* a/ K% \ EMIFAPinMuxSetup();
5 X" G5 O( U+ I! ? _7 Z) L. ^+ g, E' Q( s
/*set the buswidth of async device connected. 16bit*/
7 C2 X$ y c+ P! a# V EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
# U5 P$ S1 l, l( E EMIFA_DATA_BUSWITTH_16BIT);3 K% x0 J' X3 l8 e7 K+ L6 e! M
& d! g) Y# _$ H. ^0 [3 Y /*selects the aync interface opmode. :Normal Mode*/
: X, |: {9 Q4 f! v5 c6 V* D EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
* P- |5 [ g) W EMIFA_ASYNC_INTERFACE_NORMAL_MODE);9 U/ A- e8 K$ `) k5 B0 n" X
! J: i5 T5 Z. `5 O) g+ g; t0 h /*Extended Wait disable.*/8 y& o$ _+ p3 ~7 t/ s; o
EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
% L# G% `3 i4 \5 ]+ u) I" s EMIFA_EXTENDED_WAIT_DISABLE);! { K( H$ g, e# I8 t& d! E
* P G2 ?- c [1 k
/*configures the wait timing for the device interfaced on CS2/ |) |( d1 Z5 X+ ]
* W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/& T7 M: f& n' l5 L. X# [( I! m
EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,
. Z" Q* v* M" y" `# r; H EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));, t( X3 T. @. w
, i1 ?" }9 G6 _3 r
}
' z6 u3 U; `, R& Y* M还有cs4引脚的复用:6 h9 j! S" X9 i' N4 E
SYSCFG_PINMUX7_PINMUX7_11_8
" d$ h, I# h8 S* [7 Q1 o6 f' ]8 Q4 R& F: d1 n/ s M
最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?# d+ W% ]! h7 x8 k
谢谢!3 ^1 Z! J, h: f7 C& F+ ~9 P
3 r6 f8 g5 z6 z) }% W, x
, E( h2 d: U: a1 L
|
|