簡述
案例在JZ2440開發板上完成,本例通過NorFlash中U-boot進行NandFlash裸板程序下載。上篇文章講述的是採用epo燒寫器直接完成程序對NandFlash燒寫。而當板子上的NorFlash有U-boot啓動程序時,可以通過U-boot進行燒寫,但前提需要DNW軟件進行程序USB下載,或者tftpd軟件進行程序網絡下載,下載後由U-boot完成程序燒寫。下面對兩種下載方法進行實驗。
準備條件
- SecureCRT串口調試軟件
- DNW文件傳輸軟件(USB傳輸,需要安裝好驅動)
- tftpd文件傳輸軟件(網絡傳輸)
- U-boot啓動程序(百問網改版的uboot程序)
- 需要燒錄程序的二進制文件(百問網提供的leds.bin)
U-boot啓動程序燒寫
啓動程序需下載到NorFlash中,此步驟需要epo或者Jlink支持,燒寫方法和上篇文章一樣,只是過程中將參數改爲NorFlash燒錄即可。有了U-boot就可以通過它完成Nand的程序燒寫,這裏不贅述。
DNW方式下載與燒寫
DNW用於USB文件傳輸的一種工具,使用此軟件時需要記得安裝好驅動。
1.準備好已經下載到NorFlash中的U-boot程序。USB線接開發板usb口<—>PC。
2.打開SecureCRT串口調試軟件,撥到NOR啓動開機。鍵入空格進入菜單頁。
3.鍵入”n”(Download u-boot to Nand Flash:將程序下載到Nand Flash),進入Waiting a download.
4.打開DNW軟件,軟件頂端應顯示USB:OK。才表示識別帶usb設備。
5.軟件上選擇:USB port–》Transmit–》選擇要下載的.bin程序文件。
6.完成下載與燒寫。撥到Nand啓動,重上電或復位觀察現象。
TFTP方式下載與燒寫
(注:此實驗最好關閉電腦的防火牆,否則可能產生很多未知的錯誤)
採用tftp協議進行網絡傳輸,fttp協議爲TCP/IP協議族中的一種,廣泛用於文件傳輸功能。用TFTP下載燒寫前提需要建立一個局域網的環境下,對開發板和主機進行互聯,從而進行文件傳輸。(注:tftp傳輸只起到下載功能,燒寫功能還需要U-boot命令完成燒寫)
步驟如下:
1.準備好已經下載到NorFlash中的U-boot程序。
2.靜態更改PC端有線網卡IP如下(設置成其他也可以,只要保證同一網段):
IP:192.168.2.6(此作爲主機服務器IP)
子網掩碼嗎:255.255.255.0
網關:192.168.2.1
DNS:192.168.2.1
3.網線連接開發板<—->PC。USB串口線連接開發板<—–>PC。
4.打開SecureCRT串口調試軟件,和tftpd網絡傳輸軟件,並設置好tftpd下需要下載.bin程序文件路徑,以及IP設置爲192.168.2.6(如果沒有此IP可以先忽略,因爲U-BOOT指令還沒執行,網卡還沒識別到,若識別到網卡,軟件上的IP會自動改)。
5.開發板撥至Nor啓動,SecureCRT鍵入空格進入菜單頁。
6.SecureCRT鍵入“q”退出菜單,開始進行U-boot指令。
7.更改開發板(客戶端)ip。鍵入命令:print(查看環境變量)
8.查看更改主機服務器IP(serverip),和設備ip(ipaddr),設備網關(gatewayip),設備掩碼(netmask)。鍵入以下命令進行更改:
set serverip 192.168.2.6(更改服務器IP)
set ipaddr 192.168.2.5(更改設備IP,必須得和服務器ip同一網段)
更改網關和掩碼同樣 用set命令,網關和掩碼與服務器一致
鍵入save(保存更改的配置)
鍵入ping 192.168.2.6看能否和服務器ping通,若ping通返回is alive
9.鍵入命令:tftp 30000000 leds.bin(將程序通過tftp下載到SDRAM的30000000 地址中,30000000 爲SDRAM起始地址)
8.鍵入命令:nand erase bootloader (燒寫前需要擦除bootloader 分區內存)
9.鍵入命令:nand write 30000000 bootloader (將下載的程序燒寫到nandflash的bootloader 分區)
10.完成燒錄。撥至NAND啓動,復位觀察現象。
(注:查看分區情況,可用mtd(或mtdparts)指令)