g-bios嵌入式系統(tǒng)的BIOS
簡單地說,g-bios是一個Bootloader,或者說是一個嵌入式系統(tǒng)的BIOS,類似于u-boot(另一個有名的Bootloader,由德國人發(fā)起)。g-bios的作用相當(dāng)于PC機的BIOS + Bootloader。
g-bios不但借鑒了幾乎所有主流Bootloader/BIOS的優(yōu)點,而且加入不少獨創(chuàng)的特性,包括:
1. 自動檢測有待燒錄的image文件類型,并智能自動燒錄。
2. 支持多種文件系統(tǒng),包括YAFFS1、YAFFS2、JFFS2、CRAMFS、NFS等。
3. 支持兩種用戶界面:GUI(類似傳統(tǒng)PC BIOS)和命令行模式(面向嵌入式系統(tǒng))。
4. 命令行自動補全(Tab鍵)及歷史記錄(上、下鍵)支持。
5. Flash(MTD)分區(qū)支持,幫助Linux、Android內(nèi)核識別分區(qū)。
6. 自動設(shè)置啟動參數(shù)(Linux kernel command line),極大地降低了參數(shù)設(shè)置的復(fù)雜度并減少了啟動出錯的概率。當(dāng)然,同時也支持手動設(shè)置,以滿足特殊要求。另外,boot程序還具有記憶功能,即能記得用戶上次輸入的參數(shù),以后只需輸入boot即可。
7. 引入全新的架構(gòu)及NB(Never Burn Down,燒不死)技術(shù)。核心設(shè)計思想是:把g-bios分為上半部分和下半部分,上半部分以最小的代碼量完成CPU和Memory的初始化,并實現(xiàn)引導(dǎo)下半部分的功能;下半部分為g-bios主體。上半部分設(shè)計簡單,調(diào)試周期短,完成后就固化在特定的引導(dǎo)區(qū)中不再更改;開發(fā)人員可在沒有仿真器的情況下大膽開發(fā)下半部分代碼(即g-bios主體),事實上,只需一根串口數(shù)據(jù)線應(yīng)能輕松完成整個g-bios的開發(fā)。啟動代碼的地址無關(guān)性帶來的麻煩?沒有了!因為bug或不小心改錯了代碼,甚至是數(shù)據(jù)線連接問題而導(dǎo)致啟動黑屏?也不可能出現(xiàn)了!J在調(diào)試完成并正試發(fā)布的產(chǎn)品時,若有必要,也可將上下兩部分可合成一個整體——只需一個命令重新編譯即可。
8. 優(yōu)秀的子系統(tǒng)設(shè)計:包括中斷、網(wǎng)絡(luò)、Flash、USB子系統(tǒng),等等。
9. 集成類似PC機版本的Video BIOS。
10. 支持make gconfig圖形化配置,簡化移植過程。
