uboot啟動核心

2021-07-31 21:20:33 字數 527 閱讀 9798

經過了前面的的一系列準備,終於要啟動核心了。

在uboot分析二中,提到過下面的這個函式:

void main_loop (void)

在啟動核心的時候在uboot裡面用到什麼命令呢?

// bootcmd 命令:

// nand.read.jffs 0x30007f00  kernel   //從nand的kernel 分割槽讀核心

// bootm 0x30007f00                    //從0x30007f00位址處啟動核心

在uboot命令列輸入上面的命令就可以啟動核心了,那麼具體到原始碼裡面要怎麼做呢?

在uboot介面輸入mtd可以看到分割槽(不是所有的uboot都有這項功能,只針對自己的開發版)

可以看到核心起始位址為0x00060000,大小被設定為0x00200000(2m)。

於是nand.read.jffs 0x30007f00  kernel  等效於nand.read.jffs 0x30007f00  0x00200000  0x00060000

uboot啟動核心

假設bootcmd nand read.jffs2 0x30007fc0 kernel bootm 0x30007fc0 1 nand read.jffs2 0x30007fc0 kernel nand read.jffs2 0x30007fc0 kernel 從nand讀出核心 從 讀?從kern...

uboot啟動核心

uboot 映象為 uboot.bin,linux 映象為 zimage 嵌入式裝置中的分割槽表是自己定義的,uboot 和核心中的分割槽表應一致 核心執行前必須載入到 ddr 中指定的位址處 uboot 需要提供核心必要的引數 uboot 啟動核心有兩種方式,一種是等待倒計時結束後直接啟動核心,一...

uboot分析 uboot啟動核心

u boot啟動核心概述 u boot啟動完成後,最終進入到main loop 迴圈中。若在bootdelay倒計時為0之前,u boot控制台有輸入,則進入命令解析 執行的迴圈 若控制台無輸入,u boot將啟動核心。u boot啟動核心可歸結為以下四個步驟 1 將核心搬移至ddr中 2 校驗核心...