嵌入式系統定製開發的分層與專業的分類
嵌入式系統這個名詞還是比較難以準確定義的,一般把“用於控制、監視或者輔助操作機器和裝置的裝置”稱為嵌入式系統,系統包括一系列軟硬體設施等,比如:手機的系統開發(Android、IOS等),無人機的系統控制軟體、驅動開發,路由器的軟體系統開發等等。廣義上,可以把微控制器(STM32)、SOC等等硬體構成的控制系統中軟體開發部分都稱之為嵌入式軟體開發。嵌入式定製
嵌入式系統分為4層,硬體層、驅動層、作業系統層和應用層。
1、硬體層,是整個嵌入式系統的根本,如果現在微控制器及介面這塊很熟悉,並且能用C和組合語言來程式設計的話,從嵌入式系統的硬體層走起來相對容易,硬體層也是驅動層的基礎,一個優秀的驅動工程師是要能夠看懂硬體的電路圖和自行完成CPLD的邏輯設計的,同時還要對作業系統核心及其排程性相當的熟悉的。但硬體平臺是基礎,增值還要靠軟體。
硬體層比較適合於,電子、通訊、自動化、機電一體、資訊工程類專業的人來搞,需要掌握的專業基礎知識有,微控制器原理及介面技術、微機原理及介面技術、C語言。
2、驅動層,這部分比較難,驅動工程師不僅要能看懂電路圖還要能對作業系統核心十分的精通,以便其所寫的驅動程式在系統呼叫時,不會獨佔作業系統時間片,而導至其它任務不能動行,不懂作業系統核心架構和實時排程性,沒有良好的驅動編寫風格,按大多數書上所說新增的驅動的方式,很多人都能做到,但可能連個初級的驅動工程師的水平都達不到,這樣所寫的驅動在應用呼叫時就如同windows下我們開啟一個程式執行後,再開啟一個程式時,要不就是中斷以前的程式,要不就是等上一會才能執行後來開啟的程式。想做個好的驅動人員沒有三、四年功底,作業系統核心不研究上幾編,不是太容易成功的,但其工資在嵌入式系統四層中可是最高的。
驅動層比較適合於電子、通訊、自動化、機電一體、資訊工程類專業尤其是計算機偏體系結構類專業的人來搞,除硬體層所具備的基礎學科外,還要對資料結構與演算法、作業系統原理、編譯原理都要十分精通了解。
3、作業系統層,對於作業系統層目前可能只能說是簡單的移植,而很少有人來自已寫作業系統,或者寫出缺胳膊少腿的作業系統來,這部分工作大都由驅動工程師來完成。作業系統是負責系統任務的除錯、磁碟和檔案的管理,而嵌入式系統的實時性十分重要。據說,XP作業系統是微軟投入300人用兩年時間才搞定的,總時工時是600人年,中科院軟體所自己的女媧Hopen作業系統估計也得花遇幾百人年才能搞定。因此這部分工作相對來講沒有太大意義。
4、應用層,相對來講較為容易的,如果會在windows下如何進行程式設計介面函式呼叫,到作業系統下只是編譯和開發環境有相應的變化而已。如果涉及Jave方面的程式設計也是如此的。嵌入式系統中涉及演算法的由專業演算法的人來處理的,不必歸結到嵌入式系統範疇內。但如果涉及嵌入式系統下面嵌入式資料庫、基於嵌入式系統的網路程式設計和基於某此應用層面的協議應用開發(比如基於SIP、H.323、Astrisk)方面又較為複雜,並且有難度了。
學ARM,從硬體上講,一方面就是學習介面電路設計,另一方面就是學習彙編和C語言的板級程式設計。如果從軟體上講,就是要學習基於ARM處理器的作業系統層面的驅動、移植了。這些對於初學都來說必須明確,要麼從硬體著手開始學,要麼從作業系統的熟悉到應用開始學,但不管學什麼,只要不是純的作業系統級以上基於API的應用層的程式設計,硬體的暫存器類的東西還是要能看懂的,基於板級的彙編和C程式設計還是要會的。因此針對於嵌入式系統的硬體層和驅動程的人,ARM的介面電路設計、ARM的C語言和組合語言程式設計及除錯開發環境還是需要掌握的。
相關文章
- 昆蟲分類與檢索系統的設計與開發
- 系統的分類
- 專業開發雜湊競猜遊戲系統《定製》遊戲
- 嵌入式開發主要分為幾類?分別是什麼?
- 理財分紅系統開發-分紅系統開發
- IT系統的三種分類
- 分層開發思想與小籠包
- 直播系統定製開發的步驟分享,如何進行直播系統定製開發
- 作業系統統計資料分類作業系統
- 微信商城新零售系統小程式定製開發(分銷商系統原始碼)原始碼
- CSDN部落格分類系統的分析與實現
- 九層天塔DAp開發(定製)系統開發(說明詳細)
- .net下分層架構系統的開發技術規範(1) (轉)架構
- 總分類賬的設定與登記
- 分趣投開發原理丨分趣投系統開發(開發案例)丨分趣投系統原始碼部署原始碼
- 不再開發統一的定製化作業系統 Meta解散XROS團隊作業系統ROS
- NFT質押代幣分紅dapp系統開發功能|合約定製案例APP
- 三層式開發中的層次劃分討論
- 資訊系統分類
- win10桌面分類框怎麼設定?win10系統桌面分類框設定教程Win10
- MVVM分層下的前端工程化開發MVVM前端
- Excel分類軸介紹與製作Excel
- Unity遊戲積分/計分系統製作方法Unity遊戲
- 作業系統(八) -- 記憶體的分段與分頁作業系統記憶體
- 深度學習專案實戰:垃圾分類系統深度學習
- 純科普:什麼是嵌入式?三分鐘瞬間瞭解嵌入式系統開發
- iOS開發的分類和擴充套件iOS套件
- scrm 商城系統定製開發模式模式
- 架構分層的小糾結-層級該如何劃分與定位?架構
- 從單機定時到多層分發
- DAPP矩陣公排系統開發(原始碼)|DAPP代幣分紅模式軟體開發定製APP矩陣原始碼模式
- 數商雲分銷管理系統開發,解決傳統企業運營分銷商城系統難點
- 你的專案應該如何分層?
- 龍蜥社群首推“分層分類”頂設 發展以云為終態的開源產業創新生態產業
- 分投趣fintoch開發丨fintoch分投趣系統開發方案詳細丨分投趣fintoch系統原始碼案例原始碼
- Thinkphp開發的積分商城系統原始碼詳情開發示例PHP原始碼
- 裝潢建材行業分銷商城系統開發原始碼行業原始碼
- 遊戲特效有哪些製作的分類遊戲特效