關鍵詞:lrzsz、minicom、ZMODEM、MD5sum等。windows
在環境受限的嵌入式系統上,每每只有串口能夠使用。app
此時若是須要傳輸文件,須要藉助rz/sz工具,能夠使用的傳輸協議有ZMODEM、YMODEM、XMODEM,通常首選的是ZMODEM。socket
這裏記錄minicom下使用rz/sz進行文件傳輸的操做。tcp
首先說明一下rz和sz的文件傳輸方向,這些命令都是在調試板上執行的,調試板經過串口和PC相連。ide
rz表示調試版發起從PC接收文件,sz表示調試版發送向PC傳送文件。工具
經過buildroot打開Target packages->Networking applications->lrzsz,也即打開了BR2_PACKAGE_LRZSZ。ui
首先看一下sz的使用,最簡單的就是「sz filename」,傳送的文件默認在啓動minicom的路徑。this
若是想指定路徑能夠經過「sz -f full_path_name」實現,這種方法會在目標板上一樣地址保存文件。這樣作須要謹慎。spa
在文件傳輸結束後,調試版和PC兩邊經過md5sum驗證一下傳輸數據有效性。debug
更多使用方法:
sz version 0.12.20 Usage: sz [options] file ... or: sz [options] -{c|i} COMMAND Send file(s) with ZMODEM/YMODEM/XMODEM protocol (X) = option applies to XMODEM only (Y) = option applies to YMODEM only (Z) = option applies to ZMODEM only -+, --append append to existing destination file (Z) -2, --twostop use 2 stop bits -4, --try-4k go up to 4K blocksize --start-4k start with 4K blocksize (doesn't try 8) -8, --try-8k go up to 8K blocksize --start-8k start with 8K blocksize -a, --ascii ASCII transfer (change CR/LF to LF) -b, --binary binary transfer -B, --bufsize N buffer N bytes (N==auto: buffer whole file) -c, --command COMMAND execute remote command COMMAND (Z) -C, --command-tries N try N times to execute a command (Z) -d, --dot-to-slash change '.' to '/' in pathnames (Y/Z) --delay-startup N sleep N seconds before doing anything -e, --escape escape all control characters (Z) -E, --rename force receiver to rename files it already has -f, --full-path send full pathname (Y/Z) -i, --immediate-command CMD send remote CMD, return immediately (Z) -h, --help print this usage message -k, --1k send 1024 byte packets (X) -L, --packetlen N limit subpacket length to N bytes (Z) -l, --framelen N limit frame length to N bytes (l>=L) (Z) -m, --min-bps N stop transmission if BPS below N -M, --min-bps-time N for at least N seconds (default: 120) -n, --newer send file if source newer (Z) -N, --newer-or-longer send file if source newer or longer (Z) -o, --16-bit-crc use 16 bit CRC instead of 32 bit CRC (Z) -O, --disable-timeouts disable timeout code, wait forever -p, --protect protect existing destination file (Z) -r, --resume resume interrupted file transfer (Z) -R, --restricted restricted, more secure mode -q, --quiet quiet (no progress reports) -s, --stop-at {HH:MM|+N} stop transmission at HH:MM or in N seconds --tcp build a TCP connection to transmit files --tcp-server open socket, wait for connection -u, --unlink unlink file after transmission -U, --unrestrict turn off restricted mode (if allowed to) -v, --verbose be verbose, provide debugging information -w, --windowsize N Window is N bytes (Z) -X, --xmodem use XMODEM protocol -y, --overwrite overwrite existing files -Y, --overwrite-or-skip overwrite existing files, else skip --ymodem use YMODEM protocol -Z, --zmodem use ZMODEM protocol
經過rz接收文件,首先須要輸入tz:
而後輸入Ctrl+A,緊接着按下Z,在按下S(Send files)。
選擇zmodem,進入文件選擇界面。
上下鍵或者PageUp/PageDown移動,空格選擇文件。
一樣使用md5sum進行驗證。
rz version 0.12.20 Usage: rz [options] [filename.if.xmodem] Receive files with ZMODEM/YMODEM/XMODEM protocol (X) = option applies to XMODEM only (Y) = option applies to YMODEM only (Z) = option applies to ZMODEM only -+, --append append to existing files -a, --ascii ASCII transfer (change CR/LF to LF) -b, --binary binary transfer -B, --bufsize N buffer N bytes (N==auto: buffer whole file) -c, --with-crc Use 16 bit CRC (X) -C, --allow-remote-commands allow execution of remote commands (Z) -D, --null write all received data to /dev/null --delay-startup N sleep N seconds before doing anything -e, --escape Escape control characters (Z) -E, --rename rename any files already existing --errors N generate CRC error every N bytes (debugging) -h, --help Help, print this usage message -m, --min-bps N stop transmission if BPS below N -M, --min-bps-time N for at least N seconds (default: 120) -O, --disable-timeouts disable timeout code, wait forever for data --o-sync open output file(s) in synchronous write mode -p, --protect protect existing files -q, --quiet quiet, no progress reports -r, --resume try to resume interrupted file transfer (Z) -R, --restricted restricted, more secure mode -s, --stop-at {HH:MM|+N} stop transmission at HH:MM or in N seconds -S, --timesync request remote time (twice: set local time) --syslog[=off] turn syslog on or off, if possible -t, --timeout N set timeout to N tenths of a second -u, --keep-uppercase keep upper case filenames -U, --unrestrict disable restricted mode (if allowed to) -v, --verbose be verbose, provide debugging information -w, --windowsize N Window is N bytes (Z) -X --xmodem use XMODEM protocol -y, --overwrite Yes, clobber existing file if any --ymodem use YMODEM protocol -Z, --zmodem use ZMODEM protocol