UBOOT 2011-3版本分析(初步感受)
UBOOT發(fā)展到現(xiàn)在,架構(gòu)已經(jīng)發(fā)生了不少的變化?,F(xiàn)在不少開發(fā)學(xué)習(xí)板子上都在用1.1.6版本的。不過發(fā)展到現(xiàn)在,UBOOT經(jīng)歷了不少改進(jìn),變得越來越標(biāo)準(zhǔn)。
從版本發(fā)布的命名上來看,現(xiàn)在的UBOOT不再用以前版本號的方式進(jìn)行描述。而采用日期的方式進(jìn)行發(fā)布(例如這次最新版本命名為uboot-2011.03)。
第一次用UBOOT的時(shí)候是從uboot-2010.06入手的,沒想到那個(gè)版本之后到現(xiàn)在UBOOT的架構(gòu)已經(jīng)發(fā)生了一個(gè)結(jié)構(gòu)上的新轉(zhuǎn)變,主要就是Makefile的功能更加專一化了,板子的配置被移出了Makefile,放到了一個(gè)叫做boards.cfg的文件中,文件格式如下:
??
| Target(目標(biāo)) | ARCH(平臺) | CPU(芯片) | Board?name(板子名字) | Vendor(生產(chǎn)商) | SoC(CPU類型) | Options(功能) |
| smdk2410 | arm | arm920t | - | samsung | s3c24x0 | ? ? |
和以前的老版本比,配置更加規(guī)范化了,其實(shí)這些就是相關(guān)文件分類的一個(gè)文件夾的描述。依照這個(gè)層次關(guān)系,一些S3C24x0系列的學(xué)習(xí)開發(fā)板就可以利用這個(gè)來進(jìn)行配置(比如說tq2440)。
還有一個(gè)顯著變化的地方就是修改增加了一些宏。該版本按照以前的方法組建smdk2410會(huì)報(bào)錯(cuò),主要就是幾個(gè)宏沒有定義。添加的一些宏如下:
#define????CONFIG_SYS_SDRAM_BASE????0x30000000?/*SDRAM?Bank?#1*/
#define????CONFIG_SYS_GBL_DATA_SIZE?128
#define????CONFIG_SYS_INIT_SP_ADDR????(CONFIG_SYS_SDRAM_BASE?+?SZ_4K?\
????????????-?CONFIG_SYS_GBL_DATA_SIZE)
這樣,編譯就能通過了。出錯(cuò)的原因在于arm920t體系的start.S和board.c被重寫了,估計(jì)是已經(jīng)修改了arm920t體系中的一些cpu板子。不過arm920t體系的cpu在UBOOT中有多種型號,可能還沒有修改到smdk2410上來。不過從宏的定義上可以看出,內(nèi)存的配置和環(huán)境的配置將會(huì)更加的規(guī)范化(以CONFIG_SYS開頭的都是UBOOT中規(guī)定的專用宏,意義和重用都很明確)。
上面新增的宏定義當(dāng)中CONFIG_SYS_SDRAM_BASE含義是配置板子sdram內(nèi)存的基地址;CONFIG_SYS_GBL_DATA_SIZE是配置全局?jǐn)?shù)據(jù)的尺寸;CONFIG_SYS_INIT_SP_ADDR配置了堆棧的地址(看來堆棧的地址小于4K啊,可能后面還要根據(jù)具體情況進(jìn)行優(yōu)化)。這些參數(shù)都取自其他修改過的板子的大部分板子使用的配置(其他板子也多是如此定義),應(yīng)該算是默認(rèn)的。
就smdk2410來說,現(xiàn)存的配置文件多多少少還是有些不規(guī)范,很多宏都沒有按照規(guī)范書寫,配置順序也比較亂。不過這都不是問題,畢竟還需要時(shí)間。下一步的準(zhǔn)備就是仿造smdk2410建立自己的bootloader工程,按照規(guī)范生成一個(gè)標(biāo)準(zhǔn)的固件。
說實(shí)話,固件程序開發(fā)其實(shí)也沒啥太神秘的地方,它的主要作用就是檢測調(diào)試硬件,完成這個(gè)任務(wù)后,它就只有引導(dǎo)系統(tǒng)的作用了。tq2440自己也擴(kuò)展了一個(gè)bootloader,也能引導(dǎo)LINUX系統(tǒng)。不過UBOOT是個(gè)偉大的開源項(xiàng)目,而且已有了相當(dāng)好的規(guī)范性和知名度。作為開源軟件的受益者,我們應(yīng)該繼續(xù)幫助UBOOT不斷的發(fā)展。只有UBOOT發(fā)展好了,我們的現(xiàn)在的學(xué)習(xí)才更有意義:)
轉(zhuǎn)載于:https://blog.51cto.com/sviews/674684
總結(jié)
以上是生活随笔為你收集整理的UBOOT 2011-3版本分析(初步感受)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Markdown 基础语法与常见问题总结
- 下一篇: 软件版本周期