
在嵌入式系統的設計中,當需要并行處理的功能時ARM9通常會成為首選,因為ARM9采用五級流水線,能夠應付大多數的并行任務。很多設計者都會選用其作為設計的一部分,ARM9因此得道了非常廣泛的應用。從ARM9開始入手學習嵌入式的人也逐漸增多起來。
在學習過程當中,定期進行總結是必要的。本篇文章總結了一些與ARM9學習相關的經驗,從驅動和應用兩個層面來對ARM9的入門進行引導。
linux系統編程學習建議
推薦想要自學ARM9的朋友從韋東山的視頻入手,但在這之前一定要先學習一下linux應用編程,應用編程也叫做系統編程,在linux終端上輸入:man open;man read;man write……可以看到很多C庫實現的函數接口,學習應用編程就是學習這種API的使用,了解進程、線程、等概念。
linux驅動編程學習建議
有了系統編程的基礎之后,就可以投身到驅動的學習中了。至于為什么要先學習linux系統編程再來學習驅動,因為在第二期的驅動視頻里,韋東山老師講解涉及到的應用程序比較少,而測試驅動時,每個應用程序的API都要百度的話,不僅沒有效率,還會打斷知識的完整性。所以建議學好linux系統編程后,可以一邊學習韋老師的第二期驅動,然后自己寫測試程序。
那么驅動學習該學什么?其實主要有兩點。
驅動框架
其實只要百度一下字符設備驅動框架,就能夠發現其實其他驅動都是高度類似的。對于驅動框架,無需你們去創新,能讓你創新的就不是什么“框架”了,所以不要糾結自己什么時候能夠寫出更好的框架,你能做的只有遵從內核做好的框架,在這個框架之內對自己寫的代碼進行有限的“創新”。又如,網卡驅動,SD卡驅動等等,這些都是標準化的接口或者協議,同樣的,不要我們去創新,也不需要去完全了解這些協議的含義或者實現方法,應該捉住重點,分析芯片的特性,對它們進行移植,最后測試成功就行~當然,你應該在這個過程中積累相關的知識!
內核API
這里有一點需要注意,就是API的解釋存在兩種,通常意義上的內核API和linux系統編程學習建議里談到應用API不用,下面來解釋一下兩者的關系。
簡單來說,應用當中的API作為一個空殼的指令,實現其工作細節的就是內核API,當這個“指令”下達之后,內核API就根據指令的內容去執行要做的任務,所以內核API是真正實現一個功能的具體執行方法。
當然,上面的說法只是一種比喻,方便大家能夠快速理解兩種API,在經過一段時間的實踐后,通過驅動的編寫以及測試,大家就能夠找到自己的方式來更好的進行理解。
聲明:本內容為作者獨立觀點,不代表電源網。本網站原創內容,如需轉載,請注明出處;本網站轉載的內容(文章、圖片、視頻)等資料版權歸原作者所有。如我們采用了您不宜公開的文章或圖片,未能及時和您確認,避免給雙方造成不必要的經濟損失,請電郵聯系我們,以便迅速采取適當處理措施;歡迎投稿,郵箱∶editor@netbroad.com。
微信關注 | ||
![]() |
技術專題 | 更多>> | |
![]() |
技術專題之EMC |
![]() |
技術專題之PCB |