|
请教一下,我们这边在omapl138开发的时候,使用了sdk里面的例程1,helloworld例程进行引脚复用配置的测试,$ `; b3 F. h* M1 y% y+ O
PINMUX0 &= 0x00ffffff;
$ U$ \4 {$ e/ C" X9 N( ? PINMUX0 |= 0x08000000;5 g: V, t2 ^; F* n, U, X
1 S0 q, b6 K, h- O- Y
有个现象不能理解,就是在cfg文件里面有3 R. h J' j# b% `
/* required because SysLink is running on the host processor */: t, j& t5 W, s$ W D
xdc.useModule('ti.syslink.ipc.rtos.Syslink');
8 V& j4 l5 z% r+ J9 u( r& L2 w# |* Z6 M) ^9 ?; W
这么一句话,如果把这句话去掉的话,引脚复用寄存器PINMUX,已经别的gpio的方向,写值等寄存器都没有写值成功,因为可以再arm侧读这些omapl138的固定寄存器,发现读不到,同时也配置了gpio点灯,也点不亮灯,事实就是这些寄存器没有写值成功,: I+ `7 ?9 n* K. P' y
但是如果在cfg文件里面增加了& p( h4 u, L; k
/* required because SysLink is running on the host processor */
8 _* N5 B* ?% L. F0 h1 O+ z) ^; U5 i( Gxdc.useModule('ti.syslink.ipc.rtos.Syslink');! B' @% x( \7 t4 R+ H
3 X; o: \+ S4 w0 U; \& C1 R
这么一句话,那么相同的代码,寄存器写值都能成功了,gpio点灯也点亮了,这一点我们没有理解,请帮忙分析一下,这是什么原因,
5 Q2 i* e6 ]3 T/ n6 g1 b1 K, T' g/* required because SysLink is running on the host processor */
$ D/ Q, m, i S1 K0 i" d( txdc.useModule('ti.syslink.ipc.rtos.Syslink');这句话为啥对这些寄存器配置写值有影响?
4 G: C, W6 Y. m' k1 Y$ m& H8 F0 i6 G% I1 v& {) E# ^- m
|
|