1. 程式人生 > >嵌入式 使用secureCRT連線開發板、使用tftp方式、nfs方式傳輸檔案

嵌入式 使用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。