|
|
端午节快乐,请教个问题,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) {
& i# f# J9 k2 D, W% L9 G! C /* Power on the EMIFA */: O- p) k' n" m0 s f: W$ j/ O
PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,' }3 U8 t6 b# A# `7 J' e
PSC_MDCTL_NEXT_ENABLE);
8 v& H; G( j# I( a9 X$ z. H% X% i% x6 z1 b" U
/*selects the EMIFA pins for use*/
* P5 c) ^/ p3 i& _ EMIFAPinMuxSetup();
7 a4 S- S) \9 Q, K3 c$ A) i
8 P: q9 J( Q* }; H" | /*set the buswidth of async device connected. 16bit*/
# O" }+ C8 k" }. j% a EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
2 ?1 F4 p6 c4 s EMIFA_DATA_BUSWITTH_16BIT);
8 Z3 p% _/ c8 H, P F, D- W& x, f4 U
/*selects the aync interface opmode. :Normal Mode*/
% }6 g; U# B# f; J, w9 Z& } EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
7 S, d$ b: S: L, U$ Q EMIFA_ASYNC_INTERFACE_NORMAL_MODE);7 k: F, Z- s% @* l/ p
- r2 u7 u- _ @% f! i- f; Z2 H. _
/*Extended Wait disable.*/ |+ R6 @1 @$ \# D. a
EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,0 Q) Y! V2 z4 ^7 s5 F8 _; B" d; b
EMIFA_EXTENDED_WAIT_DISABLE);
$ ~; T Q9 y5 U- @4 e6 G2 ]7 W9 U$ ?# H7 \8 Y
/*configures the wait timing for the device interfaced on CS2
9 `" y* ?% G1 q1 ?) K* B * W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/" h" k& \, l; M
EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,
1 }9 F' F6 ~/ Q* ?8 W! b3 g' ? EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));4 v- v0 R" b8 S9 ?$ G8 _8 `4 U& w
. T; j2 G1 O! A' ]/ O}
& L& I& [* g s还有cs4引脚的复用:
8 @* U- Z k6 [( y# {1 ?0 w# t# pSYSCFG_PINMUX7_PINMUX7_11_87 R2 d7 I' Z/ {' w0 x, X; O$ Y
' l9 y+ b9 c d3 F1 l H$ z最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?: N/ }7 b6 i# I$ f
谢谢!
/ l/ A) D' v$ k( @1 S6 L, O
; C2 d* @9 Z8 G. B
2 m# }) r; N! B" g% ^ |
|