kernel uboot學習筆記

2021-09-06 15:28:21 字數 1707 閱讀 1057

uboot

kernel

uboot

1、uboot編譯流程分析: uboot是如何編譯生成的?

2、根據include/configs/$(target).h可以生成include/autoconf.mk。

3、uboot_env 分析

4、uboot 之 run_command函式的實現

5、uboot之bootm、go以及uimage的格式

6、u-boot-2014.04**分析(配置、啟動、記憶體分布)

7、u-boot-2014_04在tq2440上的移植

kernel

1、由.config生成的autoconf.h的位置: include/generated/autoconf.h 或者 include/linux/autoconf.h ,比較新的核心使用的前者。

2、linux的makefile的五個部分:

makefile

頂層makefile

.config

核心配置檔案

arch/$(arch)/makefile

具體架構的makefile

scripts/makefile.*

通用的規則等。面向所有的kbuild makefiles。

kbuild makefiles

核心源**中大約有500個這樣的檔案

kernel makefile位於linux核心源**的頂層目錄,也叫 top makefile。它主要用於指定編譯linux kernel目標檔案(vmlinux)和模組(module)。這編譯核心或模組是,這個檔案會被首先 讀取,並根據讀到的內容配置編譯環境變數。對於核心或驅動開發人員來說,這個檔案幾乎不用任何修改。

kbuild系統使用kbuild makefile來編譯核心或模組。當kernel makefile被解析完成後,kbuild會讀取相關的kbuild makefile進行核心或模組的編譯。kbuild makefile有特定的語法指定哪些編譯進核心中、哪些編譯為模組、及對應的原始檔是什麼等。核心及驅動開發人員需要編寫這個kbuild makefile檔案。

arch makefile位於arch/$(arch)/makefile,是系統對應平台的makefile。kernel top makefile會包含這個檔案來指定平台相關資訊。只有平台開發人員會關心這個檔案。

kbuild makefile的檔名不一定是makefile,儘管推薦使用makefile這個名字。 大多的kbuild檔案的名字都是makefile。為了與其他makefile檔案相區別,你也可以指定kbuild makefile的名字為kbuild。 而且如果「makefile」和「kbuild」檔案同時存在,則kbuild系統會使用「kbuild」檔案。

3、 以linux開頭的的標頭檔案,如對應原始碼目錄樹的include/linux/file.h

以asm開頭的標頭檔案,如對應原始碼目錄樹的arch/***/include/asm/file.h, 其中***對應某個具體的平台。

4、linux核心編譯流程分析

5、編譯最新核心使用的工具鏈:

學習筆記 雜湊學習筆記

hash基本原理 hash就是乙個像函式一樣的東西,你放進去乙個值,它給你輸出來乙個值。輸出的值就是hash值。一般hash值會比原來的值更好儲存 更小 或比較。那字串hash就非常好理解了。就是把字串轉換成乙個整數的函式。而且要盡量做到使字串對應唯一的hash值。它的主要思路是選取恰當的進製,可以...

學習筆記 CentOS 學習筆記01

簡單的做個課堂筆記 虛擬機器用的是vmware,系統是centos cd etc sysconfig network scripts pwdls 顯示列表 cat ifcfg eth0 檢視檔案內容 vi ifcfg eth0 進入vi編輯器 onboot no 原始設定 x逐字刪除 d刪除整行 a...

筆記 spring cloud 學習筆記

1 spring cloud 是什麼 spring cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具 例如配置管理,服務發現,斷路器,智慧型路由,微 控制匯流排 分布式系統的協調導致了樣板模式,使用spring cloud開發人員可以快速地支援實現這些模式的服務和應用程式。他們將在任...