0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

英创信息技术 来源:英创信息技术 作者:英创信息技术 2020-01-16 09:28 次阅读

英创公司的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
    +关注

    关注

    87

    文章

    11357

    浏览量

    210840
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6089

    浏览量

    35719
收藏 人收藏

    相关推荐

    瑞芯微开发板/主板Android调试串口配置为普通串口方法

    ​本文介绍瑞芯微开发板/主板Android调试串口配置为普通串口方法,不同板型找到对应文件修改,修改的方法相通。触觉智能RK3562开发板演
    的头像 发表于 02-11 11:57 204次阅读
    瑞芯微开发板/主板Android<b class='flag-5'>调试</b><b class='flag-5'>串口</b>配置为普通<b class='flag-5'>串口</b><b class='flag-5'>方法</b>

    为什么你的串口总是丢一些特殊字符?

    导读在嵌入式开发和物联网应用中,Linux系统的串口通信至关重要。本文将简单介绍Linux串口设备的命名规则和termios结构体,并解析终端的三种工作模式,帮助开发者更好地掌握
    的头像 发表于 02-06 13:26 97次阅读
    为什么你的<b class='flag-5'>串口</b>总是丢一些特殊字符?

    串口中断是内部中断还是外部中断,串口中断是怎么触发的

    串口中断通常被视为外部中断。虽然串口控制器(如USART、UART等)可能集成在微控制器或处理器的内部,但从中断的角度来看,串口中断是由处理器外部的通信事件触发的。这些事件包括数据的接收、发送完成、错误检测等,它们通过
    的头像 发表于 01-29 15:03 304次阅读

    串口通讯异常处理方法 串口设备连接方式

    串口通信异常处理方法 1. 异常检测 在串口通信中,首先需要能够检测到异常情况。异常检测可以通过以下几种方式实现: 硬件检测 :利用串口硬件的中断和状态寄存器来检测异常,如接收到错误帧
    的头像 发表于 12-27 09:53 1160次阅读

    嵌入式工程师都在找的【Linux内核调试技术】建议收藏!

    在嵌入式系统的开发中,Linux内核调试是一个至关重要的环节。 随着处理器技术的不断进步和嵌入式领域的蓬勃发展,掌握有效的内核调试技术成为
    发表于 11-28 15:37

    为什么通信要使用虚拟串口串口助手?

    串口助手和虚拟串口是什么?串口助手和虚拟串口串口通信中很常见。串口助手是用于
    的头像 发表于 11-15 01:04 1994次阅读
    为什么通信要使用虚拟<b class='flag-5'>串口</b>和<b class='flag-5'>串口</b>助手?

    中科达荣获2024年软件和信息技术服务优秀企业

    及前百家企业”名单。中科达凭借非凡的技术实力与持续的创新能力,成功入选“2024年度软件和信息技术服务竞争力百强企业”以及“2024年软件和信息技术服务优秀企业”。
    的头像 发表于 10-30 11:44 589次阅读

    无线串口模块—配置软件以及串口助手的使用

    1、适用型号 本文适用于无线串口模块调试。 文中的软件界面截图,可能会由于软件系列、软件版本不同而略有区别。 2、使用参数设置软件RF_Setting 使用方法(以E32-433TBL-01
    的头像 发表于 10-17 18:08 429次阅读
    无线<b class='flag-5'>串口</b>模块—配置软件以及<b class='flag-5'>串口</b>助手的使用

    全志A133开发板安卓系统调试串口复用成普通串口方法-触觉智能EVB1309

    本文介绍了在开发板/主板串口接口不够的情况下,可将调试串口改为普通串口使用。基于触觉智能的全志A133开发板(型号EVB1309)演示,该主板高性能超低功耗,待机功耗低至15mW
    的头像 发表于 09-26 18:44 2358次阅读
    全志A133开发板安卓系统<b class='flag-5'>调试</b><b class='flag-5'>串口</b>复用成普通<b class='flag-5'>串口</b><b class='flag-5'>方法</b>-触觉智能EVB1309

    更强的无线(双)串口数据记录 调试工具

    1、介绍这是一个具备Wi-Fi功能的无线双串口调试工具;除了基本的无线串口外还具备将串口数据自动记录到TF卡,可自定义数据上报地址,预留可定义IO功能逻辑等功能,具有很高的可玩性;配合
    的头像 发表于 08-02 08:11 834次阅读
    更强的无线(双)<b class='flag-5'>串口</b>数据记录 <b class='flag-5'>调试</b>工具

    USB转串口串口卡的性能比较

    产品。 一、USB转串口串口卡的基本概念 USB转串口 USB转串口是一种将USB接口转换为串口
    的头像 发表于 07-15 15:21 1078次阅读

    STC串口驱动调试程序

    STC的串口驱动调试程序。
    发表于 07-08 14:23 3次下载

    使用串口调试工具Vofa+调试CW32

    数据接收。 1.接收数据 选择调试方式,并选择接口: 配置串口参数: 注意这里串口参数的配置要和程序里的代码设置一致,否则可能接
    的头像 发表于 05-31 17:22 2070次阅读
    使用<b class='flag-5'>串口</b><b class='flag-5'>调试</b>工具Vofa+<b class='flag-5'>调试</b>CW32

    串口屏的安装方式方法

    串口屏的安装方式方法
    的头像 发表于 04-02 16:25 1615次阅读

    物通博联485转换网关:实现设备485串口数据转换为Modbus TCP协议

    通讯方式虽然稳定可靠,但是在长距离和高速通讯方面存在限制。为了解决这个问题,物通博联推出了一款功能强大的485转换网关,可以将设备485串口数据转换为modbus tcp协议,解决不同设备之间的通信兼容性问题,实现设备间的高效通
    的头像 发表于 03-04 17:10 1790次阅读
    物通博联485<b class='flag-5'>转换</b>网关:实现设备485<b class='flag-5'>串口</b>数据<b class='flag-5'>转换为</b>Modbus TCP协议