Uboot啓動流程:
cpu/start.s----àlib_arm/bord.c中的start_armboot()函數-----àcomman/min.c中的main_loop()函數。
**********************************************************************************
燒uboot.bin文件:
連接j-link線後進入j-link ARM中查看j-link是否連好---------》打開j-flash ARM -------》進入options-------》project settings中設置cpu及flash-------》把uboot.bin文件拖進j-flash中--------》Target(點Auto)或直接按F7燒uboot.bin到norflash中-----------》斷開j-link------------》打開超級終端------------》設置好com口-----------》在開發板中按復位鍵----------》就可以看到打印信息了(注意3秒內要按Eter鍵,否則會因爲找不到內核死掉)
***************************************************************************************
擦除nandflash:
nand erase 0 8000000
從tftp上下載uImage:
1、打開tfpt服務器
2、tftp 32000000 uImage-------》配置ip地址
****************************************************************************************
從usb中運行uimage命令: usb start
***************************************************************************************
@$(MKCONFIG) $(@:_config=) arm arm920t xyd2440 NULL s3c24x0 arm指定了平臺及lib_arm庫、arm920t指定了cpu的型號、xyd2440指的是board中的xyd2440文件夾以及include文件夾中的xyd2440.h文件
***************************************************************************************
從tftp上下載了內核(uImage)之後把內核燒入nandflash中(在燒寫之前必須要先擦除nandflash):
nand write.jffs2 32000000 100000 0x350000
燒入之後從內存中讀取內核:
nand read.jffs2 32000000 10000 0x350000
啓動內核:
bootm 32000000
****************************************************************************************
從u盤啓動內核:(修改include中的xyd2440_config中的CONFIG_BOOTCOMMAND)
usb start;fatload usb 0 32000000 uImage; bootm 0x320000000
*****************************************************************************************
作業:
1、怎樣通過U盤啓動內核?
2、把內核的編譯文件uImage放在U盤中,怎樣實現:1.按着一個按鍵,打開電源實現從U盤啓動內核 2.不按按鍵則正常實現u-boot的打印信息,但不啓動內核?