|
端午节快乐,请教个问题,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) {
5 q; [0 M, t: M4 y% o2 R9 o /* Power on the EMIFA */
( H$ S6 J/ j- Y! O1 n2 z3 b; [ PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_EMIFA, PSC_POWERDOMAIN_ALWAYS_ON,
0 P( _4 `. U, i4 R5 [2 r% c; Q( k$ w PSC_MDCTL_NEXT_ENABLE);
9 o4 l2 P, `. H, s7 N
( r8 g8 o2 f' a /*selects the EMIFA pins for use*/
. R. d0 n( I6 t) X$ } EMIFAPinMuxSetup();
5 N7 h/ V+ O( {5 k* e6 f- b( {* |3 }( b6 ^4 |# `
/*set the buswidth of async device connected. 16bit*/
0 g0 `: `) A: `. q9 n EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
; E* R$ j F9 a% C% @ EMIFA_DATA_BUSWITTH_16BIT);
! t5 L5 K$ r/ ], }/ ?; R
! M4 w/ V( c0 P" E$ e' I /*selects the aync interface opmode. :Normal Mode*/
! k6 E( |1 i: s2 ~! B; l EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
- ~1 H6 c( O6 z7 d: C' w+ q% o& [ EMIFA_ASYNC_INTERFACE_NORMAL_MODE);
4 f7 S# t# i9 s$ U7 l3 j
( a1 V9 ^! m) i9 Q3 S! {+ N! w /*Extended Wait disable.*/
8 @3 X' c. x9 i6 W: q EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_4,
6 g5 `) w8 v! e; F' A% w EMIFA_EXTENDED_WAIT_DISABLE);
7 z& L1 J+ i, D8 x" L* Q, _- [# c {+ ^ X' n1 W/ J
/*configures the wait timing for the device interfaced on CS2
: ^! v6 N9 d- L3 v8 }7 E4 ~/ g * W_SETUP/W_HOLD W_STROBE/R_STROBE W_HOLD/R_HOLD TA*/: a4 s8 @* J' z2 M: x
EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_4,1 V# P+ g: @, u F" j5 p4 }
EMIFA_ASYNC_WAITTIME_CONFIG(4, 4, 4, 4, 4, 4, 1));0 _8 b) |: s7 D3 }, j+ R% }: a: O
) Y/ m7 G# J; r}0 [ n1 f7 r( H3 O8 V) E2 {# b5 Y [
还有cs4引脚的复用:5 g3 N. j) J1 _9 _, P3 w2 S
SYSCFG_PINMUX7_PINMUX7_11_80 g6 W. u& U6 i
* y7 w7 |6 @# [最后结果还是不能通信,请问下,对于EMIF使用CS4片选,还需要做其他工作吗?% N' Z4 H P' O, M
谢谢!
f6 ?8 P) I$ P, V0 A6 n! e
9 P: E4 i X% d5 t: g+ y `
) F& s0 O) G5 Y1 Q |
|