? ? ? ?FL2440核心板默認燒錄了廠家的系統(tǒng)(bootloader: FL_2440bootV6-1)。經(jīng)過測試,使用廠家提供的DNW燒寫方法燒寫發(fā)現(xiàn),該方法限制條件較多,比如DNW軟件驅(qū)動的安裝兼容性問題,當前驗證在XP環(huán)境下可以正確安裝驅(qū)動并映射出端口,磕磕絆絆較多,故參考網(wǎng)上FL2440燒錄資料,總結(jié)FL2440燒錄心得,以備后續(xù)查閱。
使用工具:J-Link
J-link強制燒寫uboot原理:S3C2440有4KB的SRAM,它不需要初始化就可以直接執(zhí)行程序。S3C2440從NAND FLASH啟動時,SRAM的地址會掛載到0x0-0x1000地址空間。
一、準備工作
1、init.bin (1KB),作用:初始化SDRAM。
2、u-boot.bin_openjtag(175KB) 這是一個特殊的Uboot,在編譯時在開發(fā)板配置文件中添加 #define? CONFIG_SKIP_LOWLEVEL_INIT???? 1//支持在SDRAM中直接運行。添加了這個宏定義后,uboot就跳過了內(nèi)存初始化部分,因為此時我們的內(nèi)存已經(jīng)先由“init.bin“初始化好了,再次初始化會出現(xiàn)內(nèi)存數(shù)據(jù)的丟失。
3、u-boot.bin、uImage、rootfs
注:init.bin、u-boot.bin_openjtag下載地址
二、燒寫uboot.bin
1.開發(fā)板從NAND FLASH啟動,連接J-link后,打開J-Link Commander
2.下載init.bin到SRAM(4KB)并運行
3.下載u-boot.bin_openjtag到SDRAM(64MB)0x33f80000并運行,串口顯示有OpenJTAG>提示符
4.下載u-boot.bin到SDRAM 0x30000000
5.從SDRAM 0x30000000燒寫u-boot.bin到NAND FLASH。u-boot分區(qū)512K,u-boot.bin大小224KB
6.移除J-link,重啟開發(fā)板
三、tftp方式燒寫kernel、rootfs
1.?設置uboot環(huán)境變量 editenv serverip
2.?Tftp 0x30008000 uImage
3.?Nand erase 0xa0000 0x400000
4.?Nand write 0x30008000 0xa0000 0x400000
5.?Tftp 0x30008000 fs_qt4.8.5.yaffs
6.?Nand erase 0x4a0000 0x0fb60000
7.?Nand write.yaffs 0x30008000 0x4a0000 $filesize
四、重啟開發(fā)板