關於u-boot——上課筆記1

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中設置cpuflash-------》把uboot.bin文件拖進j-flash--------Target(點Auto)或直接按F7uboot.binnorflash-----------》斷開j-link------------》打開超級終端------------》設置好com-----------》在開發板中按復位鍵----------》就可以看到打印信息了(注意3秒內要按Eter鍵,否則會因爲找不到內核死掉)

***************************************************************************************

擦除nandflash

nand erase 0 8000000

tftp上下載uImage

1、打開tfpt服務器

2tftp 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的打印信息,但不啓動內核?

發佈了31 篇原創文章 · 獲贊 2 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章