使用kermit经过串口升级uboot

在开发板的启动选项中看到以下两行:html

7: Load Boot Loader code then write to Flash via Serial. shell

9: Load Boot Loader code then write to Flash via TFTP.安全

能够经过串口升级uboot。以前都是经过TFTP升级的,如今既然能够经过串口升级,就试着升一下吧,否则内心总以为少了点什么。网络

在板子启动的时候,输入“7”来选择经过串口升级uboot,而后看到下面的输出:session

## Ready for binary (kermit) download to 0x80100000 at 57600 bps...工具

那么问题来了,kermit是什么?加密

经过搜索资料知道,kermit是一种简单的文件传输协议,可用于PC之间交换文件,以及从大型计算机下载文件到微机。该协议是由哥伦比亚大学的kermit项目组成员开发和维护的,是一个半双工的通讯协议。有关kermit的详细资料请查看其官网:http://www.columbia.edu/kermit/ck80.htmlspa

 

ckermit串口工具code

在Linux环境下使用较多的两款串口软件分别是minicom和ckermit,其中minicom用得最多,很多Linux发行版已经自带。但很多人反映minicom有时会有问题,u-boot开发者也都推荐使用ckermit,下面咱们就来认识一下ckermit串口工具。htm

c-kermit是基于kermit文件传输协议的串口工具,其配置和使用较为简单,以下所示:

【功能】

一、支持kermit文件传输协议

二、自定义了一种脚本语言,可用于自动化工做

三、不管是网络通讯仍是串口通讯,其操做是一致的,并支持多种硬件、软件平台

四、有安全认证、加密功能

五、内建FTP、HTTP客户端功能以及SSH接口

六、支持字符集转换

【安装】

$ sudo apt-get install ckermit

【配置】

c-kermit启动时,会从当前用户目录下查找.kermrc配置文件,所以咱们先在$HOME目录下建立一个.kermrc文件,而后编辑文件内容以下:

set line /dev/ttyUSB0  # 根据实际状况填写

set speed 57600    # 根据实际状况填写

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有两种工做模式:命令模式和链接模式,默认状况为命令模式。所谓链接模式,便可以从开发板中读取数据。

$ sudo kermit

这里使用root权限,直接进入命令模式。在该模式下输入"connect"或"c"则进入链接模式。

$ sudo kermit -c

使用这种方式启动ckermit,直接进入链接模式。从链接模式退回到命令模式先输入"[Ctrl]\",接着再输入"c"便可。

在命令模式下能够输入shell命令来进行相应的操做,如cd、ls、pwd等。

传输文件可使用命令:send filename

退出ckermit可使用命令:exit

保存log命令:log session

该命令则会在当前目录下生成一个session.log文件,该文件保存了本次会话的串口信息。

【举例】

步骤1:

$ sudo kermit -c

与开发板的串口创建链接。

步骤2:

上电,板子启动,输入"7",进入经过串口升级uboot等待状态。

步骤3:

输入"[Ctrl]\",在输入"c",进行ckermit命令模式。

步骤4:

输入发送文件命令:send uboot.bin

开始传送文件……

步骤5:

文件传送完毕,此时仍处于命令模式,输入"c",再次进入链接模式,经过串口与开发板通讯。

至此,举例完毕!

相关文章
相关标签/搜索