**:
(01)驅動程式員需要較好的c語言功底和彙編功底,因為操作的是controller暫存器或者匯流排,所以編寫**的時候必須想好每一行code帶來的結果是什麼;
(02)驅動往往是和具體的os繫結在一起的,無論是linux、windows、vxworks,都需要開發者了解相關的os 驅動框架。本質上說,這些都是套路,熟能生巧就好了;
(04)對於剛立項的project,很多時候軟、硬體的錯誤是無法判斷的,所以驅動程式員還需要自己利用示波器、邏輯分析儀、協議分析儀等工具來定位故障,撇清責任;
(05)開發驅動程式所依賴的文件大部分都是英文的,所以提高自己英文閱讀能力也是必不可少的;
(06)最簡單的驅動**是gpio、uart之類的程式,最複雜的就是sata、pci、usb匯流排類的驅動**,host、device、協議、控制器本身,這些都要了解一些;
(07)編寫驅動程式不是容易的事情,又要看cpu廠商提供的控制器手冊,還要看晶元廠商提供的命令手冊,這樣才能將兩者繫結在一起,工作不好做;
(08)驅動程式員涉及到排程、互斥、延時、中斷、dma等內容,所以本身需要對os的內容很了解;
(09)不同型別的cpu差別還是很大的,對於虛擬位址、cache、位元組對齊、位元組序、多核這些概念,驅動程式員理解得要更加深刻;
(10)驅動程式除錯不容易,printk和點燈是常用的方法,除此之外就是工作經驗的積累了。
(11)目前android是很火,驅動開發也很吃香,但是android驅動開發本質上還是linux開發,套路還是一致的,這點沒有改變,培養自己的內功很重要。
(12)說了這麼多,就是想說,驅動開發其實不簡單,要學習和總結的東西很多,沒有什麼可以埋怨的,當然也沒有什麼可以驕傲的。
隨想錄(35歲後的程式設計師)
很多人都說程式設計師是青春飯的工作,35歲或者40歲之後基本上沒有程式設計師的工作。那我們自己也要思考一下,為什麼大齡程式設計師會比較危險,他們有什麼危機?1 技術僵化 大部分程式設計師從事的工作基本上都是增 刪 查 改的一般工作,缺少技術積累,很容易被取代。試想一下,如果乙個程式設計師一直從事的是...
隨想錄(程式設計師怎麼用英文查資料)
學英文的好處,大家其實都是知道的。但是怎麼用英文來查資料,很多朋友都沒有好好想過。有些朋友也許會說,我英文不好,詞彙量小,看不懂英文,怎麼辦?其實大可不必擔心,我們查資料,主要是利用搜尋引擎來找到我們想要找的東西就可以了,有很多現成的工具可以用的。1 學會用bing等搜尋引擎查詢資料 2 配置好自己...
隨想錄(公司程式設計師的九層樓)
一層樓 不能及時完成開發任務,任務經常延期,開發的 經常引入新的問題。二層樓 勉強完成開發任務,但是bug多,自測不充分。三層樓 及時完成任務,同時出具自測報告,但是 中還是存在不少bug。四層樓 任務完成的時間點控制得還不錯,但是 編寫質量不高,函式冗長 不易閱讀,難維護。五層樓 提前完成開發任務...