由于mt7620n只有一个UART lite接口,在原生的OpenWrt中作为了内核打印和tty控制台所用。
而在很多情况下,需要使用串口与外部芯片就行通讯,这时就需要从OpenWrt中释放串口。
其实这个任务只有两个步骤:(我们假定$(TOPDIR)为OpenWrt的编译目录)
关闭串口控制台
将$(TOPDIR)/target/linux/ramips/base-files/etc/inittab文件里的下面一句注释掉
::askconsole:/bin/ash --login
$ vi $(TOPDIR)/target/linux/ramips/base-files/etc/inittab
::sysinit:/etc/init.d/rcS S boot ::shutdown:/etc/init.d/rcS K shutdown #::askconsole:/bin/ash --login
关闭内核打印
在$(TOPDIR)/package/base-files/files/etc/config/system文件添加以下两句
option 'conloglevel' '1' option 'kconloglevel' '1'
$ vi $(TOPDIR)/package/base-files/files/etc/config/system
config system option 'conloglevel' '1' option 'kconloglevel' '1' option hostname OpenWrt option timezone UTC config timeserver ntp list server 0.openwrt.pool.ntp.org list server 1.openwrt.pool.ntp.org list server 2.openwrt.pool.ntp.org list server 3.openwrt.pool.ntp.org option enable_server 0
通过以上两个步骤,就可以关闭OpenWrt中所有的系统串口互动,除系统刚刚启动前十余秒的uboot打印信息和Kernel早期打印信息(关于这个部分的残余打印信息,建议在下位机开发的时候做出冗余)。
以上的方法是在OpenWrt的源码里修改,编译新的固件,将新的固件烧进WRTnode便可释放串口。
由于OpenWrt文件系统的可写性,也可以直接修改WRTnode现有固件里的/etc/inittab和/etc/config/system文件,重启后即可释放串口。
本站的文章和资源来自互联网或者站长的原创,按照 CC BY -NC -SA 3.0 CN协议发布和共享,转载或引用本站文章应遵循相同协议。如果有侵犯版权的资 源请尽快联系站长,我们会在24h内删除有争议的资源。欢迎大家多多交流,期待共同学习进步。