《Linux设备驱动开发详解 A》一一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所示。

图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”命令,将进入串口控制台。

时间: 2024-10-21 17:05:49

《Linux设备驱动开发详解 A》一一3.8 串口工具的相关文章

《Linux 设备驱动开发详解(第2版)》——1.6 设备驱动Hello World:LED驱动

1.6 设备驱动Hello World:LED驱动 Linux 设备驱动开发详解(第2版)1.6.1 无操作系统时的LED驱动 在嵌入式系统的设计中,LED一般直接由CPU的GPIO(通用可编程I/O口)控制.GPIO一般由两组寄存器控制,即一组控制寄存器和一组数据寄存器.控制寄存器可设置GPIO口的工作方式为输入或是输出.当引脚被设置为输出时,向数据寄存器的对应位写入1和0会分别在引脚上产生高电平和低电平:当引脚设置为输入时,读取数据寄存器的对应位可获得引脚上的电平为高或低. 在本例子中,我们

《Linux 设备驱动开发详解(第2版)》——1.4 Linux设备驱动

1.4 Linux设备驱动 Linux 设备驱动开发详解(第2版)1.4.1 设备的分类及特点 计算机系统的硬件主要由CPU.存储器和外设组成.随着IC制作工艺的发展,目前,芯片的集成度越来越高,往往在CPU内部就集成了存储器和外设适配器.譬如,相当多的ARM.PowerPC.MIPS等处理器都集成了UART.I2C控制器.USB控制器.SDRAM控制器等,有的处理器还集成了片内RAM和Flash. 驱动针对的对象是存储器和外设(包括CPU内部集成的存储器和外设),而不是针对CPU核.Linux

《Linux 设备驱动开发详解(第2版)》——1.3 有操作系统时的设备驱动

1.3 有操作系统时的设备驱动 Linux 设备驱动开发详解(第2版)1.2节中我们看到一个干净利落的设备驱动,它直接运行在硬件之上,不与任何操作系统关联.当系统中包含操作系统后,设备驱动会变得怎样? 首先,无操作系统时设备驱动的硬件操作工作仍然是必不可少的,没有这一部分,驱动不可能与硬件打交道. 其次,我们还需要将驱动融入内核.为了实现这种融合,必须在所有设备的驱动中设计面向操作系统内核的接口,这样的接口由操作系统规定,对一类设备而言结构一致,独立于具体的设备. 由此可见,当系统中存在操作系统

《Linux 设备驱动开发详解(第2版)》——1.2 无操作系统时的设备驱动

1.2 无操作系统时的设备驱动 Linux 设备驱动开发详解(第2版)并不是任何一个计算机系统都一定要运行操作系统,在许多情况下,操作系统都不必存在.对于功能比较单一.控制并不复杂的系统,譬如ASIC内部.公交车的刷卡机.电冰箱.微波炉.简单的手机和小灵通等,并不需要多任务调度.文件系统.内存管理等复杂功能,用单任务架构完全可以良好地支持它们的工作.一个无限循环中夹杂对设备中断的检测或者对设备的轮询是这种系统中软件的典型架构,如代码清单1.1. 代码清单1.1 单任务软件典型架构 1 int m

《Linux设备驱动开发详解 A》一一第1章 Linux设备驱动概述及开发环境构建

第1章 Linux设备驱动概述及开发环境构建本章导读本章将介绍Linux设备驱动开发的基本概念,并对本书所基于的平台和开发环境进行讲解.1.1节阐明设备驱动的概念和作用.1.2节和1.3节分别讲解在无操作系统情况下和有操作系统情况下设备驱动的设计,通过对设计差异的分析,讲解设备驱动与硬件和操作系统的关系.1.4节对Linux操作系统的设备驱动进行了概要性的介绍,给出设备驱动与整个软硬件系统的关系,分析Linux设备驱动的重点.难点和学习方法.1.5节对本书所基于的QEMU模拟的vexpress

《Linux 设备驱动开发详解(第2版)》——导读

前言 本书第1版在2008年初出版以后,受到广大读者的支持和厚爱,累计销售1.6万册,从几年的市场和读者反馈看,在第1版中还存在一些不足,主要是以下几方面. 没有现成的开发环境,读者需要从头到尾构建,而构建需要花费很长的时间,许多时候会不成功,加之配套光盘中的实例没有Makefile,更加大了操作的难度. 没有配套的开发板,大量的基于S3C2410的实例读者身边如果没有可以直接运行的平台,就无法亲身体验这些驱动. 个别内容实用性不强或过于陈旧,也有个别知识点的讲解语言晦涩,读者不易理解,如pla

《Linux设备驱动开发详解 A》一一1.5 Linux设备驱动的开发环境构建

1.5 Linux设备驱动的开发环境构建 1.5.1 PC上的Linux环境 本书配套资源提供了一个Ubuntu的VirtualBox虚拟机映像,该虚拟机上安装了本书涉及的所有源代码.工具链和各种开发工具,读者无须再安装和配置任何环境.该虚拟机可运行于Windows.Ubuntu等操作系统中,运行方法如下. 1)安装VirtualBox. 如果主机为Windows系统,请安装VirtualBox WIN版本: VirtualBox-4.3.20-96997-Win.exe 如果主机为Ubuntu

《Linux设备驱动开发详解 A》一一3.1 Linux内核的发展与演变

3.1 Linux内核的发展与演变 Linux操作系统是UNIX操作系统的一种克隆系统,是一种类UNIX操作系统,诞生于1991年10月5日(第一次正式向外公布的时间),起初的作者是Linus Torvalds.Linux操作系统的诞生.发展和成长过程依赖着5个重要支柱:UNIX操作系统.Minix操作系统.GNU计划.POSIX标准和Internet. 1.?UNIX操作系统 UNIX 操作系统是美国贝尔实验室的Ken. Thompson和Dennis Ritchie于1969年夏在DEC P

《Linux设备驱动开发详解 A》一一3.4 Linux内核的编译及加载

3.4 Linux内核的编译及加载 3.4.1 Linux内核的编译 Linux驱动开发者需要牢固地掌握Linux内核的编译方法以为嵌入式系统构建可运行的Linux操作系统映像.在编译内核时,需要配置内核,可以使用下面命令中的一个: make conf?ig(基于文本的最为传统的配置界面,不推荐使用) make menuconf?ig(基于文本菜单的配置界面) make xconf?ig(要求QT被安装) make gconf?ig(要求GTK+被安装) 在配置Linux内核所使用的make c

《Linux设备驱动开发详解 A》一一1.1 设备驱动的作用

1.1 设备驱动的作用 任何一个计算机系统的运转都是系统中软硬件共同努力的结果,没有硬件的软件是空中楼阁,而没有软件的硬件则只是一堆废铁.硬件是底层基础,是所有软件得以运行的平台,代码最终会落实为硬件上的组合逻辑与时序逻辑:软件则实现了具体应用,它按照各种不同的业务需求而设计,并完成用户的最终诉求.硬件较固定,软件则很灵活,可以适应各种复杂多变的应用.因此,计算机系统的软硬件相互成就了对方.但是,软硬件之间同样存在着悖论,那就是软件和硬件不应该互相渗透入对方的领地.为尽可能快速地完成设计,应用软