1. 程式人生 > >新解U-Boot下的TFTP傳輸檔案

新解U-Boot下的TFTP傳輸檔案

環境資訊:

筆記本作業系統:Win 7
Vmware:VMware-workstation-full-10.0.1-1379776.exe
Linux:rhel-server-6.3-i386
Board:GT2440
網線:自制交叉網線

         U-Boot移植好後,第一次用TFTP協議往ARM上燒寫檔案總會出現這樣那樣的問題,但所謂“好事多磨”,解決問題的過程就是進步的過程。不要因麻煩失去信心,相信自己。

         用TFTP往開發板燒寫檔案,有兩種方式:

一、把Linux主機當做TFTP伺服器;

二、把Windows主機當做TFTP伺服器,需要做的就是有一個TFTP伺服器軟體,如TFTPSvr.exe

先說Windows主機當做TFTP伺服器,這樣就可以直接燒錄我們需要的檔案。

1、  確保U-Boot可以ping通我們的Windows。在連線開發板的SecureCRT中執行如下命令:

# setenv serverip 192.168.1.3        	 —>設定Windows主機IP為:192.168.1.3
# setenv ipaddr 192.168.1.17		 —>設定開發板IP為:192.168.1.17,確保它們在同一網段即可
# saveenv                                —>儲存環境變數
然後ping下主機,出現“host 192.168.1.3 is alive”結果說明O(∩_∩)O~
# ping 192.168.1.3

Using CS8900-1 device

host 192.168.1.3 is alive

2、  把要燒寫的檔案放到某個目錄下,雙擊開啟TFTPSvr.exe,設定為檔案所在的路徑:


3、  在串列埠執行tftp  32000000  zImage命令,結果如下(TFTPSvr.exe軟體最後一行):


再說Linux主機當做TFTP伺服器:

1、  檢視Linux是否安裝TFTP伺服器,輸入命令:

rpm-qa | grep tftp

若顯示如下,說明已正確安裝:


否則。。。在步驟2

2、  線上安裝,擴音;介紹下VMware虛擬中掛載ISO映象檔案的安裝方法:

【Use ISO image file】設定為rhel-server-6.3-i386-dvd.iso檔案所在目錄,勾選【Connected】和【Connect  atpowet  on】。


回到Linux桌面,會出現ISO映象檔案圖示:


切換到安裝包所在的ISO映象檔案目錄:

# cd /media/
# ls	—>顯示結果如下
RHEL_6.3i386 Disc 1
# cd RHEL_6.3\ i386\ Disc\ 1/
# cd Packages/
# ls	—>會看到各種安裝包的rpm檔案

執行安裝:

rpm  –ivh xinetd-2.3.14-34.el6.i686.rpm      —>tftp依賴的服務
rpm  –ivh tftp-0.49-7.el6.i686.rpm                —>tftp
rpm  –ivh tftp-server-0.49-7.el6.i686.rpm   —>tftp server

然後用步驟1的命令檢視裝的效果

3、  配置tftp:

vi m /etc/xinetd.d/tftp


解釋:

L13:需要往開發板燒錄的檔案存放目錄

L14:開啟TFTP服務

由L13知道,需要在根目錄下建立/tftpboot目錄,注意設定許可權:

# chmod+rw /tftpboot
簡單點:# chmod 777/tftpboot

4、 重複方法一的步驟1,不過現在serveripLinux主機的IP

若需要設定Linux的IP,執行下述命令:

# ifconfig eth0 192.168.1.30 broadcast 192.168.1.1 netmask 255.255.255.0

5、  關閉Linux的防火牆,重要!!!

#setup


6、  更改SELinux的模式,重要!!!否則可能出現TFTP error|:‘Permission denied’的錯誤:

# getenforce 		—>檢視SELinux的執行模式,若是Enforcing模式,必須更改
#set enforce [0][1]	—> 0: Permissive 模式,設定為此種模式
				       1:Enforcing模式

7、  關閉Windows下的防火牆、各種安全、防毒軟體。

8、  執行tftp  32000000 zImage命令,測人品的時候到了,若你眼前出現:


你懂的!

附:若出現問題,按以下流程檢查一下先。

1、tftp、tftp伺服器安裝
2、檔案有沒有放在/etc/xinetd.d/tftp 中指定的目錄
3、開發板ip、serverip設定
4、linux防火牆關閉
5、SELinux設定Permissive模式
另:Windows的防火牆、各種防毒軟體、各種管家大師最好關掉

相關推薦

新解U-BootTFTP傳輸檔案

環境資訊: 筆記本作業系統:Win 7 Vmware:VMware-workstation-full-10.0.1-1379776.exe Linux:rhel-server-6.3-i386 Board:GT2440 網線:自制交叉網線          U-Boot

u-boot配置掛載NFS根檔案系統

一、在linux系統主機下安裝NFS伺服器        在ubuntu10.04下安裝命令為:        sudoapt-get  install nfs-kernel-server 二、配置nfs伺服器        在ubuntu下安裝完ssh伺服器後預設開機啟動

Beaglebone Black——理論篇beaglebone black啟動——從串列埠獲得SPL、U-BOOTTFTP伺服器獲得核心,NFS伺服器掛載根檔案系統

          一般來講啟動一個系統所需的bootloader(SPL/MLO、u-boot.img)和根檔案系統(/boot下包含核心zImage)要麼是放在NAND Flash,或者是SD卡,或者是eMMC,或者是USB中,那麼還有一種方式,就是所需要的這些檔案全部

U-boottftp伺服器啟動,掛載到NFS根檔案系統

在uboot輸入設定下面的變數: # mac address可以使用uboot目錄tools下的gen_eth_addr工個來產生 setenv ethaddr <mac address>

u-boot延時程序失效的bug調試

val boot 結果 dump pre spa quest pri 默認 最近在工作中的一個項目中,大概是將兩塊板卡相連(一塊STM32跑裸機程序,另一塊AM335x跑Linux系統),但是發現在u-boot有時無法啟動成功,需要通過一個GPIO的狀態來判斷,具體來說就是

spring boot + apache camel 傳輸檔案

一 sftp搭建略 這裡簡單說一下為什麼使用sftp。ftp和sftp各有優點,差別並不是太大。sftp安全性好,效能比ftp低。ftp對於java來說並不複雜,效率也高。之所以使用sftp主要是可以使用spring-boot+apache-camel。camel框架將檔案傳輸分為filter,prcess

u-boot-2009 tftp下載核心及nfs系統

核心版本:3.0.35: setenv ipaddr 200.200.4.234 setenv serverip 200.200.4.233 setenv bootcmd_tftp tftpboot 0x10800000 uImage-myimx6a9 setenv bootargs

關於虛擬機器跟開發板互相ping通以及用tftp傳輸檔案的終極解決方案

開發環境: 主機:Windows10 虛擬機器:Ubuntu16.04 開發板:智龍-龍芯1C300A 關於為什麼一定要在虛擬機器下連線開發板: 因為省事,檔案做好直接tftp傳到開發板 避免開發板某種因素導致Windows主機突然藍屏,有可能出現中斷驅動不相容導

Ubuntu虛擬機器雙網絡卡的配置(U-boottftp下載)

  通過此文的設定,可以讓Ubuntu虛擬機器實現: 1.ubuntu虛擬機器能上網查資料,下載軟體等; 2.tftp伺服器能給本地裝置傳輸資料,不會和ubuntu網路衝突。   一,VMWare新建兩個虛擬網路,如:Vmnet0、Vmnet1;    

Ubuntu虛擬機雙網卡的配置(U-boottftp下載)

ubun ubuntu虛擬機 color uri vmw src 網卡設置 vmware 自動分配 通過此文的設置,可以讓Ubuntu虛擬機實現: 1.ubuntu虛擬機能上網查資料,下載軟件等; 2.tftp服務器能給本地設備傳輸數據,不會和ubuntu網絡沖突

使用u-boottftp下載功能燒寫程式到Nand Flash ——韋東山嵌入式Linux學習筆記09

本文實驗環境: 1. windows 7(64bit) 2. JZ2440(V2) (2)啟動軟體tftpd32,選擇要下載的程式所在的目錄 (3)假設下載檔案leds.bin,在u-boot的命令列,輸入 tftp 30000000 le

u-boot執行下載和執行程式“Helloworld”

        雖然自2012年9月開始就做嵌入式了,但感覺自己一直在打醬油,首先玩的loongson的平臺的片子(玩過的人都懂的),其次是公司招我進去的目標只是為了驗證公司做的硬體是沒問題的,整個方案基本就是按開發板做的,所以自己基本沒有什麼可以改,最多就是做幾個IIC的

一 在應用中升級u-boot、核心以及檔案系統

近期在做在Linux系統中做在應用中升級功能,網路傳輸資料,實現的目標是:通過網路可以對u-boot、核心、檔案系統的檔案進行修改升級。 這裡記錄一下簡單思路: 首先從全域性考慮,要實現的功能網路通訊部分和嵌入式系統對emmc的操作。 網路通訊: 該部分考慮的問題主要是使用

u-boot網路驅動程式的修改

Eth.c工作之前的初始化 static struct eth_device *eth_devices, *eth_current; Eth.c中有個eth_devices需要外部呼叫函式eth_re

u-boot的記憶體操作命令mw與md

myboard# md 03000000 10 03000000: ffffffff ffffffff ffffffff ffffffff    ................ 03000010: ffffffff ffffffff ffffffff ffffffff    ................

U-bootTFTP伺服器配置

一.PC端配置1.關閉防火牆  [[email protected] root]# /etc/init.d/iptables stop2.使用setup啟動tftp  [[email protected] root]# setup ->System

u-boot-2016.05移植:(7)、使u-boot支援燒寫檔案系統

u-boot本身支援對jffs2格式檔案系統的nand指令操作,但是沒有支援yaffs2的格式,所以我們要修改使其支援yaffs2格式檔案系統指令操作,在u-boot中搜索.yaffs,並找不到相關程式碼,所以我們轉而搜尋.jffs2 ,可以在u-boot-20

linuxtftp自動傳輸指定字尾檔案並刪除

因為專案需要,自己寫的一個檢測當前目錄下是否存在指定字尾名的檔案,若有,則通過tftp命令依次將所有檔案傳輸到指定tftp伺服器,成功後刪除對應檔案(空間有限) !/bin/sh fcounts=ls -l|grep "^-"|grep .bin|wc

nfs啟動:u-boot啟動後從ubuntu tftp下載核心及裝置樹,檔案系統掛載在nfs伺服器目錄

U-Boot# setenv netargs "setenv bootargs console=${console} ${optargs}    root=/dev/nfs  rootfstype=nfsroot    nfsroot=${serverip}:${rootpath}   ip=${ipaddr

[U-boot]u-boot檔案結構

接目錄:README分析 參考資料 uboot版本檔案結構的更新改變 最好的開始 開啟下載的u-boot,開啟README,裡面進行詳細的說明 U-Boot的README檔案的中文翻譯 1、版本號變化: 2008年8月及以前,按版本號命名: