Linxux應用開發-串口下載命令rzsz交叉編譯
1.1 簡介
rz/sz工具是通過Zmodem協議傳輸文件的命令,常用于Linux與windows之前的數據傳輸。
這篇文章就介紹如何在交叉編譯rz/sz命令,并在Linux開發板上完成測試。
1.1.1 什么是rz/sz (lsz/lrz)
rz/sz 通過Zmodem協議傳輸數據的命令,通過串口協議傳輸,速度較慢,只是適合小文件,如果大文件不適合用這個方法,大文件一般使用NFS或者FTP網絡方式傳輸。
1.1.2 為什么要用rz/sz
普通Linux和Windows之間的文件共享方法,主要有建立nfs實現文件共享,和tftp之類的方法,但是都很麻煩,而如果只是小文件(幾十 K,幾百K),那么直接用rz/sz,就顯得極其地方便了。大文件的話,還是要考慮上面說得,其他的共享方法了,畢竟,rz/sz速度只有10K左右。
1.1.3 如何使用
(1)在Windows下,用SecureCRT(或者Windows自帶的超級終端)連接Com端口到開發板,或者ssh等協議連接到Linux服務器上。
(2)在Linux端,安裝了rz/sz (lrz/lsz)工具后(嵌入式開發中,多數已經將編譯好的rz/sz工具放到rootfs中了,普通的Linux系統,如果沒有,可以下載源碼,自己安裝),就可以直接運行rz/sz,實現和Windows之間的文件傳輸了:
A、從windows中拷貝/下載文件到Linux(開發板):
運行rz后,會自動彈出WIndows下的文件選擇對話框,選擇對應文件后,添加,然后確定,就開始傳輸,將windows中的文件,拷貝到Linux中了。
B、將Linux中的文件拷貝到Windows中某個文件夾:
執行sz file_name 就可以將Linux當前文件夾下的文件file_name拷貝到Windows的對應目錄中了,其中,Windows目錄是由你當前運行的工具中設定的。
此處我用的是SecureCRT,具體的更改 rz上傳/sz下載 的默認的路徑的方法:
點擊選項 -> 會話選項 -> Xmodem/Zmodem ->配置下載和上傳目錄:
1.2 移植
1.2.1 源碼獲取
rz,sz是Linux/Unix同Windows進行ZModem文件傳輸的命令行工具
windows端需要支持ZModem的telnet/ssh客戶端(比如SecureCRT)
下載軟件 rzsz-3.48.tar.gz地址:
ttp://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz
1.2.2 解壓
將源碼包拷貝到linux系統下解壓。
[root@xiaolong usart_down]# ls rzsz-3.48.tar.gz [root@xiaolong usart_down]# tar xvf rzsz-3.48.tar.gz
1.2.3 修改Makefile
進入到解壓后的src目錄。
[root@xiaolong src]# gedit Makefile 修改:CC=arm-linux-gcc
1.2.4 編譯安裝
[root@xiaolong src]# make posix
注意:這個軟件安裝與常規的GNU軟件不同,沒有configure(配置)及make install (安裝過程)。
1.2.5 拷貝生成的命令
編譯成功后在頂層目錄下就可以看到生成的可執行文件。
這些可執行文件對應不同的傳輸協議。如:ZMODEM / YMODEM / XMODEM協議
將綠色的文件全部拷貝到開發板根文件系統的bin目錄下。
示例:
[root@xiaolong src]# cp rb rc rx rz sb sx sz zcommand zcommandi /work/rootfs/bin/
如果在終端執行命令提示缺少庫文件,需要到交叉編譯器的安裝路徑下去拷貝。
路徑:
/work/arm-linux-gcc/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root/lib/
1.2.6 測試命令
**sz命令:**將選定的文件發送(send)到本地機器。
**rz命令:**運行該命令會彈出一個文件選擇窗口,從本地選擇文件上傳到服務器(receive)。
(在哪個目錄下執行rz指令,那么文件就放在哪個目錄下)
將文件傳輸到window下。(文件接收的目錄可以通過CRT軟件進行配置)。
Linux Windows
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。