Linux下串口工具kermit的安装使用攻略

  终端(计算机显示终端)是用户使用系统的入口,是计算机系统的输入输出设备,终端的发展也经历了字符哑终端、图形终端和网络终端三种形式;而console更强调是控制系统的地方,其使用者主要是管理员,从概念上讲terminal的范围比console要广。
  相比Minicom而言,u-Boot开发者推荐使用串口通信软件ckermit,虽然Windows下超级终端比较好用,但是需要传输较大文件时,建议使用Linux下的kermit软件,速度明显比超级终端快;kermit是一款集成了串口通信和网络通信的工具,功能如下:
  1.支持kermit文件传输协议
  2.自定义了一种脚本语言,它强大而易于使用,可用于自动化工作
  3.无论是网络通信,还是串口通信,操作是一致的,并支持多种硬件、软件平台
  4.有安全认证、加密功能
  5.内建FTP、HTTP客户端功能及ssh接口
  6.支持字符集转换
  kermit在启动时会查找~/.kermrc文件,调用里面的命令来初始化kermit。只要将需要的命令写到~/.kermrc文件里,启动后就不用手动输入这些基本的命令配置了(或者不新建.kermrc文件的话要把以上配置信息添加到/etc/kermit/kermrc文件中)。
  1)安装kermit: $ sudo apt-get install ckermit
  2)在$HOME主目录下,建立.kermrc配置文件,文件内容如下:
  set line /dev/ttyUSB0
//ubuntu10.04.1版本以上改为/dev/ttyS1,但是如果使用USB转串口线是/dev/ttyUSB0
  set speed 115200
  set carrier-watch off
  set handshake none
  set flow-control none
  robust
  set file type bin
  set file name lit
  set rec pack 1000
  set send pack 1000 //这里可以改大一点,方便下载内核
  set window 5
  kermit程序有两种模式:一种是命令模式,在此模式下可以输入在主机上运行的各种kermit命令;另一种是非命令模式(也称为目标板的终端仿真模式或console模式),它是目标机的终端,屏幕输出的是目标板的运行信息提示,键盘键入的是目标板的输入,两种模式可以切换。
❤运行kermit -c命令时若报错:

kermit ?SET SPEED has no effect without prior SET LINE

说明.kermrc配置文件中的设备名有问题,或者是ttyS0、ttyUSB0、ttyUSB1这个具体要看/dev下设备的名称,把串口插上,再拔掉,看里面那个文件在变化,就知道要设置哪个文件名了。
❤直接进入命令模式:
  $kermit
这里没有-c就进入默认的命令模式了。

❤直接进入非命令模式:
  $kermit -c
这里,加上-c表示进入非命令模式,相当于在命令模式下面运行了connect或者c。在连接好了板子之后,就可以连接到串口上面了,当然不要忘记将设备打开,否则敲入命令的时候是没有反应的。

❤从非命令模式进入命令模式:
  1)输入”[Ctrl]+\”.
  2)再输入”c”.
这样进入kermit的命令模式可以进行各种命令(支持TAB补全),例如HELP可以查看帮助,输入”?”列出所有命令。 在串口通信下,外接键盘无法响应Ctrl+\和c组合键,使用笔记本上的按键就没问题。

❤从命令模式退回非命令模式(如com终端):
  输入”connect”或”c”.
这样又切换会了串口界面(例如目标板uboot启动界面)。

❤在命令模式下查看当前主机目录文件:
  输入”ls”.

❤在命令模式下查看当前路径:
  输入”pwd”.

❤在命令模式下进入指定的主机目录/home/test:
  输入”cd /home/test”.

❤在命令模式下传输文件file到板子的flash上面:
  输入”send file”.
这里,在命令行下的发送命令就是send。如果之前在uboot下使用了loadb 0xc0008000进入了命令模式,那么发送的文件将会被放在了这个地址上。

❤退出串口程序:
  在命令模式下输入”exit”或q.
  在非命令模式下先输入”[Ctrl]+/”,再输入q.

❤一个简单的完整例子:
启动板子uboot之后,想传一个文件/root/test.sh到地址0xc0008000
  步骤如下:
  1)$kermit -c
  这样,就连接到串口上面了。
  2)输入loadb 0xc0008000
  3)输入”[Ctrl]+\”
  4)输入”c”
  这样进入命令模式.
  5)输入send /root/test.sh
  6)输入”connect”.
  这样就传完了。ckermit好像只支持kermit协议。

❤注意,据说:
mincom和ckermit均不带xmodem和zmodem之类的协议,所以需要安装lrzsz这个软件,否则就会遇到传输不了文件或者timeout之类的错误。 下载和解压lrzsz后,进入目录执行 ./configure –prefix=/usr/local/lrzsz ,然后make,make install 最后建立软链接。
这个说法使用的配置文件是:
  set line /dev/ttyS0 //COM1
  set speed 115200
  set carrier-watch off
  set handshake none
  set flow-control none
  robust
  set file type bin
  set file name lit
  set rec pack 1000
  set send pack 100000 //这里可以改大一点,方便下载内核
  set window 5
  set protocol xmodem //vivi use xmodem
  set protocol zmodem //board Linux usually use rz/sz

PS:
如果不是在线安装的话,需要下载x.tar.gz或cku211.tar.gz
以cku211.tar.gz为例
   $ make linux //生成wermit文件,执行时可使用./wermit命令
  $ mv wermit /usr/local/bin/kermit //该命令将wermit复制到/usr/local/bin/目录下并重命名为kermit
当然使用软链接会好点,如下
  $ make linux
  $ cp -a wermit /usr/local/bin/
  $ ln -s wermit kermit
这样就可以在终端上输入kermit就可运行了。

  • 0
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值