一.FL2440硬件介紹
1。因爲CPU上沒有程序、驅動,所以採取J-link燒錄。(J-link千萬不要進行熱拔插)
u-boot相當與電腦系統裏的BIOS引導系統,需要首先要加載u-boot到開發板上,但是u-boot程序大概有24K左右的大小,不能在SRAM裏面運行,而SDRAM在使用之前必須要將其初始化;所以這裏講面臨一個問題,該如何加載u-boot?我們可以在SRAM裏先運行一個小程序來初始化SDRAM,這樣就可以將u-boot加載到SDRAM中。
第一步:使用j-link加載bootstrap(該程序<4K)程序到SRAM 0地址上運行,該程序用來初始化外部的SDRAM
加載bootstrap到SRAM中並運行
J-Link>h 停止cpu執行
J-Link>speed 12000 將J-link速度調爲12000KHz
J-Link>loadbin E:\A_linux\f12440_tools\images\bootstrap-s3c2440.bin 0 將初始化程序加載到0地址
J-Link>setpc 0
J-Link>g 將PC寄存器指向0地址然後運行
加載u-boot到SDRAM中並運行
J-Link>h
J-Link>loadbin E:\A_linux\f12440_tools\images\u-boot-s3c2440.bin 0x33f80000
J-Link>setpc 0x33f80000
J-Link>g
2.上面完成了將u-boot加載到內存,接下來我們要完成將u-boot加載到硬盤中
這裏才FTP協議進行通信 將開發板與電腦組成局域網進行網絡通信
[fl2440@sss]# nand scrub s格式化整個Nandflash
[fl2440@sss]# set ethaddr 00:11:22:33:44:55設置網卡MAC地址
[fl2440@sss]# set ipaddr 192.168.1.55 設置網卡IP地址
[fl2440@sss]# set serverip 192.168.1.8 設置TFTP服務器IP地址
[fl2440@sss]# save 保存
接下來就是使用TFTP進行傳輸 先把tftp程序打開 修改自己電腦的IP地址
燒錄u-boot
[fl2440@sss]# tftp 30008000 u-boot-s3c2440.bin 下載u-boot程序到內存
[fl2440@sss]# nand erase 0 100000 擦除u-boot存放相應分區
[fl2440@sss]#nand write 30008000 0 60000 從內存中將u-boot寫到nandflash的相應分區
燒錄linux內核
[fl2440@sss]# tftp 30008000 linuxrom-s3c2440.bin 下載linux內核到內存
[fl2440@sss]# nand erase 100000 擦除存放linux內核及其後面的所有分區
[fl2440@sss]# nand write 30008000 100000 ${filesize} 將linux內核寫到nandflash相應分區
燒錄根文件系統
[fl2440@sss]# tftp 30800000 rootfs-ubifs.bin 下載根文件系統寫到內存
[fl2440@sss]# nand erase 1000000 4000000 擦除存放根文件系統的相應分區
[fl2440@sss]# nand write 30800000 1000000 $filesize 寫入根文件系統到nandflash相應分區
[fl2440@sss]# boot 重啓系統
在燒錄過程中出現問題:
在下載文件的時候出現錯誤。有以下種情況;
1.PC網絡IP沒有設置,2.tftp程序 下載文件路徑選錯 3.文件名打錯 4.注意網線插口