核心板上板載了一個大小為 512mb 的 nand flash,所以我們可以直接將系統燒寫到 nand 上,從 nand上來啟動系統,這樣就不用通過固態或者 U 盤了。 這里我們使用 tftp 來燒寫系統,我們需要在 Ubuntu 系統上搭建 tftp 服務,如大家不清楚要如何在 Ubuntu上安裝 tftp,請參考手冊 4.4 章節。 這里大家也可以使用別的媒介來燒錄,如果 U 盤,燒寫思路為將 U 盤或者 tftp 中的鏡像拷貝到對應的nand flash 分區,所以使用 tftp 燒寫的本質是通過網絡將 pmon,內核,文件系統等鏡像拷貝到 nand flash分區。 1、準備系統鏡像 搭建好 tftp 服務后,我們需要將要燒寫的 PMON 鏡像,內核鏡像,文件系統鏡像拷貝到虛擬機 Ubuntu 的 tftp 目錄下,如下圖所示: ![]() 2、設置網絡 首先,我們需要進到 PMON 命令行下,使用命令 ifaddr syn0 192.168.1.10 設置開發板的 IP 地址和虛擬機 Ubuntu 的 IP 在同一個網段下,并可以 ping 通虛擬機,如下圖所示: ![]() 燒寫完成后重啟開發板 PMON 即可更新成功。 3、加載 PMON 鏡像 注意:這里不建議大家在沒有 Ejtag 的情況下對 PMON 進行操作,以免開發板變磚。 設置完網絡后,我們輸入命令 load -f 0xbfc00000 -r tftp://192.168.1.38/gzrom-dtb.bin,其中 192.168.1.38北京迅為電子有限公司 基于國產龍芯 SOC 為虛擬機 Ubuntu 的 IP 地址,如下圖所示 ![]() 燒寫完成后重啟開發板 PMON 即可更新成功。 4、分區格式化 nand flash 在 pmon 命 令 行 下 輸 入 命 令 mtd_erase /dev/mtd0 , 分 區 格 式 化 分 區 mtd0 , 如 下 圖 所 示 : ![]() 在 pmon 命令行下輸入命令 mtd_erase /dev/mtd1 分區格式化分區 mtd1,如下圖所示: ![]() 5 、拷貝文件系統鏡像 在 PMON 目錄下輸入命令 devcp tftp://192.168.1.38/rootfs.yaffs2 /dev/mtd1y 拷貝內核鏡像到開發板nand flash 的/dev/mtd1 分區,其中 y 是以 yaffs2 格式拷貝,192.168.1.38 為虛擬機 Ubuntu 的 IP 地址,拷貝成功如下圖所示: ![]() 6、拷貝內核鏡像 在 PMON 目錄下輸入命令 devcp tftp://192.168.1.38/vmlinuz /dev/mtd0 拷貝內核鏡像到開發板 nand flash 的 mtd0 分區,其中 192.168.1.38 為虛擬機 Ubuntu 的 IP 地址,拷貝成功如下圖所示:、 ![]() 7、設置環境變量 設置環境變量 al1 的值,使用命令 set al1 /dev/mtd0。設置完如下圖所示: ![]() 設置環境變量 append 的值,使用命令 set append "console=ttyS0,115200 init=/linuxrc rootfstype=yaffs2 rwroot=/dev/mtdblock1",設置完如下圖所示: ![]() 然后輸入 saveenv 保存,如下圖所示: ![]() 設置完成以后,重啟開發板,登錄賬號為 root,密碼為 topeet,啟動成功如下圖所示: ![]() 至此,給 nand flash 燒寫系統完畢。 |