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