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