TI中文支持网
TI专业的中文技术问题搜集分享网站

AM335Xuart1的四个管脚复用问题

现在我想将uart1的4个管脚作为gpio口使用终端接的继电器,在board-am335xevm.c中已经将uart1的初始化去掉,将4个管脚出事成io口如下

{"uart1_rxd.gpio0_14", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT}, /* 空闲 */
{"uart1_txd.gpio0_15", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT}, /* 空闲*/
{"uart1_ctsn.gpio0_12", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT}, /* 空闲 */
{"uart1_rtsn.gpio0_13", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT}, /* 空闲*/

也查找了在内核中也再无uart1的四个管脚的初始化操作,但是在内核启动期间,这四个口外界的蜂鸣器不停的间断响,知道再操作这几个端口时才能停止,不知道还有哪里对这几个端口进行了操作?请指教

Jian Zhou:

U-boot代码中也需要将这些pin脚初始化成GPIO,同事设置好上下拉

liqin xiao:

回复 Jian Zhou:

这个已经做了,并且i/O口乱响的时候是在内核启动后期,从内核在控制台打印的结果看,应该是在打印下面这些个地方开始的,一致到内核启动完后,我的i/o应该起作用时才停止乱响的

[ 2.521306] cpsw: Detected MACID = d0:5f:b8:e3:29:75[ 2.528151] rtc-s35390a 1-0030: setting system clock to 2013-07-07 17:19:02 UTC (1373217542)[ 3.583222] UBIFS: static UBI volume – read-only mode

Jian Zhou:

回复 liqin xiao:

那有可能是你设置的pinmux起作用之前,这些pin脚被别的功能模块初始化过。

你检查下整个系统的pinmux设置,看看能否把你的设置提前。

liqin xiao:

回复 Jian Zhou:

乱响是在我设置成gpio口之后,从控制台打印信息中能看到我设置成功了,但后期不知道被谁改掉了能看到的源码中检查过都没有

liqin xiao:

回复 Jian Zhou:

内核中有一段看不到源码的am335x-pm-firmware.bin加载,不知道这里面有没有对uart1管脚的初始化

Jian Zhou:

回复 liqin xiao:

am335x-pm-firmware.bin这个理论上应该对你的UART1没什么影响。

你可以把怀疑的部分暂时裁剪掉,定位下问题出在什么地方。有的时候光分析代码定位不出来问题所在,可以逆向分析下。

leo chen:

回复 Jian Zhou:

这个问题确实很奇怪,但直观的想法,还是管脚的配置模式被改变了,代码里面应该是有体现的

你可以看看你的代码是从哪个版本中该出来的,然后参照他们的原理图找一找

或许会有所收获

赞(0)
未经允许不得转载:TI中文支持网 » AM335Xuart1的四个管脚复用问题
分享到: 更多 (0)