時間:2018-07-12 00:00:00 來源:信盈達 作者:信盈達
驅動程序開發是嵌入式Linux項目中工作量大的一部分內容,開發出高質量的驅動程序是項目成功的關鍵。Linux設備驅動的學習是一項浩繁的工程,包含如下的重點、難點。
1、 編寫Linux設備驅動要求工程師有非常好的硬件基礎,懂得SRAM、Flash、SDRAM、磁盤的讀寫方式,UART、I2C、USB等設
備的接口以及輪詢、中斷、DMA的原理,PCI總線的工作方式以及CPU的內存管理單元(MMU)等。
2、編寫Linux設備驅動要求工程師有非常好的C語言基礎,能靈活地運用C語言的結構體、指針、函數指針及內存動態申請和
釋放等。
3、編寫Linux設備驅動要求工程師有一定的Linux內核基礎,雖然并不要求工程師對內核各個部分有深入的研究,但至少要明
白驅動與內核的接口。尤其是對于塊設備、網絡設備、Flash設備、串口設備等復雜設備,內核定義的驅動體系架構本身就非
常復雜。
4、編寫Linux設備驅動要求工程師有非常好的多任務并發控制和同步的基礎,因為在驅動中會大量使用自旋鎖、互斥、信號
量、等待隊列等并發與同步機制。
上述經驗值的獲取并非朝夕之事,因此要求我們有足夠的學習恒心和毅力。動手實踐永遠是學習任何軟件開發的好方法,學習Linux設備驅動也不例外。此外,閱讀經典書籍和參與Linux社區的討論也是非常好的學習方法。Linux內核源代碼中包含了一個Documentation目錄,其中包含了一批內核設計的文檔,全部是文本文件。
學習Linux設備驅動的一個注意事項是要避免管中窺豹、只見樹木不見森林,因為各類Linux設備驅動都從屬于一個Linux設備驅動的架構,單純而片面地學習幾個函數、幾個數據結構是不可能理清驅動中各組成部分之間的關系的。因此,Linux驅動的分析方法是點面結合,將對函數和數據結構的理解放在整體架構的背景之中。

信盈達2008年在深圳特區南山高新科技園成立。自成立至今近九年來專注為企業和個人提供高端方案設計、高端嵌入式/Android培訓等服務。公司下設信盈達實訓學院、信盈達研發中心、信盈達教學儀器三大業務板塊。九年來公司堅持"技術領先、服務領先",以雄厚的實力和專業的品質成為國內唯一有實力從產品最底層研發到系統層開發的嵌入式實訓、產品解決方案提供商。為中國IT行業提供最具價值的職業教育服務。專業培訓i嵌入式、物聯網、人工智能、Java、單片機等課程,想了解更多信息點擊立馬咨詢
免費領取試聽卡
申請已經提交
老師會馬上給您安排試聽課程!
申請出錯了
您可以加老師QQ:914865590報名咨詢!