uboot配置過程 mkconfig指令碼 其他

2021-07-28 09:45:14 字數 1506 閱讀 1709

在編譯uboot之前需要進行配置(帶引數執行mkconfig指令碼+其他)

make x210_sd_config為例:主要完成的內容

make x210_sd_config時會相應的去執行makefile中的:

x210_sd_config :    unconfig

@$(mkconfig) $(@:_config=) arm s5pc11x x210 samsung s5pc110

@echo "text_base = 0xc3e00000" > $(obj)board/samsung/x210/config.mk

@$(mkconfig)就表示呼叫目錄下的mkconfig指令碼,後面是mkconfig指令碼的6個引數,不是五個

$(@:_config=)arms5pc11xx210samsungs5pc110

$和@結合: 是makefile自動變數的一種,會被替換成目標x210_sd

冒號表示加工,怎麼加工呢?就是把目標中的_config等於空(等號後面沒東西表示空)。即x210_sd_config裡的_config部分用空替換,得到:x210_sd,這就是第乙個引數,則:

$1:    x210_sd

$2: arm

$3: s5pc11x

$4: x210

$5: samsumg

$6: s5pc110

所以,$# = 6

text_base = 0xc3e00000:指定uboot的鏈結位址,因為uboot中啟用了虛擬位址對映,因此這個c3e00000位址就等於0x23e00000(也可能是33e00000具體位址要取決於uboot中做的虛擬位址對映關係

下面開啟mkconfig指令碼分析

總結uboot編譯前的配置(mkconfig指令碼+其他)主要完成的內容:

1.建立符號鏈結,用於將來在寫**過程中能自動索引具體平台的檔案

2.在include目錄下建立config.mk檔案並向裡面寫內容(其實就是把$2到$6的內容寫入)讓主makefile去包含

3.在include目錄下建立config.h檔案並向裡面寫內容(其實就一行#include )用於makefile作為生成autoconf.mk的依賴和讓start.s去包含

4.直接建立$(obj)board/samsung/x210/config.mk檔案並向裡面寫內容(text_base = 0xc3e00000)讓根目錄下的config.mk去包含

u boot的配置過程

1.頂層makefile 這裡我們將以smdk2410為例來介紹,uboot是u boot 2009.03,首先我們應該開啟u boot的頂層makefile,這裡按照人的思維來說,我們應該首先去看看smdk2410的配置項 smdk2410 config 2830 smdk2410 config ...

uboot配置過程詳解

當我們在編譯uboot的時候,要分為兩個階段,乙個階段是配置,配置用的命令是make x210 sd config。配置完成後開始正式的編譯,命令為make,當然,編譯命令可以加什麼的引數,比如多執行緒編譯 make j4,比如靜默編譯 make s等。在這一篇文章中,我將單獨詳細分析uboot的配...

uboot學習 配置過程分析

一 uboot的功能分析 結合uboot 1.1.16版本說明uboot的配置過程。二 uboot的配置 編譯和鏈結過程分析 結合頂層makefile 編譯乙個可用的uboot.bin檔案一般經過以下步驟 首先是配置,make smdk2410 config,然後是make all完成編譯,最後生成...