介紹Linux下經典的檔案傳輸工具: lrzsz

來源:互聯網
上載者:User

公司有個用ARM940T做的手持式產品,我們移植了一個uClinux上去,系統還是運行不錯的。

因為沒有帶網口,只有USB轉串口可以使用,所以想尋找一個穩定的傳輸途徑,在host和device之間分頁檔。問了很多人都不清楚,還是要靠自己找解決方案。

在google上找了半天,終於找到了一個可以通過串口傳送檔案的軟體,這就是古董級的Unix工具:lrzsz。lrzsz可以通過Xmodem,Ymodem,Zmodem協議傳送檔案。

在uClinux的user目錄下,我找到了這個lrzsz目錄,說明uClinux應該是可以運行lrzsz的。編譯uClinux的時候,選上lrzsz,編譯,燒錄進開發板,上電,運行,其中lrzsz編譯出來兩個檔案,一個是lrz用於接收檔案,一個是lsz用於傳送檔案。

在Windows上用超級終端開啟串口,連上uClinux,輸入以下命令:

    cd /bin
    lsz *

第一個命令是進入bin目錄,第二個lsz命令是發送全部檔案。

輸入以後,超級終端立刻彈出一個介面,顯示一個檔案正在傳送中,包括進度,檔案名稱,使用的協議是zmodem,哈哈,很酷哦!

全部檔案發送完畢後,都放在了一個預設目錄下面。

從host端傳送檔案到device端,也是很容易的,但是要保證RamDisk有足夠的空間。我一開始沒有注意RamDisk只有128KB,卻傳送了1MB的檔案,結果傳送完畢後,系統就掛了,注意注意!

採用這個命令:

    cd /var
    lrz -Z

第一個命令是進入RamDisk,應該保證這個目錄是可寫的,並且保證大小應該超過傳送的檔案。

第二個命令是接收檔案,使用Zmodem協議。

運行命令後,在超級終端下選擇“傳送檔案”,選擇“Zmodem協議”,選擇一個檔案,即可將檔案通過串口發送到device的var目錄下。

 在Windows下可以用超級終端,在Linux下應該用什麼終端工具?

答案是:c-Kermit,我在ubuntu下裝了minicom,但是跑不起來,其中u-boot的網頁上也說minicom不一定能用。下載一個c-kermit,就可以與device通訊了。就不再多說啦!

2009.06.19: 

補充一下, kermit 可以設定為用某個協議發送和接收檔案,如果要從PC傳送檔案到開發板,必須設定這個重要的protocol.

這是我的.kermrc檔案:

set line /dev/ttyS0
set speed 38400
set carrier-watch off
set handshake none
set flow-control none
robust
set file type bin
set file name lit
set rec pack 1024
set send pack 1024
set window 5
set protocol zmodem

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.