本篇文章給大家談談嵌入式軟件開發必備,以及嵌入式軟件開發基礎知識對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。
本文目錄一覽:
- 1、嵌入式軟件工程師必備技能有哪些?
- 2、嵌入式開發要學什么
- 3、嵌入式軟件開發需要學什么
- 4、嵌入式軟件工程師需要具備哪些業務能力
嵌入式軟件工程師必備技能有哪些?
想從事嵌入式開發這個高大上的IT金領崗位,你如果還不知道嵌入式招聘要求,那我可能會說:“老兄你想啥呢!”不過說實在話,想從事一個行業或者說一個職業,你必須對其有所了解,然后吵著目標去努力、學習。這才常規的做法。言歸正卷,那么嵌入式招聘要求有哪些呢?首先我說說嵌入式主要的2個崗位,大部分企業所要求的技能。
一、嵌入式軟件工程師
1.必須精通C語言,這個精通跟你上學上課學到的那是天壤之別。
2.熟悉Linux,Debian,Android,Window平臺開發環境的其中一種。(當前主流是Linux、Android)。
3.熟練嵌入式應用軟件開發,一般來講需要根據需求來寫程序。
4. 熟練ARM處理器平臺及其接口硬件開發
5. 精通嵌入式Linux內核裁減移植及內核調試
6. 精通嵌入式Linux下常用接口的驅動開發
7.掌握基于Linux內核的Android底層系統開發(這是根據不同公司項目在哪個平臺下開發決定的)
以上嵌入式招聘要求是來自國內15家大型嵌入式企業的總結。其實他們做的產品基本涵蓋了各個領域的嵌入式產品。相對全面。
二、嵌入式硬件工程師
正常都需要您了解嵌入式系統硬件架構,熟悉ARM等嵌入式處理器,熟悉常用的***
器件,能夠獨立進行嵌入式平臺的硬件設計及調試。具體請見某知名企業要求:
1、本科以上學歷,電子、機械、自動化等相關專業,有電子競賽獲獎經歷者優先考慮;
2、兩年以上嵌入式ARM平臺(ARM9、Cortex-A8/A9)硬件實際開發經驗,了解嵌入式系統硬件架構,熟悉常用的***
器件,能夠獨立進行嵌入式平臺的硬件設計及調試;
3、具備設計、開發測試傳感器應用電路及功能產品,以及處理相關問題的能力;
4、具備加速度計、陀螺儀及氣壓計傳感器的應用設計及生產支持經驗最優;
5、優秀的應屆生也可考慮。
其實嵌入式崗位主要就是軟件跟硬件,關于更具體的底層、驅動、移植神馬的工程師其實跟軟件工程師中的某些部分是一樣的。只是更具體就得更專。嵌入式系統涉及的技術本來就很復雜,所以他們這么要求是有他們的道理的。華清遠見嵌入式學院的應屆畢業生月薪有很多都上萬的。
更多嵌入式招聘要求可見華清遠見嵌入式學院發布的嵌入式招聘最新信息,來自不同企業針對產品不同有更多細節的要求。但整體不會偏離以上所述。
嵌入式開發要學什么
嵌入式Linux操作系統學習規劃x0dx0aARM+LINUX路線,主攻嵌入式Linux操作系統及其上應用軟件開發目標: x0dx0a(1) 掌握主流嵌入式微處理器的結構與原理(初步定為arm9) x0dx0a(2) 必須掌握一個嵌入式操作系統 (初步定為uclinux或linux,版本待定) x0dx0a(3) 必須熟悉嵌入式軟件開發流程并至少做一個嵌入式軟件項目。 x0dx0a從事嵌入式軟件開發的好處是: x0dx0a(1)目前國內外這方面的人都很稀缺。這一領域入門門檻較高,所以非專業IT人員很難切入這一領域;另一方面,是因為這一領域較新,目前發展太快,大多數人無條件接觸。 x0dx0a(2)與企業計算等應用軟件不同,嵌入式領域人才的工作強度通常低一些(但收入不低)。 x0dx0a(3)哪天若想創業,搞自已的產品,嵌入式不像應用軟件那樣容易被盜版。硬件設計一般都是請其它公司給訂做(這叫“貼牌”:OEM),都是通用的硬件,我們只管設計軟件就變成自己的產品了。 x0dx0a(4)興趣所在,這是最主要的。 x0dx0a從事嵌入式軟件開發的缺點是: x0dx0a(1)入門起點較高,所用到的技術往往都有一定難度,若軟硬件基礎不好,特別是操作系統級軟件功底不深,則可能不適于此行。 x0dx0a(2)這方面的企業數量要遠少于企業計算類企業。 x0dx0a(3)有少數公司經常要碩士以上的人搞嵌入式,主要是基于嵌入式的難度。但大多數公司也并無此要求,只要有經驗即可。 x0dx0a(4)平臺依托強,換平臺比較辛苦。 x0dx0a興趣的由來: x0dx0a1、成功觀念不同,不虛度此生,就是我的成功。 x0dx0a2、喜歡思考,挑戰邏輯思維。 x0dx0a3、喜歡C x0dx0aC是一種能發揮思維極限的語言。關于C的精神的一些方面可以被概述成短句如下: x0dx0a相信程序員。 x0dx0a不要阻止程序員做那些需要去做的。 x0dx0a保持語言短小精干。 x0dx0a一種方法做一個操作。 x0dx0a使得它運行的夠快,盡管它并不能保證將是可移植的。 x0dx0a4、喜歡底層開發,討厭vb類開發工具(并不是說vb不好)。 x0dx0a5、發展前景好,適合創業,不想自己要死了的時候還是一個工程師。 x0dx0a方法步驟: x0dx0a1、基礎知識: x0dx0a目的:能看懂硬件工作原理,但重點在嵌入式軟件,特別是操作系統級軟件,那將是我的優勢。 x0dx0a科目:數字電路、計算機組成原理、嵌入式微處理器結構。 x0dx0a匯編語言、C/C++、編譯原理、離散數學。 x0dx0a數據結構和算法、操作系統、軟件工程、網絡、數據庫。 x0dx0a方法:雖科目眾多,但都是較簡單的基礎,且大部分已掌握。不一定全學,可根據需要選修。 x0dx0a主攻書籍:the c++ programming language(一直沒時間讀)、數據結構-C2。 x0dx0ax0dx0a2、學習linux: x0dx0a目的:深入掌握linux系統。 x0dx0a 方法:使用linux—〉linxu系統編程開發—〉驅動開發和分析linux內核。先看深,那主講原理。看幾遍后,看情景分析,對照深看,兩本交叉,深是綱,情是目。剖析則是0.11版,適合學習。最后深入代碼。 x0dx0a主攻書籍:linux內核完全剖析、unix環境高級編程、深入理解linux內核、情景分析和源代。 x0dx0a3、學習嵌入式linux: x0dx0a目的:掌握嵌入式處理器其及系統。 x0dx0a方法:(1)嵌入式微處理器結構與應用:直接arm原理及匯編即可,不要重復x86。 x0dx0a (2)嵌入式操作系統類:ucOS/II簡單,開源,可供入門。而后深入研究uClinux。 x0dx0a (3)必須有塊開發板(arm9以上),有條件可參加培訓(進步快,能認識些朋友)。 x0dx0a 主攻書籍:毛德操的《嵌入式系統》及其他arm9手冊與arm匯編指令等。 x0dx0ax0dx0a4、深入學習: x0dx0a A、數字圖像壓縮技術:主要是應掌握MPEG、mp3等編解碼算法和技術。 x0dx0a B、通信協議及編程技術:TCP/IP協議、802.11,Bluetooth,GPRS、GSM、CDMA等。 x0dx0ax0dx0a2010-8-21 16:46 回復 x0dx0a122.90.173.* 2樓x0dx0ax0dx0a C、網絡與信息安全技術:如加密技術,數字證書CA等。 x0dx0a D、DSP技術:Digital Signal Process,DSP處理器通過硬件實現數字信號處理算法。 x0dx0a 說明:太多細節未說明,可根據實際情況調整。重點在于1、3,不必完全按照順序作。對于學習c++,理由是c++不只是一種語言,一種工具,她還是一種藝術,一種文化,一種哲學理念、但不是拿來炫耀得東西。對于linux內核,學習編程,讀一些優秀代碼也是有必要的。 x0dx0a 注意: 要學會舉一反多,有強大的基礎,很多東西簡單看看就能會。想成為合格的程序員,前提是必須熟練至少一種編程語言,并具有良好的邏輯思維。一定要理論結合實踐。 x0dx0a 不要一味鉆研技術,雖然擠出時間是很難做到的,但還是要留點余地去完善其他的愛好,比如宇宙,素描、機械、管理,心理學、游戲、科幻電影。還有一些不愿意做但必須要做的! x0dx0a 技術是通過編程編程在編程編出來的。永遠不要夢想一步登天,不要做浮躁的人,不要覺得路途漫上。而是要編程編程在編程,完了在編程,在編程!等機會來了在創業(不要相信有奇跡發生,盲目創業很難成功,即便成功了發展空間也不一定很大)。 x0dx0ax0dx0a 嵌入式書籍推薦 x0dx0a Linux基礎 x0dx0a 1、《Linux與Unix Shell 編程指南》 x0dx0a C語言基礎 x0dx0a 1、《C Primer Plus,5th Edition》【美】Stephen Prata著 x0dx0a 2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K R)著 x0dx0a 3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE) x0dx0a 4、《嵌入式Linux應用程序開發詳解》 x0dx0a Linux內核 x0dx0a 1、《深入理解Linux內核》(第三版) x0dx0a 2、《Linux內核源代碼情景分析》毛德操 胡希明著 x0dx0a 研發方向 x0dx0a 1、《UNIX Network Programming》(UNP) x0dx0a 2、《TCP/IP詳解》 x0dx0a 3、《Linux內核編程》 x0dx0a 4、《Linux設備驅動開發》(LDD) x0dx0a 5、《Linux高級程序設計》 楊宗德著x0dx0a 硬件基礎 x0dx0a 1、《ARM體系結構與編程》杜春雷著 x0dx0a 2、S3C2410 Datasheet x0dx0a 英語基礎 x0dx0a 1、《計算機與通信專業英語》 x0dx0a 系統教程 x0dx0a 1、《嵌入式系統——體系結構、編程與設計》 x0dx0a 2、《嵌入式系統——采用公開源代碼和StrongARM/Xscale處理器》毛德操 胡希明著 x0dx0a 3、《Building Embedded Linux Systems》 x0dx0a 4、《嵌入式ARM系統原理與實例開發》 楊宗德著x0dx0a 理論基礎 x0dx0a 1、《算法導論》 x0dx0a 2、《數據結構(C語言版)》 x0dx0a 3、《計算機組織與體系結構?性能分析》 x0dx0a 4、《深入理解計算機系統》【美】Randal E. Bryant David O”Hallaron著 x0dx0a 5、《操作系統:精髓與設計原理》 x0dx0a 6、《編譯原理》 x0dx0a 7、《數據通信與計算機網絡》 x0dx0a 8、《數據壓縮原理與應用》 x0dx0ax0dx0a C語言書籍推薦 x0dx0a 1. The C programming language 《C程序設計語言》 x0dx0a 2. Pointers on C 《C和指針》 x0dx0a 3. C traps and pitfalls 《C陷阱與缺陷》 x0dx0a 4. Expert C Lanuage 《專家C編程》 x0dx0a 5. Writing Clean Code —–Microsoft Techiniques for Developing Bug-free C Programs x0dx0a 《編程精粹–Microsoft 編寫優質無錯C程序秘訣》 x0dx0a 6. Programming Embedded Systems in C and C++ 《嵌入式系統編程》 x0dx0a 7.《C語言嵌入式系統編程修煉》 x0dx0a 8.《高質量C++/C編程指南》林銳 x0dx0a 盡可能多的編碼,要學好C,不能只注重C本身。算法,架構方式等都很重要。 x0dx0ax0dx0a這里很多書其實是推薦而已,不必太在意,關鍵還是基礎,才是重中之重!!!
嵌入式軟件開發需要學什么
1. 編程能力
嵌入式工程師大類上屬于軟件工程師的范疇,編程技能是基本功,DJI、小馬智行、NINEBOT、石頭科技、OPPO、小米、地平線這些公司都對C/C++要求熟練掌握的程度。除此以外對解釋型語言要求為至少熟悉一種腳本語言。了解Linux系統,會使用Makefile工程管理工具等。
2. 處理器架構
美團、小馬智行、石頭科技、OPPO、VIVO都要求熟練掌握或者精通STM32單片機和ARM處理器架構,其它加分項有DSP、熟練使用ARM Cortex-A或M系列內核的SOC。這部分我們需要了解Cortex-M和Cortex-A系列處理器架構。哈佛架構、馮諾依曼架構、多級流水線、是最簡單的問題。SIMD、MIMD、指令預取、亂序執行這些概念也要搞懂。
3. 操作系統
目前的電子產品功能越來越多,也越來越復雜,操作系統可以極大地簡化產品的開發難度。
大疆、美團、小馬智行、小米、地平線都要求熟悉Linux下的多進程多線程、網絡編程的開發和調試,內存、功耗、性能優化等。
4. 接口與驅動
許多初涉嵌入式行業的人會狹隘的認為搞嵌入式就是寫驅動。美團無人配送、小馬智行、石頭科技對CAN、SPI、I2C、UART這些常見的低速接口都要求熟悉,其它的像LCD、Touch、Camera、USB、BT/WIFI/GPS、IMU這些進入尋常百姓家的Sensor驅動開發經驗是妥妥的加分項。
5.Framework
中間件和協議棧的部分有一個特點,研發機器人的企業一般都會要求熟悉ROS,相機類的企業要求熟悉camera、codec、storage相關的pipeline。還有基本的協議棧也是必須了解和掌握的。
6. 應用編程與調試
美團無人配送、小馬智行、NINEBOT、小米都要求熟悉Linux或Unix系統編程,了解基本的編譯原理,需要掌握gdb、valgrind、strace、perf、coredump等調試手段,用好log系統。
只要掌握上面編程能力、操作系統、Framework這些內功心法,調試工具不過是招數。
7. 硬件知識
科技企業大多要求了解一定的硬件知識,基礎硬件知識的掌握程度,達到可以看懂原理圖并對常見的元器件有一定了解,熟悉模電數電知識即可。基本上是電子工程類學生,所學專業課的內容。另外,要會使用示波器等測試儀器,會驅動常見的傳感器等。
嵌入式軟件工程師需要具備哪些業務能力
嵌入式軟件工程師主要從事嵌入式軟件開發工作。涉及應用層以及底層軟件開發和設計工作。下面一起來看看嵌入式軟件工程師需要具備哪些業務能力。
1、 掌握科學基礎知識及電路基礎知識。
2、 掌握嵌入式的硬、軟件知識。
3、 掌握嵌入式系統分析的方法。
4、 掌握嵌入式系統設計與開發的方法及步驟。
5、 掌握其嵌入式系統實施的方法。
6、 掌握嵌入式系統運行維護知識。
7、 了解信息化基礎知識,信息技術應用的基礎。
8、 了解信息技術標準、安全、以及有關法律的基本知識。
9、 了解嵌入式技術發展趨勢。
10、 正確閱讀和理解計算機及嵌入式領域的英文資料。
嵌入式軟件工程師平時負責的工作不是很多,但是需要掌握的知識確是不少。學習是一個累積的過程,只有累積到一定程度了,工作起來才能事半功倍,得心應手。
關于嵌入式軟件開發必備和嵌入式軟件開發基礎知識的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。