GNU ARM匯編--(二十)總結
這個(gè)系列之所以寫(xiě)出來(lái),是因為自己在玩linux文件系統和驅動(dòng)的時(shí)候,總是覺(jué)得自己應該回頭看看bootloader到底是怎么工作的.本來(lái)只想著(zhù)重新看下arm體系結構和匯編語(yǔ)言的,沒(méi)想到一路上還學(xué)習了以前從沒(méi)想過(guò)的編譯鏈接的細節,提高了自己閱讀makefile和腳本的能力,對指針有了更深的理解,對操作系統也有了更深的理解.
本文引用地址:http://dyxdggzs.com/article/201611/321711.htm列一下完成這個(gè)系列所閱讀或瀏覽過(guò)的書(shū)和資料:
《ARM System Developers Guide》
《ARM ArchitectureReference Manual》
http://sourceware.org/binutils/docs/ld/index.html 這個(gè)鏈接下的文檔主要講解gnu編譯器鏈接腳本的
《程序員的自我修養—鏈接、裝載與庫》
《linker and loader》
《S3C2440》
《K9F2G08U0A》
《GNU Make中文手冊》
《LINUX與UNIX Shell編程指南》
uboot代碼里面的一些文檔
差點(diǎn)忘記了google和baidu這兩個(gè)搜索引擎 比如ubuntu下安裝tftp diff的使用等問(wèn)題,谷哥和度娘很好用
等等
在這個(gè)過(guò)程中,總是會(huì )遇到這樣那樣的問(wèn)題,慢慢解決就是,花的思考時(shí)間是值得的,第一次解決問(wèn)題的速度慢意味著(zhù)以后解決同類(lèi)問(wèn)題的速度就會(huì )快上許多.
后面就會(huì )繼續移植linux3.0.46以及相關(guān)驅動(dòng)開(kāi)發(fā)和移植工作.
linux3.0.46移植好了,但是文件系統還得繼續移植.對于linux下面的驅動(dòng)開(kāi)發(fā),我的理解是,理解linux操作系統是比較關(guān)鍵的,特別是linux的文件系統的實(shí)現,設備模型以及并發(fā)和競爭.理解這個(gè)之后,就是熟悉各個(gè)驅動(dòng)子系統的代碼設計,最后就是根據具體的硬件datasheet進(jìn)行開(kāi)發(fā)和調試了.
因為目前從事的工作很少有機會(huì )和具體的硬件打交道,因為給的方案這些都做的很完善了.所以我在玩的過(guò)程中也會(huì )偏向與前面幾點(diǎn),而輔之以幾個(gè)具體硬件模塊的實(shí)踐,畢竟硬件模塊太多了,掌握了方法后都是可以再花時(shí)間去做的.
如果我的工作內容就是bsp和linux內核移植以及驅動(dòng)開(kāi)發(fā),那就太好了,求推薦!
雖然比較欠缺硬件調試的經(jīng)驗,但是我也有我的優(yōu)勢,對軟件方面的知識體系較為完善.最為重要的是我對這塊是非常感興趣的,如果工作時(shí)間就是做這塊的,想必這個(gè)成長(cháng)速度將會(huì )是驚人的,同樣是可以完成任務(wù)的.真心求推薦!
評論