|
端午节快乐,请教个问题,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) {
7 z6 |0 {. j9 i- Z6 n4 X# p /* Power on the EMIFA */
. H" K, w' v V1 H& z PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,
3 b! i# k( W7 V3 I$ e4 `8 L PSC_MDCTL_NEXT_ENABLE);) ^$ Q9 c+ N; z" K& N+ b
5 A$ m( B) N- f6 z; d# \; D
/*selects the EMIFA pins for use*/8 {0 k/ K9 ]# q- n# Q' Q3 { G
EMIFAPinMuxSetup();2 {2 Y# S( b, W
0 \' d" K# \* [* r. h& K /*set the buswidth of async device connected. 16bit*/
# j/ \, _3 u i# x; o EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
" |& c! y G& H7 V- ]/ E% M( ~9 b# f EMIFA_DATA_BUSWITTH_16BIT);
5 C6 L# M2 c/ m) h. y. ^. ^( m* q3 c" e# D+ C$ C
/*selects the aync interface opmode. :Normal Mode*/
) d2 c, @' \2 \2 V/ f4 B# ~ EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
3 G. O! q' s1 q- e- ] e' ? EMIFA_ASYNC_INTERFACE_NORMAL_MODE);
- V$ e8 Y( e& n0 {; t/ T0 d
3 ?, t9 Y4 ~+ a$ U: f! P$ J /*Extended Wait disable.*/% K/ b& J% y* B! r( c) a
EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4," [9 T# s! D5 d/ F0 O3 i
EMIFA_EXTENDED_WAIT_DISABLE);
2 A1 e$ J- K, i w5 X
+ {5 c. ?% f$ e: t /*configures the wait timing for the device interfaced on CS2; V2 Q" }. P4 L2 |) z4 i
* W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/
2 |/ i4 E5 X. r) _- p+ w, F EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,
. V- v' w- [' `4 D$ k* { EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));7 f8 ?/ ]- v0 |- U4 Y- ]2 G! U& I0 \; u
: c( {3 _- P5 d0 Y. I}
! \" ^. M0 q* @; l7 Q2 y还有cs4引脚的复用:
4 {0 ]* S/ ?8 O( U4 [% JSYSCFG_PINMUX7_PINMUX7_11_8" l) V1 Q2 L8 \6 e' r# C7 P
. i, L. h4 B+ K9 R2 s最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?& G( A9 i% F2 J# \- }3 u
谢谢!+ d- |) C( R0 \: x9 w! x
; V3 ^# m: _- l/ T
. w- |! Y. g% @2 l |
|