|
端午节快乐,请教个问题,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 C, Z- Q. |: p+ \, K# h# ?: h# M
/* Power on the EMIFA */- y* X: A% f% L( h
PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,2 O2 z S+ S0 U& x9 q! J7 Z
PSC_MDCTL_NEXT_ENABLE);& m) m: Q" W4 r4 _6 [$ i/ c
% U: F8 d4 e3 Z- h
/*selects the EMIFA pins for use*/; T* ?. f0 t$ j5 M
EMIFAPinMuxSetup();
- k0 M5 X, @1 J" n6 ^; N4 f' F$ r( A9 }, {, F! c3 R/ m8 Y/ @
/*set the buswidth of async device connected. 16bit*/
! k$ Z5 R$ m# h; H6 W6 s EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
" M' S: W+ X% m3 |! Z. o( j EMIFA_DATA_BUSWITTH_16BIT);
& |& U# P% {+ E( j4 U
$ c$ o& [$ O/ x& M( f4 W/ e. i) k /*selects the aync interface opmode. :Normal Mode*/7 _# K4 k1 C4 C) h" Q7 Z
EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
$ L0 n! z- r! H0 j; c0 Z6 Y EMIFA_ASYNC_INTERFACE_NORMAL_MODE);
0 q% H* o- H$ }5 N
; J/ O. P& I# ~- K /*Extended Wait disable.*/
6 A& [9 K8 Z! Q- D# k EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
* j' H" D0 I4 o& W& D8 K EMIFA_EXTENDED_WAIT_DISABLE);
; h( ~+ X0 u4 ]9 O ]* x, w" u
, U( R$ i% l4 h$ r /*configures the wait timing for the device interfaced on CS2
H7 M, p& B* Y * W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/
5 F0 |) f3 H% q( L EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,3 [- B# v( ]/ ]; u
EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));
G) C) ?; ~, `, U/ W2 [
" _2 G6 r% y: r/ q}8 J) G/ r6 k3 b9 L1 C
还有cs4引脚的复用:- w' w# W. P! |) B B' l0 S$ Y
SYSCFG_PINMUX7_PINMUX7_11_86 K* v1 ^6 m0 m' X
$ s) m; S7 A9 T( D% }
最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?
+ J# M5 l4 G+ [5 P' w1 w谢谢!) o: R6 a0 p, G* P5 G
4 u- W( N8 V' Y7 ?# `/ z
% f/ z9 B' E x1 g( t- B& Q! R |
|