本节书摘来华章计算机出版社《linux设备驱动开发详解 a》一书中的第3章,第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”。
minicom是linux系统下常用的类似于windows下超级终端的工具,当要发送文件或设置串口时,需先按下“ctrl+a”键,紧接着按下“z”键激活菜单,如图3.14所示。
图3.14 minicom
除了minicom以外,在linux系统下,也可以直接使用c-kermit。运行kermit命令即可启动c-kermit。在使用c-kermit连接目标板之前,需先进行串口设置,如下所示:
之后,使用以下命令就可以将kermit连接到目标板:
connect
在kermit的使用过程中,会涉及串口控制台和kermit功能模式之间的切换,从串口控制台切换到kermit的方法是按下“ctrl + ”键,然后再按下“c” 键。
假设我们在串口控制台上敲入命令,使得目标板进入文件接收等待状态,此后可按下“ctrl + ” 键,再按“c” 键,切换到kermit,运行“send /file_name”命令传输文件。文件传输结束后,再运行“c”命令,将进入串口控制台。