终端(计算机显示终端)是用户使用系统的入口,是计算机系统的输入输出设备,终端的发展也经历了字符哑终端、图形终端和网络终端三种形式;而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就可运行了。

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐