使用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",再次進入鏈接模式,經過串口與開發板通訊。

至此,舉例完畢!

相關文章
相關標籤/搜索