|
你好,请问:: B+ P" }/ T2 s3 q' l9 C: F
咨询你个问题:我是omapl138芯片,自带arm和dsp;- g2 J, d0 l9 r- c
arm linux已经运行,dsp端操作gpio,arm端通过syslink控制dsp端gpio操作,在dsp端的gpio操作需要什么样的配置?与arm是否会冲突?是否有相关demo?
: v* I8 s# `8 \6 e* T |; w% Q3 Q' L; R4 N
$ B8 @; \$ _2 @! M& J
我dsp端的gpio初始化:* s9 L" F1 b: O2 @% w
#define PINMUX0_GPIO0_13_ENABLE (SYSCFG_PINMUX0_PINMUX0_11_8_GPIO0_13 << \% B$ F# V, o. E6 ?2 L, M5 n
SYSCFG_PINMUX0_PINMUX0_11_8_SHIFT)$ A0 P" A1 T7 p* p# S2 I
( n0 q- I+ w' Q p- y+ K5 _void GPIOBank0Pin13PinMuxSetup(void)4 l' A i `" r" n) T* r
{
$ E8 j8 s* `: _/ A9 C unsigned int savePinmux = 0;$ Q; a6 p1 e7 u* |0 `& c3 A+ ?" s
* f8 d2 H6 T# s& q/ K /*& T6 [7 F- O# E0 C
** Clearing the bit in context and retaining the other bit values
+ S! i$ w A6 Q0 v: r0 f ** in PINMUX0 register.
) G: r f6 s6 i3 m! |" d/ ^' | */, K# m: M. O4 Q1 E2 [, y# S3 ~7 E
savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(0)) & a* r& R1 o) C' s0 Z$ x# H
~(SYSCFG_PINMUX0_PINMUX0_11_8));6 m& m" g8 Z8 i8 C( j! \ p' V
* R, q: g8 E% t+ P( `4 j3 S3 ~
/* Setting the pins corresponding to GP0[13] in PINMUX14 register.*/) R, y6 d$ o+ B. \; p: B0 y" Z2 l
HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(0)) =
/ [& ~/ V8 Z: @2 N' w# ~ (PINMUX0_GPIO0_13_ENABLE | savePinmux); \" L" q9 p, Q
: y, D k7 @% |* T7 V1 f* L}9 L& Q! `8 X0 m& W
2 j" ~9 f% h5 ~
. G( i" H5 S0 P% [& G& u; w! _) @3 k
int init(){
' J1 d7 l! x# QPSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);
: Z5 Y6 y: a" D2 a0 c: a$ F4 \7 w2 k7 K4 n6 r3 g8 O( @2 S6 P$ G& o* R
GPIOBank0Pin13PinMuxSetup();
* t. h$ u; r* d, |2 z) z- `
2 W. u5 W" Z! ZGPIODirModeSet(SOC_GPIO_0_REGS, FPP_NSTATUS_GPIO0_13, GPIO_DIR_INPUT);
; Y# f/ n" h2 K8 S- U9 d* E* l) c
}. c1 ]% D z) G/ C: F( q
/ O) q* J& V$ W' z9 s这个样初始化是否有问题?是否会跟arm端冲突?
# O3 R$ T! n- ^6 y3 W( C |
|