全志V3S 调试串口更改或关闭

有时项目外设比较多,很容易造成串口不够用的情况。

最近就遇到了,新增加一个GPS模块串口的,串口现在外部只有原来的调试串口可以用,所以

尝试将调试口更改为普通串口。

经过网上看大神们的文章和自己摸索,总结如下:

V3S 修改调试串口步骤:

第一步修改设备树:

路径~/corelinux/v3ssdk/tools/pack/chips/sun8iw8p1/configs/tiger-spinand-standard/sys_config.fex

根据需求修改对应的uart.
;[uart_para]
uart_debug_port =0;

107 ;[uart_para]
108 ;uart_debug_port = 0
109 ;uart_debug_tx = port:PB08<3><1><default><default>
110 ;uart_debug_rx = port:PB09<3><1><default><default>
111
112 uart_debug_port = 2
113 uart_debug_tx = port:PB00<2><1><default><default>
114 uart_debug_rx = port:PB01<2><1><default><default>

第二步修改系统环境配置文件

路径~/corelinux/v3ssdk/tools/pack/chips/sun8iw8p1/configs/default/env.cfg

更改console =ttyS0,115200 ->console =ttyS2,115200

 

第三步修改终端重定向串口

路径:prebuilt/rootfs-override/etc/inittab

ttyS0::respawn:/sbin/getty -L  ttyS0 0 vt100 # GENERIC_SERIAL

ttyS2::respawn:/sbin/getty -L  ttyS2 0 vt100 # GENERIC_SERIAL

 

将调试串口断掉方法。
将以上3步骤对应的设置都注释掉

 

修改后编译调试:

用ssh网口进行调试。

查看串口波特率等信息:
stty -F /dev/ttyS0 -a #ttyS0为要查看的串口

设置串口参数:
stty -F /dev/ttyS0 ispeed 115200 ospeed 115200 cs8
该命令将串口1(/dev/ttyS0)设置成115200波特率,8位数据模式。

根据信息配置电脑的串口助手

echo "test" > /dev/ttyS0

电脑串口助手 即可收到 test.

串口助手发送test 一定要加上回车+换行

终端 cat /dev/ttyS0

 

过程中遇到的问题:

在linux 下 cat /dev/ttyS0 接收.

但奇怪的是 cat /dev/ttyS0没有显示受到认识数据,反而是我的串口调试助手收到了返回!!

linux端不用 cat /dev/ttyS0读的时候没有返回!

原因:

1.windows要发送可显示字符,cat才能显示出来。

2.串口调试助手设置了回显功能。

3.windows的串口调试软件发送时多发一个回车键就行了,而且之前发过去没显示的都会显示出来。这跟linux下printf不加"\n"就没显示是一个道理的。

 

关闭后如何在应用层打开的方法

写一个脚本执行open_console.sh。

不写在脚本里面,直接在终端执行是否可以?

在终端中执行getty 会报错误因为getty 要是一个会话的领导者(网上看的,不太懂),所以要执行脚本open_console.sh。

#!/bin/sh
#
# 
#

#/sbin/getty -L ttyS0 0 115200 vt100
/sbin/getty -L ttyS0 115200 linux &
exit 0

 

热门相关:骑士归来   豪门闪婚:帝少的神秘冷妻   网游之逆天飞扬   网游之逆天飞扬   天启预报