回覆列表
-
1 # 飯飯H
-
2 # 牧世
嵌入式軟體開發大致方向可以分為驅動開發和系統應用開發。
(1) 基礎知識:需要學習C和Shell語言,作業系統基本原理,程式的編譯過程與記憶體分佈,Makefile編寫等。
(2) 驅動開發:核心基礎,記憶體管理,裝置管理,中斷處理,與使用者態的通訊方式,排程策略,鎖同步等,還需要對硬體知識有一定的瞭解,最起碼能看懂硬體原理圖。
(3) 系統應用開發:程序間通訊方式,多執行緒程式設計,TCP/IP網路程式設計,效能調優等。
最後:
多看多練多總結
多看多練多總結
多看多練多總結
-
3 # 夢裡也愛你
學習嵌入式軟體開發,首先要了解常用電子元件的工作原理。例如,電阻、電容、電感、LED發光管、二極體、三極體等。
瞭解基本電路知識,能看懂電路圖,由淺入深。
學習基本c語言。對於初學者,不需要學的太深,瞭解基本語句,學會使用keil編譯軟體使用方法即可。在實際應用過程中,遇到問題,再不斷學習完善自己。
購買51微控制器學習開發板,或者有自動下載功能的微控制器最小系統板,用這兩種學習工具,可以免去購買燒錄器的額外費用,使用起來也很方便。
總之,對於嵌入式軟體開發的學習,要勤於動手,精於實戰。透過不斷的應用練習,完善自己。
大家都知道這個領域人才非常稀缺,但是,學習週期比較長,需要的知識面也比較廣,所以不要心急。先看看下面的幾個問題,瞭解一下你現在的知識水平:
(1)你用VC++或BC++編寫過應用程式嗎?
如果編寫過應用程式,那就做好了,如果你沒有做過上層應用程式,那麼又如何能夠去理解更深的更高深的底層程式呢,那就趕快補上這一課吧!!!
(2)你曾經編寫過微控制器或者DSP的程式嗎?
我們把類似51微控制器或者DSP上面跑的沒有作業系統的程式叫做“程式碼裸奔”,我們也都曾經編寫過裸奔的程式碼。因為有的時候比如我們編寫一個簡單的程式,就只需要點幾個LED檢測幾個按鈕的狀態,那麼“程式碼裸奔”弄一個while(1)的死迴圈就足夠了,殺雞何必用牛刀。
編寫這種裸奔的程式碼,也是學習嵌入式的必由之路,因為,你將會用C語言去對暫存器寫控制字,這就是以後寫驅動程式的基礎呀。
另外需要說明的是,從概念上說,“程式碼裸奔”也已經屬於嵌入式開發的範疇。
(3)到了最後一個階段,你就可以開始找一個方向(uCos、Linux、VxWorks、WindowsCE、Palm等等等等),學習有作業系統的嵌入式開發了。
嵌入式作業系統的種類也是無法計數的,有一些我連名字也叫不上來,太多太多了。但是值得慶幸的是,這些作業系統大同小異,相通的。
你正在在讀書,建議學習uCos作業系統(看邵貝貝的《UC/OS作業系統》);如果你不喜歡這麼Basic的作業系統,VxWorks也是一個不錯的選擇,VxWorks進入中國已經好多年了,國內出版的書也都很好,尤其推薦陳智育的《VxWorks程式開發實踐》和周啟平的《VxWorks下裝置驅動程式及BSP開發指南》;Linux簡直是惡夢,但是如果你能夠走出這個噩夢,你也就成了高手了。
就說這麼多吧,路漫漫其修遠,祝你成功!!!