嵌入式開發與純軟體什麼區別?
嵌入式大體分為以下四個方向:
一、嵌入式硬體開發
熟悉電路等知識,非常熟悉各種常用元器件,掌握類比電路和數位電路設計的開發能力。熟練掌握嵌入式硬體知識,熟悉硬體開發模式和設計模式,熟悉arm32位處理器嵌入式硬體平臺開發、並具備產品開發經驗。精通常用的硬體設計工具:Protel/PADS(powerPCB)/cadence/orCAD。一般需要有4~8層高速PCB設計經驗。
二、嵌入式驅動開發
熟練掌握linux作業系統、系統結構、計算機組成原理、資料結構相關知識。熟悉嵌入式ARM開發,至少掌握Linux字元驅動程式開發。具有微控制器、ARM嵌入式處理器的移植開發能力,理解硬體原理圖,能獨立完成相關硬體驅動除錯,具有紮實的硬體知識,能夠根據晶片手冊編寫軟體驅動程式。
三、嵌入式系統開發
掌握Linux系統配置,精通處理器體系結構、程式設計環境、指令集、定址方式、除錯、彙編和混合程式設計等方面的內容;掌握Linux檔案系統製作,熟悉各種檔案系統格式(YAFFS2、JAFFS2、RAMDISK等);熟悉嵌入式Linux啟動流程,熟悉Linux配置檔案的修改;掌握核心裁減、核心移植、交叉編譯、核心除錯、啟動程式Bootloader編寫、根檔案系統製作和整合部署Linux系統等整個流程;、熟悉搭建Linux軟體開發環境(庫檔案的交叉編譯及環境配置等);
四、嵌入式軟體開發
精通Linux作業系統的概念和安裝方法、Linux下的基本命令、管理配置和編輯器,包括VI編輯器,GCC編譯器,GDB偵錯程式和 MAKE 專案管理工具等知識;精通C語言的高階程式設計知識,包括函式與程式結構、指標、陣列、常用演算法、庫函式的使用等知識、資料結構的基礎內容,包括連結串列、佇列等;掌握物件導向程式設計的基本思想,以及C++語言的基礎內容;精通嵌入式Linux下的程式設計,精通嵌入式Linux開發環境,包括系統程式設計、檔案I/O、多程式和多執行緒、網路程式設計、GUI圖形介面程式設計、資料庫;熟悉常用的圖形庫的程式設計,如QT、GTK、miniGUI、fltk、nano-x等。
公司的日常活動還是看公司的規模,大一點的一般只是讓你負責一個模組,這樣你就要精通一點。若是公司比較小的話估計要你什麼都做一點。還要了解點硬體的東西。
那麼看了這麼多,
嵌入式和純軟最大的區別在於:
純軟學習的是一門語言,例如C,C++,Java,甚至python,語言說到底只是一門工具,就像學會英語法語日語一樣。
但嵌入式學習的是軟體+硬體,通俗的講,它學的是做系統做產品,講究的是除了具體的語言工具,更多的是如何將一個產品分解為具體可實施的軟體和硬體,以及更小的單元。
不少人問,將來就業到底是選驅動還是選應用?只能說憑興趣,並且驅動和應用並不是截然分開的。
▍PART&nBSP; 01
我們說的驅動,其實並不侷限於硬體的操作,還有作業系統的原理、程式的休眠喚醒排程等概念。想寫出一個好的應用,想比較好的解決應用碰到的問題,這些知識大家應該都懂。
▍PART 02
做應用的發展路徑個人認為就是業務純熟。比如在通訊行業、IPTV行業、手機行業,行業需求很瞭解。
▍PART 03
做驅動,其實不能稱為“做驅動”,而是可以稱為“做底層系統”,做好了這是通殺各行業。比如一個人工作幾年,做過手機、IPTV、會議電視,但是這些產品對他毫無差別,因為他只做底層。當應用出現問題,解決不了時,他就可以從核心角度給他們出主意,提供工具。做底層的發展方向,應該是技術專家。
▍PART 04
其實,做底層還是做應用,之間並沒有一個界線,有底層經驗,再去做應用,會感覺很踏實。有了業務經驗,再瞭解一下底層,很快就可以組成一個團隊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69996125/viewspace-2795649/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 軟體公司與非軟體公司區別(純個人看法)
- 軟體定製開發與SaaS的區別
- 前端開發與後端開發的區別是什麼?前端後端
- “低程式碼開發”與“傳統IT開發”的區別是什麼?
- 軟體開發有什麼作用
- 純科普:什麼是嵌入式?三分鐘瞬間瞭解嵌入式系統開發
- 嵌入式軟體開發中必備軟體工具
- Frontend開發和UI有什麼區別?UI
- 力軟敏捷開發框架幫您開發什麼軟體敏捷框架
- 天正軟體和cad有什麼區別 天正建築和cad的區別
- 學python用什麼軟體開發Python
- 嵌入式開發主要分為幾類?分別是什麼?
- web前端技術分享:前端開發與後端開發的區別是什麼?Web前端後端
- 【乾貨分享】軟體Bug和缺陷有什麼區別?
- Web前端開發和後端開發有什麼區別?Web前端後端
- 什麼是python?與PHP有什麼區別?PythonPHP
- 遊戲測試和軟體測試有什麼區別?遊戲
- xshell xftp,xshell xftp這兩個軟體有什麼區別?FTP
- 自動化測試與軟體測試有什麼區別?Python入門教程Python
- Memcached與Redis有什麼區別Redis
- innerHTML與outerHTML有什麼區別?HTML
- AppSec與DevSecOps有什麼區別?APPdev
- BFC與IFC有什麼區別?
- 嵌入式軟體開發的特點、設計流程、嵌入式軟體的結構
- Session是什麼?它與Cookie有什麼區別?SessionCookie
- 零程式碼與低程式碼快速開發平臺有什麼區別
- opencv和Python的區別是什麼?Python開發!OpenCVPython
- Python開發中字典和json有什麼區別?PythonJSON
- 解析!JNPF快速開發平臺是什麼,可以開發什麼軟體系統
- APP測試和傳統軟體測試有什麼區別APP
- 常用的軟體包rpm/yum/npm到底有什麼區別NPM
- 移動前端開發和 Web 前端開發的區別是什麼?前端Web
- Components 與 Patterns 究竟有什麼區別
- XML與JSON有什麼的區別?XMLJSON
- SCRM與CRM的區別是什麼?
- DMAIC與DMADV的區別是什麼?AI
- 嵌入式軟硬體開發中遇到的坑
- 幽默:哲學與軟體工程的區別軟體工程