驅動開發入門

安信實驗室發表於2021-07-13

驅動開發入門

首先要進行驅動開發,那就要知道驅動是什麼。驅動,就是晶片要運作起來,必須要依賴軟體的一系列的配置,這一系列配置就是驅動。至於為什麼需要驅動,能點開這篇文章的人應該都清楚。

 安信接Windows驅動開發外包

 

可能有些才開始接觸底層開發的人員或者對這部分不太瞭解的人會認為驅動開發是個很高大上的職業。但筆者作為工作在基層的員工來說,大部分驅動開發並沒有太多的技術含量。為什麼這麼說,原因如下:

 

1 、大部分功能是由晶片實現,驅動的作用主要是控制和初始化。大部分晶片驅動就是寫這個,寫完了晶片就能跑起來了。具體做什麼業務再根據具體場景來進行控制配置,這就不是驅動的範圍了。

 

2 、驅動開發是有套路的不管是使用者態驅動還是核心態驅動,基本按照這個套路走,就不會有大問題。特別是初級使用者態驅動,是一層很薄的軟體,就像一個洋蔥剝幾層就看到最裡面的東西,沒太多技術。

 

3 、大部分驅動由於主要做控制和初始化,涉及不到複雜的演算法,所以其實編碼階段大部分都不會太難。

 

所以我感覺我上班的大部分時間其實是在搬磚,所以碼農這個稱呼其實也有一定道理 []~(  ̄▽ ̄ )~* 。但是驅動為什麼還是比較吸引人,還是因為驅動開發也有它自己的難點和魅力,我理解的驅動開發的難點(魅力)主要是集中在以下幾點

 

1 、晶片需要跟軟體一起完成的功能,也就是說整套功能流程需要軟體和晶片緊密配合。這部分功能驅動是比較複雜的,會涉及到軟硬體資源的保護,軟硬體的互動效率等問題。

 

2 、核心態驅動與核心耦合,在出現異常後,如何定位是一個難點,特別是踩記憶體這種問題,或者出現了某種異常直接復位,無問題現場。這種問題分析是很難短時間內找到問題點的,必須要一步步抽絲剝繭。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946382/viewspace-2781085/,如需轉載,請註明出處,否則將追究法律責任。

相關文章