利用tftp和nfs下載檔案到開發板

aiwode_haha發表於2012-04-10

一、Linux下安裝nfs伺服器:

1. 安裝nfs服務

$sudo apt-get install nfs-kernel-server portmap

2. 在配置檔案/etc/exports中新增以下內容
/home/jxhui/nfs_root *(rw,sync,no_root_squash);以後就可以通過網路檔案系統訪問/home/jxhui/nfs_root目錄

3. 修改完後,執行以下命令重啟NFS服務:
    $sudo /etc/init.d/nfs-kernel-server restart

一、windowstftp伺服器:

本地IP169.254.101.133

1. 上傳:tftp -i 169.254.101.133 put d:/jiang/hello.c 

(將檔案d:jiang/hello.c上傳到伺服器)

2. 下載:tftp -i 169.254.101.133 get hello.c d:/jiang/hello.c

(將檔案hello.c檔案下載到d:/jiang/目錄下)

一、燒寫與下載檔案的方式

1. 利用Jtag燒寫檔案到Norflash
u-boot.bin0x1000 0000
uImage:  0x1010 0000
initrd.gz: 0x1030 0000
再把核心與檔案系統複製到記憶體(SDRAM)中執行:
U-boot-> cp.b 10100000 20100000 200000  複製核心到記憶體
U-boot-> cp.b 10300000 20410000 200000  複製檔案系統到記憶體
U-boot-> bootm 20100000   啟動核心

2. 利用串列埠下載檔案到記憶體(SDRAM)中(loadb命令)
前提條件:u-boot.bin通過Jtag燒寫到0x1000 0000
U-boot->loadb 2010 0000 選擇要下載的地址

## Ready for binary (kermit) download to 0x20100000 at 115200 bps...

這時候選擇超級終端選單上:傳送>傳送檔案>文件名選擇uImage>協議選擇Kermit,點傳送。能夠看到傳送進度。

同理下載檔案系統到記憶體(SDRAM);

U-boot->bootm 20100000

3. 利用網路下載檔案到記憶體(SDRAM)中

前提條件:u-boot.bin通過Jtag燒寫到0x1000 0000
主機   IP:   169.254.101.133
虛擬機器IP:    169.254.101.120

    開發板IP:    169.254.101.110
U-Boot> setenv ipaddr 169.254.101.110設定開發板的IP

U-Boot> setenv ethaddr 08:00:3e:26:0a:5b 設定開發板的MAC地址

U-Boot> setenv serverip 169.254.101.133  伺服器的IP地址(windows)

U-Boot> saveenv  儲存環境變數

3.1.  tftp命令

U-Boot> tftp 20100000 uImage  下載核心到記憶體

U-Boot> tftp 20410000 initrd.gz  下載檔案系統到記憶體

U-Boot> bootm 20100000     啟動核心

3.2.  nfs命令

U-Boot> nfs 20100000 169.254.101.120:/home/jxhui/nfs_root/uImage

從虛擬機器中下載核心到記憶體

U-Boot> nfs 20410000 169.254.101.120:/home/jxhui/nfs_root/initrd.gz  

從虛擬機器中下載檔案系統到記憶體

U-Boot> bootm 20100000     啟動核心



 

相關文章