當用戶對 SEED-VPM6467 下的內核驅動源碼進行調整或者添加新的設備驅動後,需
要對內核進行從新編譯配置,編譯生成內核鏡像後,能夠經過 tftp 下載到 SEED-VPM6467
平臺上啓動,進行測試,下面詳細介紹 Linux 內核的燒寫。linux
Windows 上可使用 SolarWind TFTP Server 或者其它 TFTP 服務器端軟件,用戶可
以經過 Internet 獲取:對軟件進行正確配置,如讀寫使能,TFTP 根路徑等。
Red Hat 的 Linux 系統安裝時已經安裝了 TFTP 服務器,其根路徑是/tftpboot。
將 System Restore 目錄下的 uImage 文件拷貝到 TFTP 服務器的根路徑下,Windows
平臺下須要啓動 TFTP 服務器端軟件。windows
主機端串口使用 PC 機 windows 系統自帶的超級終端便可。配置以下:
點擊 PC 機左下角開始-->程序-->附件-->通信-->超級終端;在「您的區號(或城市號)
是什麼(C) ?」下鍵入 010 後點擊肯定;再次點擊肯定,在新彈出的對話框中輸入你喜歡的
名稱, 如 davinci; 在新的對話框中的「鏈接時使用」下選擇你但願使用的串口設備, 點擊肯定 ;
然後在端口設置選項中配置波特率 115200,數據位 8,奇偶校驗無,中止位 1,數據流控
制無。
也可以使用第三方軟件,如:putty。其配置參數同配置 windows 系統自帶的超級終端一
樣。服務器
經過 TFTP 服務進行 SEED-VPM6467 內核的燒寫,首先須要將 u-boot 燒寫到
NORFlash 中,燒寫方法參考 SEED-VPM6467 Flash Write User's Guide.pdf,下面詳細介
紹一下 SEED-VPM6467 的硬件配置網絡
置,另外一端接:PC 機的 RS232 口;ide
接口位置是 J9;測試
硬件鏈接完成後,便可經過 TFTP 服務下載內核。操做以下:ui
中止位 1,數據流控制無;spa
信息,以下圖:server
圖 1blog
示提示符 SEED-VPM6467 # ;
下面配置 U-Boot 環境變量用於 TFTP 下載內核啓動;
Target# setenv serverip xxx.xxx.xxx.xxx
此處的 xxx.xxx.xxx.xxx 爲 TFTP 服務器的 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
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 文件系統。
Linux 的目錄結構的最頂層是一個被稱爲「/」的根目錄。 系統加載 Linux 內核以後,就會
掛載一個設備到根目錄上。 存在於這個設備中的文件系統被稱爲根文件系統。 全部的系統命
令,系統配置以及其餘文件系統的掛載點都位於這個根文件系統中。
當 SEED-VPM6467 NAND Flash 中的文件系統須要更新/修復時,能夠經過如下操做
進行文件系統的數據恢復。
NAND Flash 文件系統的更新/修復須要網絡文件系統的支持,用戶安裝好 DaVinci
Linux Develop Software 下的開發套件後,按照文檔操做能夠很簡單的配置 NFS。
將 System Restore 目錄下的 Restore_rootfs.tar.gz 文件拷貝到 nfs 服務器的/opt 路徑
下.並解壓.
經過 nfs 服務進行 SEED-VPM6467 根文件系統的燒寫,一樣須要將 u-boot 燒寫到
NAND Flash 中, 燒寫方法參考 SEED_VPM6467 軟件用戶指南.pdf, 並進行以下硬件鏈接:
置,另外一端接:PC 機的 RS232 口;
接口位置是 J9;
硬件鏈接完成後,便可經過 TFTP 服務下載內核。操做以下:
中止位 1,數據流控制無;
信息,以下圖:
圖 2
示提示符 SEED-VPM6467 # ;
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
稍後拷貝結束後系統已恢復完。
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
————————(SEED-VPM6467 Root File System User's Guide)
1 燒寫 UBL 到 到 EEPROM
2 燒寫 U-BOOT 到 到 NAND FLASH
3 uImage 燒寫和更新的操做