英创公司的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应用程序。
-
Linux
+关注
关注
88文章
11628浏览量
217968 -
嵌入式主板
+关注
关注
7文章
6107浏览量
36950
发布评论请先 登录
诊断型串口线详解
外部晶振在USB转串口模块的应用
串口转网口网关有哪些功能应用
智嵌物联串口转光纤转换器-延长串口通信距离,增强抗干扰性能
科普|信创是什么?一文读懂“信息技术应用创新”战略
串口网关是什么
1分钟学会T113-i核心板串口调试技巧
【教程】使用NE2系列串口服务器MQTT模式接入云平台实例
瑞芯微开发板/主板Android调试串口配置为普通串口方法
为什么你的串口总是丢一些特殊字符?

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