《Linux设备驱动开发详解 A》一一3.8 串口工具

简介:

本节书摘来华章计算机出版社《Linux设备驱动开发详解 A》一书中的第3章,第3.8节,作者:宋宝华 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.8 串口工具

在嵌入式Linux的调试过程中,目标机往往会提供给主机一个串口控制台,驱动工程师在80%以上的情况下都是通过串口与目标机通信。因此,好用的串口工具将大大提高工程师的生产效率。
在Windows环境下,其附件内自带了超级终端,超级终端包括了对VT100、ANSI等终端仿真功能以及对xmodem、ymodem、zmodem等协议的支持。
在调试过程中,经常需要保存串口打印信息的历史记录,这时候可以使用“传送”菜单下的“捕获文字”功能来实现。
SecureCRT是比超级终端更强大且更方便的工具,它将SSH的安全登录、数据传送性能和Windows终端仿真提供的可靠性、可用性和可配置性结合在一起。鉴于SecureCRT具备比超级终端更强大且好用的功能,建议直接用SecureCRT替代超级终端。
在开发过程中,为执行自动化的串口发送操作,可以使用SecureCRT的VBScript脚本功能,让其运行一段脚本,自动捕获接收到的串口信息并向串口上发送指定的数据或文件。下面的脚本设置了SecureCRT等待至接收到“CCC”字符串后通过xmodem协议发送file.bin文件,接着,当接收到“y/n”时,选择“y”。

#$language = "VBScript"
 #$interface = "1.0"
  
 Sub main    
    Dir = "d:\baohua\"
    ' turn on synchronous mode so we don't miss any data
    crt.Screen.Synchronous = True
    'wait "CCC" string then send f?ile
    crt.Screen.WaitForString "CCC"
   crt.F?ileTransfer.SendXmodem Dir & "f?ile.bin"  
   'wait "y/n" string then send "y"
   crt.Screen.WaitForString "y/n"
   crt.Screen.Send "y" & VbCr
 End Sub

另外,在Windows环境下,也可以选用PuTTY工具,该工具非常小巧,而功能很强大,可支持串口、Telnet和SSH等,其官方网址为http://www.chiark.greenend.org.uk/~sgtatham/putty/
Minicom是Linux系统下常用的类似于Windows下超级终端的工具,当要发送文件或设置串口时,需先按下“Ctrl+A”键,紧接着按下“Z”键激活菜单,如图3.14所示。
image

图3.14 Minicom
除了Minicom以外,在Linux系统下,也可以直接使用C-Kermit。运行kermit命令即可启动C-Kermit。在使用C-Kermit连接目标板之前,需先进行串口设置,如下所示:

set line /dev/ttyS0
set speed 115200
set carrier-watch off
set handshake none
set flow-control none
robust
set f?ile type bin
set f?ile name lit
set rec pack 1000
set send pack 1000
set window 5

之后,使用以下命令就可以将kermit连接到目标板:
connect
在kermit的使用过程中,会涉及串口控制台和kermit功能模式之间的切换,从串口控制台切换到kermit的方法是按下“Ctrl + ”键,然后再按下“C” 键。
假设我们在串口控制台上敲入命令,使得目标板进入文件接收等待状态,此后可按下“Ctrl + ” 键,再按“C” 键,切换到kermit,运行“send /file_name”命令传输文件。文件传输结束后,再运行“c”命令,将进入串口控制台。

相关文章
|
2天前
|
Linux Shell 开发者
|
2天前
|
Linux C语言
|
7天前
|
数据采集 Linux Go
Linux系统是如何控制串口收发数据的?
Linux系统是如何控制串口收发数据的?
17 0
|
7天前
|
安全 Linux Python
Volatility3内存取证工具安装及入门在Linux下的安装教程
Volatility3内存取证工具安装及入门在Linux下的安装教程
Volatility3内存取证工具安装及入门在Linux下的安装教程
|
7天前
|
数据可视化 小程序 Linux
【Linux】自动化构建工具make/Makefile和git介绍
【Linux】自动化构建工具make/Makefile和git介绍
14 0
|
9天前
|
安全 Linux Android开发
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
该文介绍了如何在Linux服务器上交叉编译Android的FFmpeg库以支持HTTPS视频播放。首先,从GitHub下载openssl源码,解压后通过编译脚本`build_openssl.sh`生成64位静态库。接着,更新环境变量加载openssl,并编辑FFmpeg配置脚本`config_ffmpeg_openssl.sh`启用openssl支持。然后,编译安装FFmpeg。最后,将编译好的库文件导入App工程的相应目录,修改视频链接为HTTPS,App即可播放HTTPS在线视频。
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
|
9天前
|
缓存 Linux
linux性能分析之内存分析(free,vmstat,top,ps,pmap等工具使用介绍)
这些工具可以帮助你监视系统的内存使用情况、识别内存泄漏、找到高内存消耗的进程等。根据具体的问题和需求,你可以选择使用其中一个或多个工具来进行内存性能分析。注意,内存分析通常需要综合考虑多个指标和工具的输出,以便更好地理解系统的行为并采取相应的优化措施。
28 6
|
13天前
|
Linux
Linux课程四课---Linux开发环境的使用(自动化构建工具-make/Makefile的相关)
Linux课程四课---Linux开发环境的使用(自动化构建工具-make/Makefile的相关)