【圖像處理】【SEED-VPM】5.uImage的燒寫 & NFS燒寫文件系統

 基於 TFTP 燒寫 uImage

當用戶對 SEED-VPM6467 下的內核驅動源碼進行調整或者添加新的設備驅動後,需
要對內核進行從新編譯配置,編譯生成內核鏡像後,能夠經過 tftp 下載到 SEED-VPM6467
平臺上啓動,進行測試,下面詳細介紹 Linux 內核的燒寫。linux

1.1 軟件配置

1.1.1 TFTP 服務器

Windows 上可使用 SolarWind TFTP Server 或者其它 TFTP 服務器端軟件,用戶可
以經過 Internet 獲取:對軟件進行正確配置,如讀寫使能,TFTP 根路徑等。
Red Hat 的 Linux 系統安裝時已經安裝了 TFTP 服務器,其根路徑是/tftpboot。
將 System Restore 目錄下的 uImage 文件拷貝到 TFTP 服務器的根路徑下,Windows
平臺下須要啓動 TFTP 服務器端軟件。windows

2 1.1.2 串口終端通信

主機端串口使用 PC 機 windows 系統自帶的超級終端便可。配置以下:
點擊 PC 機左下角開始-->程序-->附件-->通信-->超級終端;在「您的區號(或城市號)
是什麼(C) ?」下鍵入 010 後點擊肯定;再次點擊肯定,在新彈出的對話框中輸入你喜歡的
名稱, 如 davinci; 在新的對話框中的「鏈接時使用」下選擇你但願使用的串口設備, 點擊肯定 ;
然後在端口設置選項中配置波特率 115200,數據位 8,奇偶校驗無,中止位 1,數據流控
制無。
也可以使用第三方軟件,如:putty。其配置參數同配置 windows 系統自帶的超級終端一
樣。服務器

2 1.2 e uImage 燒寫和更新的操做

1 1.2.1 硬件準備

經過 TFTP 服務進行 SEED-VPM6467 內核的燒寫,首先須要將 u-boot 燒寫到
NORFlash 中,燒寫方法參考 SEED-VPM6467 Flash Write User's Guide.pdf,下面詳細介
紹一下 SEED-VPM6467 的硬件配置網絡

  • 使用串口線將 SEED-VPM6467 與 PC 機相連,一端接:SEED-VPM6467 的 J7 位

置,另外一端接:PC 機的 RS232 口;ide

  • 使用網線將 SEED-VPM6467 與 PC 鏈接到同一網絡中,SEED-VPM6467 的網絡

接口位置是 J9;測試

  • VPM6467 平臺的 J9 鏈接 5V 電源;

1.2.2 e uImage 燒寫和更新的操做

硬件鏈接完成後,便可經過 TFTP 服務下載內核。操做以下:ui

  • 配置 PC 機端的超級終端, 設置串口參數: 波特率 115200, 數據位 8, 奇偶校驗無 ,

中止位 1,數據流控制無;spa

  • 打開 Windows PC 機超級終端;
  • SEED-VPM6467 平臺採用 12V 電源上電, 此時 Windows PC 機超級終端顯示啓動

信息,以下圖:server

圖 1blog

  • 超級終端顯示 Hit any key to stop autoboot:3 時按下回車鍵,中斷系統,此時顯

示提示符 SEED-VPM6467 # ;
下面配置 U-Boot 環境變量用於 TFTP 下載內核啓動;

  • 配置 TFTP 服務器 IP 地址:

Target# setenv serverip xxx.xxx.xxx.xxx
此處的 xxx.xxx.xxx.xxx 爲 TFTP 服務器的 IP 地址,根據實際網絡設置決定;

  • 配置 SEED-VPM6467 平臺的 IP 地址:

Target# setenv ipaddr xxx.xxx.xxx.xxx

此處的 xxx.xxx.xxx.xxx 爲 SEED-VPM6467 的 IP 地址,根據實際網絡設置決定;

  • 配置網卡地址

Target# setenv ethaddr 00:0C:29:94:D7:D6

  • 配置設置啓動方式

Target# setenv bootcmd bootm 0x42040000

  • 保存以上設置,並將 SEED-VPM6467 從新上電

Target# save
Note:從新上電的做用是使剛剛設置的 MAC 地址生效

  • 關閉自動啓動並燒寫內核

Target# setenv autostart no
Target# save
Target# nand erase 0x100000 0x00400000
Target# tftp 0x81180000 uImage
Target#nand write 0x81180000 0x100000 0x00400000
Target# setenv bootcmd 'nand read 0x80800000 0x00100000
至此, uImage 已經燒寫完成。 但此時系統不能啓動 Linux 命令提示行, 須要向 flash
燒寫 root 文件系統。

 

 基於 NFS 服務器 燒寫根文件系統

1 2.1 NAND  Flash 中根文件系統恢復

Linux 的目錄結構的最頂層是一個被稱爲「/」的根目錄。 系統加載 Linux 內核以後,就會
掛載一個設備到根目錄上。 存在於這個設備中的文件系統被稱爲根文件系統。 全部的系統命
令,系統配置以及其餘文件系統的掛載點都位於這個根文件系統中。
當 SEED-VPM6467 NAND Flash 中的文件系統須要更新/修復時,能夠經過如下操做
進行文件系統的數據恢復。
NAND Flash 文件系統的更新/修復須要網絡文件系統的支持,用戶安裝好 DaVinci
Linux Develop Software 下的開發套件後,按照文檔操做能夠很簡單的配置 NFS。

1 2.1.1 文件準備

將 System Restore 目錄下的 Restore_rootfs.tar.gz 文件拷貝到 nfs 服務器的/opt 路徑
下.並解壓.

2 2.1.2 硬件準備

經過 nfs 服務進行 SEED-VPM6467 根文件系統的燒寫,一樣須要將 u-boot 燒寫到
NAND Flash 中, 燒寫方法參考 SEED_VPM6467 軟件用戶指南.pdf, 並進行以下硬件鏈接:

  • 使用串口線將 SEED-VPM6467 與 PC 機相連,一端接:SEED-VPM6467 的 J7 位

置,另外一端接:PC 機的 RS232 口;

  • 使用網線將 SEED-VPM6467 與 PC 鏈接到同一網絡中,SEED-VPM6467 的網絡

接口位置是 J9;

  • VPM6467 平臺的 J9 鏈接 5V 電源;

3 2.1.3 主機端串口配置及 NAND h Flash 文件系統更新/  修復

硬件鏈接完成後,便可經過 TFTP 服務下載內核。操做以下:

  • 配置 PC 機端的超級終端, 設置串口參數: 波特率 115200, 數據位 8, 奇偶校驗無 ,

中止位 1,數據流控制無;

  • 打開 Windows PC 機超級終端;
  • SEED-VPM6467 平臺採用 5V 電源上電,此時 Windows PC 機超級終端顯示啓動

信息,以下圖:

圖 2

  • 超級終端顯示 Hit any key to stop autoboot:3 時按下回車鍵,中斷系統,此時顯

示提示符 SEED-VPM6467 # ;

  • 配置經過 NFS 燒寫根文件系統:

Target# setenv bootargs mem=120M console=ttyS0,115200n8 root=/dev/nfs
nfsroot=192.168.253.84:/home/linux/nfs rw
ip=192.168.253.101:192.168.253.1:255.255.255.0Target# protect off 0x42240000
+0xdc0000
Target# save
Target# boot


稍後會進入從 nfs 啓動的系統下。


root@192.168.253.101:~# cd /opt
root@192.168.253.101:~# tar zxvf Restore_rootfs.tar.gz
root@192.168.253.101:~# flash_eraseall /dev/mtd2
root@192.168.253.101:~# mount -t yaffs2 /dev/mtdblock2 /mnt
root@192.168.253.101:~# cd Restore_rootfs
root@192.168.253.101:~# cp * /mnt -arf


稍後拷貝結束後系統已恢復完。

  • 重啓系統,配置 U-Boot 環境變量

Target# setenv bootargs 'mem=120M console=ttyS0,115200n8
root=/dev/mtdblock2 rootfstype=yaffs2
ip=192.168.253.101:255.255.255.0:192.168.253.1 eth=4a:0f:10:00:ff:28'
Note:以上 IP 地址僅爲參考;

  • 保存設置,輸入啓動命令啓動系統:

Target# save

Target# boot
至此 內核及文件系統已恢復完成板卡上電回自動從 NAND FLASH 啓動系統

 

 

【uboot參數設置參考】

setenv serverip 192.168.253.65
setenv ipaddr 192.168.253.101
setenv gatewayip 192.168.253.1

tftp下載內核nfs啓動
---nfs------
setenv bootcmd 'tftp 0x80700000 uImage;bootm'
setenv bootargs mem=120M console=ttyS0,115200n8 root=/dev/nfs nfsroot=192.168.253.66:/home/linux/nfs rw ip=192.168.253.101:192.168.253.1:255.255.255.0

 


系統燒寫
Creating 4 MTD partitions on "nand_davinci.0":
0x00000000-0x00100000 : "bootloader"
0x00100000-0x00500000 : "kernel"
0x00500000-0x04500000 : "cramfs"
0x04500000-0x08000000 : "filesystem"

*******************************
-------uImage---
nand erase 0x100000 0x00400000
tftp 0x81180000 uImage
nand write 0x81180000 0x100000 0x00400000


----bootm----------
setenv bootargs 'mem=120M console=ttyS0,115200n8 root=/dev/mtdblock2 rootfstype=cramfs ip=192.168.253.224:255.255.255.0:192.168.253.1 eth=4a:0f:10:00:ff:28'
setenv bootcmd 'nand read 0x80800000 0x00100000 0x00300000;bootm 0x80800000'

擦mtdblock3
nand erase 0x04500000 0x03500000

 

nandflash+NFS啓動
setenv serverip 192.168.253.226
setenv ipaddr 192.168.253.224
setenv gatewayip 192.168.253.1
setenv bootargs mem=120M console=ttyS0,115200n8 root=/dev/nfs nfsroot=192.168.253.66:/home/linux/nfs rw ip=192.168.253.101:192.168.253.1:255.255.255.0

 

 第 1  章  基於 CCS3.3  燒寫 ubl 、U-boot

————————(SEED-VPM6467 Root File System User's Guide)

1  燒寫 UBL 到 到 EEPROM

2  燒寫 U-BOOT 到 到 NAND FLASH

3 uImage  燒寫和更新的操做

相關文章
相關標籤/搜索