英创信息技术Linux调试串口转换为应用串口的方法

英创公司的em9x60系列工控主板(包括 em9160、em9360、em9460、em9660等)均具有7路物理串口。在linux系统中,6路串口作为应用串口,剩下的1路作为调试串口。一般情况下调试串口被系统内核所占用,用来显示内核输出信息以及console控制终端。这样的配置可满足大多数应用对串口的需求。
在一些特殊的应用中,需要的串口数超过6路,这时可把缺省作为调试的串口,经过一定的设置,转换为应用串口,其设备名称为“/dev/ttys0”。在实际操作中,往往是直接通过应用程序来实现这样的转换,具体的代码如下:
利用函数ioctl( fd, tioccons)来重新定义 console终端,应用程序使用完毕后,还可将终端恢复,该部分程序代码已经修改测试好。
重定向控制台终端console至tty1:
int fd;
printf('close cnsole\n');
fd = open('/dev/tty1',o_rdonly); // 改变console
ioctl( fd, tioccons );
close( fd );
恢复控制台终端console至缺省设置:
fd = open('/dev/tty0',o_rdonly); // 恢复console
ioctl( fd,tioccons );
close( fd );
printf('change console back: ttys0\n');
在使用调试口应用时,需要注意的是启动程序必须按照终端模式进行启动,而不能用execlp函数族的方式,因此我们调整了em9x60系列板卡启动管理程序在运行模式下的策略,应用程序需要按照脚本的方式进行启动,启动的方法就是客户编辑一个名为user.sh的脚本文件,并将该文件复制到em9x60系列板卡的/mnt/nandflash,user.sh的内容如:
#!/bin/sh
cd /mnt/nandflash/
/mnt/nandflash/step2_serialtest
这样在板卡将会自动运行step2_serilatest应用程序。

准晶双层石墨烯研究工作简单的介绍
基于齐规范标准的移动设备充电解决方案
盘点那些为跑而生智能软硬件TOP10
你的蓄电池离更换不远了
微软Win 10 现已登陆 8亿台设备,预计明年将超 10亿
英创信息技术Linux调试串口转换为应用串口的方法
WiMAX系统中两种多天线技术的原理和特点详述
AI不能取代医生的原因分析
超细金属丝弹性模量测试:单柱万能试验机+视频引伸计!
雷达传感器与其他传感器相比有何不同之处?
300块10分钟的VR体验如何?
diy物联网-6.实现远程控制9路继电器
小芯片大制作:泰斗微电子第五代卫星导航芯片开启“国产替代”
电池修复技术—详细讲解电瓶充电
雷柏3500PRO无线光学鼠标评测 独特的布艺造型让桌面不再单调
firefly NCC S1--MDK - SSD模型工具包介绍
工业物联网解决方案:PLC泵站远程监控系统
英特尔将要发布新款NUC产品,将采用前置Type-C连接设计
艾为聚焦三大马达驱动产品系列
有桥交错PFC拓扑简述