嵌入式 使用secureCRT連線開發板、使用tftp方式、nfs方式傳輸檔案
嵌入式 使用secureCRT連線開發板、使用tftp方式、nfs掛載方式傳輸檔案
一、簡述
記--使用secureCRT8.3連線開發板,並使用串列埠方式、tftp方式、nfs方式進行檔案傳輸。(實驗環境:開發板:(6818 cortexA53),win7 64位筆記本,VMware Workstation Pro12 + Ubuntu18.04 64位,區域網)。
軟體打包(內含註冊方法):連結:https://pan.baidu.com/s/1dHXJffsYuEAo7b0Vb1xg_w 密碼:fovh
對於nfs掛載方式的網路情況,
1、可以在區域網(通過路由器),開發板,主機分別有網線直接連線。主機與虛擬機器的網路設定為橋接方式,
主機、虛擬機器、開發板的IP在同一個網段。比如例子中的主機IP:192.168.21.117、虛擬機器(Ubuntu)的IP:
192.168.21.118、開發板的IP:192.168.21.115。
2、不需要聯網,不需要路由器的情況也可以使用一條網線直接連線開發板和主機,主機與虛擬機器的網路設定為橋接方式,
主機、虛擬機器、開發板的IP在同一個網段。比如例子中的主機IP:192.168.21.117、虛擬機器(Ubuntu)的IP:
192.168.21.118、開發板的IP:192.168.21.115。
設定IP方法:在筆記的最後。
二、安裝usb轉串列埠驅動
1、解壓"USB轉串列埠驅動"壓縮包,進入USB轉串列埠驅動目錄
例子中安裝CH341SER.EXE
插上USB轉串列埠線,(未安裝驅動) 右鍵我的電腦--》屬性--》裝置管理器--》
三、安裝secureCRT
1、解壓壓縮包,進入目錄 secureCRT+FX
2、雙擊執行安裝程式
可預設安裝
然後註冊(方法可參考壓縮包裡面的"註冊secureCRT"文件)。
四、使用secureCRT連線開發板
接上USB轉串列埠線,開發板通電,然後開啟secureCRT進行連線
五、PC機與開發板的檔案傳輸
1、使用secureCRT將PC機,ubuntu檔案下載到開發板
使用命令rx r是receive,x是X-model模式
rx 檔名 (這個檔名是,檔案上傳到開發板後的名稱,比如說在PC機叫hello.c,輸入rx helloworld.c,然後回車,選擇選擇hello.c進行拖拽,選擇Xmoden,上傳成功後helloworld.c就是上傳的hello.c)
注:如果傳輸的是可執行檔案,預設沒有執行許可權,請改變許可權,命令:chmod 777 xxx,使得xxx具有可執行許可權
主機傳輸檔案到開發板
Ubuntu傳輸檔案到開發板
2、使用tftp網路傳輸方式
連線到虛擬機器中的Ubuntu。需要做以下配置讓Ubuntu支援tftp服務。如果已經獲取到超級許可權了,命令前面就可以不用加sudo
使用apt線上安裝軟體,需要Ubuntu聯網
1)安裝tftp相關軟體 (需要超級許可權,可以同時安裝:apt-get install tftpd tftp xinetd)
命令:apt-get install tftpd
命令:apt-get install tftp
命令:apt-get install xinetd
2)建立配置檔案
在/etc/xinetd.d/下建立一個配置檔案tftp 命令:sudo vi /etc/xinetd.d/tftp
內容如下:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /home/liang/tftp
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
server_args = -s /home/liang/tftp 中的 /home/liang/tftp就是上傳檔案與下載檔案的位置
3)建立tftp服務檔案目錄(不需超級許可權)
mkdir /home/liang/tftp (建立/home/liang/tftp目錄,上面設定的檔案傳輸檔案)
chmod 777 /home/liang/tftp (這裡設定許可權為777,防止因為許可權不足造成檔案傳輸異常)
4)重新啟動tftp服務
sudo /etc/init.d/xinetd restart (重啟tftp伺服器)
5)檢視tftp是否啟動成功
sudo netstat -a | grep tftp --檢視是否啟動成功,可以看到udp 0 0 *:tftp *:*
6)設定開發板IP (根據實驗環境配置,例子所在環境在區域網,此IP可用)
開發板連線網線
設定開發板的IP:命令:ifconfig eth0 192.168.21.115 (根據實際情況設定)
可以ping通主機 (例子中主機的IP是192.168.21.117,注意防火牆設定)
可以ping通Ubuntu (ping 192.168.21.118)
主機能夠ping通開發板
虛擬機器能ping通開發板 (例子中開發板是有系統的,能夠響應IP報文,不能相應的是ping不同開發板的)
7)在開發板上下載虛擬機器中Ubuntu的檔案
在開發板上輸入命令:tftp 192.168.21.118 -g -r xxx
192.168.21.118:伺服器IP地址(虛擬機器Ubuntu的IP)
xxx:要下載的檔名
注:如果傳輸的是可執行檔案,預設沒有執行許可權,請改變許可權,命令:chmod 777 xxx,使得xxx具有可執行許可權。
3、使用nfs
nfs:net file system網路檔案系統
說明:類似於主機windows與虛擬機器Ubuntu之間的共享目錄一樣(在windows和Ubuntu都可以看到並操作),
Ubuntu設定一個共享目錄,開發板通過網路也可以訪問到,相當於把這個共享目錄也掛載到開發板的某個子目錄下,然後開發板和ubuntu可同時操作這個目錄。
1)安裝nfs相關工具包
sudo apt-get install nfs-common nfs-kernel-server
安裝成功
2)配置nfs共享目錄
指定一個目錄作為nfs共享目錄,例子中建立了一個新目錄
mkdir /home/liang/nfs (在 /home/liang/路徑下建立nfs目錄)
編輯/etc/exports,命令:sudo vi /etc/exports,在檔案最後增加以下內容:
/home/liang/nfs *(rw,sync,no_root_squash)
其中:
/home/liang/nfs :是要共享的目錄
* :允許所有的網段訪問
rw :讀寫許可權
sync:資料同步寫入內在和硬碟
no_root_squash:nfs客戶端共享目錄使用者許可權
使用命令檢視nfs共享目錄是否設定成功(可能需要重啟nfs服務方可生效), 命令:showmount -e
3)重啟nfs服務
命令:sudo /etc/init.d/nfs-kernel-server restart (重啟nfs伺服器)
命令:sudo /etc/init.d/nfs-kernel-server status (檢視nfs是否開啟)
命令:sudo netstat -a | grep nfs (或用這個檢視nfs是否開啟)
4)測試nfs
嘗試將Ubuntu本地檔案掛載上去,建立一個目錄/mnt/nfs 命令:sudo mkdir /mnt/nfs
然後將/home/liang/nfs掛載到/mnt/nfs上 命令:mount -t nfs localhost:/home/liang/nfs /mnt/nfs
測試完畢後,解除安裝掛載的目錄 命令:umount /mnt/nfs/
5)將/home/liang/nfs目錄掛載到開發板
在開發板建立一個目錄/nfs 命令:mkdir /nfs (用來掛載Ubuntu的共享目錄,相當於一個通向Ubuntu的通道)
掛載前確保網線連線好,IP地址配置好 (192.168.21.118是Ubuntu的IP,開發板的IP設定為192.168.21.115)
命令:mount -o nolock,tcp 192.168.21.118:/home/liang/nfs /nfs (將Ubuntu的/home/liang/nfs目錄掛載到開發板的/nfs目錄下)
這樣相當於Ubuntu的/home/liang/nfs目錄和開發板的/nfs進行同步,不用手動進行檔案傳輸,而且只要網路好傳輸速度快。這樣在Ubuntu的/home/liang/nfs目錄編譯的程式,直接可以在開發板的/nfs目錄下看到,並執行。
注意: 如果掛在時出現:mount: RPC: Remote system error - No route to host
嘗試重啟一下rpcbind 命令:sudo /etc/init.d/rpcbind restart
六、設定IP方法
1、設定主機IP
點選網路圖示--》開啟網路和共享中心--》更改介面卡設定--》右鍵"本地設定"--》屬性--》雙擊"Internet 協議版本 4(TCP IPv4)"--》然後根據實際情況進行設定--》確定--》確定。
檢視主機IP,開啟命令列視窗,輸入命令ipconfig
開啟命令列視窗的方式之一
2、設定Ubuntu的IP
首先在終端使用輸入命令ifconfig檢視Ubuntu啟用的網口,如果沒有則需要啟用 ,(快捷鍵Ctrl+Alt+t 開啟一個終端)
下圖中ens33就是一個已經啟動的乙太網口。
然後使用sudo ifconfig 某個網口 IP 來進行設定某個網口的IP。檢視IP,使用命令ifconfig
3、設定開發板的IP (與設定Ubuntu的IP類似)
首先使用輸入命令ifconfig檢視開發板啟用的網口,如果沒有則需要啟用,或者是網線沒有接好。
然後使用sudo ifconfig 某個網口 IP來進行設定某個網口的IP。