uboot驗證核心映象是否有效

2021-07-12 00:08:48 字數 1271 閱讀 2663

校驗流程

這塊也不算複雜,後面整理好了之後,一併上傳。

下面是u-boot的實驗log:

zimage的校驗方式

zimage的第37-40個位元組存放這zimage的 「魔數」

依據 :

路徑 : uboot/common/cmd_bootm.c

函式 : do_bootm( ) ;

#ifdef config_zimage_boot

#define linux_zimage_magic 0x16f2818

if(argc < 2)else

/**看 addr + 9 * 4 判斷從addr往後的第36個位元組後 即 37 ~ 40個位元組是否為0x16f2818

好,下面我用 winhex 開啟zimage 。

uimage的校驗方式

uimage = 64位元組頭資訊 + zimage

1 : 為什麼這麼說?

2 : 64位元組頭資訊又是什麼?代表了什麼含義?

那麼我們來看一下 uimage 和 zimage 的映象內容。

平台 : hi3520

實驗驗證

uboot分析 uboot啟動核心

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

uboot啟動核心

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

uboot啟動核心

經過了前面的的一系列準備,終於要啟動核心了。在uboot分析二中,提到過下面的這個函式 void main loop void 在啟動核心的時候在uboot裡面用到什麼命令呢?bootcmd 命令 nand.read.jffs 0x30007f00 kernel 從nand的kernel 分割槽讀核...