對於是應該學嵌入式linux應用開發呢,還是系統開發,又或者是驅動開發呢?希望下面的內容能給我們這些初學者有幫助。(僅供參考)
一、程式設計比較熟悉,只關心系統移植,應該學什麼?
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作業系統是最基本的。
對嵌入式的一點認識
有人說嵌入式是啥,不就是微控制器麼。嵌入式還真沒這麼 膚淺 下面是我了解的一些關於嵌入式的知識。嵌入式是什麼,簡單來說,嵌入式是在已有的硬體平台上移植作業系統。那麼問題又來了,為什麼要移植作業系統呢?根據我所學的知識,我覺得有以下幾點好處 1.提高軟體的移植性。傳統微控制器對軟體和硬體耦合度要求很高...
嵌入式linux開發 一
最近買了乙個 正點原子arm linux開發板,想在這兩天對資料熟悉一下.並結合 jz2440 探索者stm32f407 和 普中科技 em3.0 進行專題分析.開發板基於 soc mcimx6y2cvm08ab i.mx6ull cortex a7 易失性儲存 nt5cc256m16ep ek d...
嵌入式Linux開發知識點
1.阻塞和非阻塞的區別 阻塞的定義 對於read,block指當串列埠輸入緩衝區沒有資料的時候,read函式將會阻塞在這裡,移植到串列埠輸入緩衝區中有資料可讀取,read讀到了需要的位元組數之後,返回值為讀到的位元組數 對於write,block指當串列埠輸出緩衝區滿,或剩下的空間小於將要寫入的位元...