||
一、編程比較熟悉,只關心系統移植,應該學什么?
1)系統移植的方法
2)制作Bootloader
3)編譯調試內核
4)定制文件系統
即:嵌入式linux系統開發
二、編程不太會,學會簡單的系統移植,創建出開發平臺就行,應該學什么?
1)熟悉linux操作系統具體操作
2)熟悉并可以編譯linux內核
3)熟悉嵌入式linux系統開發的整體流程
4)熟悉linux系統調用,能夠熟練編寫linux應用程序,包括網絡、圖形等
5)了解linux設備驅動程序的開發
即:嵌入式linux應用開發
三、系統編程和移植都比較熟悉了,但是硬件是自己設計的,應該學什么?
1)linux字符設備驅動程序
2)內核內存管理與中斷處理
3)塊設備驅動程序,MTD以及文件系統
4)網絡驅動程序
5)USB設備驅動程序開發
6)幀緩沖驅動程序和DMA
即:嵌入式linux設備驅動開發
四、系統移植和編程都比較熟悉,硬件驅動也不用自己做,對內核比較感興趣,應該學什么?
1)進程調度和搶占內核實現分析
2)內存管理
3)內核中的定時
4)中斷和異常
5)系統調用和IPC
6)文件系統
即:linux內核開發
五、移植、應用、內核、驅動通通都懂,想錦上添花、技高一籌,應該學什么?
1)常用的幾種調試手段,如printk/printascii,kgdb/gdb調試,BDI2000調試器等方法
2)優化時常使用的內核函數跟蹤工具(KFT)、linux跟蹤工具(LTT),以及常用的基準測試工具(例如LMBench,LTP)。通過跟蹤手段定位系統大延遲、解決相應的bug,進行內核優化
即:嵌入式linux調試技術與性能分析
無論學習以上哪種嵌入式linux的開發,掌握C/C++和對linux操作系統是最基本的。