嵌入式開發(fā)要學哪些內容?對于想要成為嵌入式工程師或者是想要學習嵌入式的小伙伴來說都是想要了解的內容了,在想要進入到這個行業(yè)的時候都是需要先對自己要學習的內容還有進入到這個行業(yè)要掌握好什么都了解清楚的,今天粵嵌科技就給大家講解下嵌入式開發(fā)要學哪些內容?
嵌入式開發(fā)要學習哪些內容:
其實,我們直接分析大企業(yè)嵌入式相關崗位的工作描述,就可以找到答案,也是我們努力的方向。現(xiàn)在嵌入式開發(fā)隨著處理器的成長要面對全新的挑戰(zhàn):計算性能和內存永遠不夠用、為了保障不丟幀要求高效的實時性、接口和協(xié)議棧的產(chǎn)生導致代碼的規(guī)模越來越大。
為了應對這些新的挑戰(zhàn),各大企業(yè)對工程師有以下幾個方面的要求:編程能力、處理器架構、操作系統(tǒng)、接口與驅動、Framework、應用編程與調試、硬件知識。
1. 編程能力
嵌入式工程師大類上屬于軟件工程師的范疇,編程技能是基本功,DJI、小馬智行、NINEBOT、石頭科技、OPPO、小米、地平線這些公司都對C/C++要求熟練掌握的程度。除此以外對解釋型語言要求為至少熟悉一種腳本語言。了解Linux系統(tǒng),會使用Makefile工程管理工具等。
2. 處理器架構
美團、小馬智行、石頭科技、OPPO、VIVO都要求熟練掌握或者精通STM32單片機和ARM處理器架構,其它加分項有DSP、熟練使用ARM Cortex-A或M系列內核的SOC。這部分我們需要了解Cortex-M和Cortex-A系列處理器架構。哈佛架構、馮諾依曼架構、多級流水線、是簡單的問題。SIMD、MIMD、指令預取、亂序執(zhí)行這些概念也要搞懂。
3. 操作系統(tǒng)
目前的電子產(chǎn)品功能越來越多,也越來越復雜,操作系統(tǒng)可以極大地簡化產(chǎn)品的開發(fā)難度。
大疆、美團、小馬智行、小米、地平線都要求熟悉Linux下的多進程多線程、網(wǎng)絡編程的開發(fā)和調試,內存、功耗、性能優(yōu)化等。
4. 接口與驅動
許多初涉嵌入式行業(yè)的人會狹隘的認為搞嵌入式就是寫驅動。美團無人配送、小馬智行、石頭科技對CAN、SPI、I2C、UART這些常見的低速接口都要求熟悉,其它的像LCD、Touch、Camera、USB、BT/WIFI/GPS、IMU這些進入尋常百姓家的Sensor驅動開發(fā)經(jīng)驗是妥妥的加分項。
5.Framework
中間件和協(xié)議棧的部分有一個特點,研發(fā)機器人的企業(yè)一般都會要求熟悉ROS,相機類的企業(yè)要求熟悉camera、codec、storage相關的pipeline。還有基本的協(xié)議棧也是必須了解和掌握的。
6. 應用編程與調試
美團無人配送、小馬智行、NINEBOT、小米都要求熟悉Linux或Unix系統(tǒng)編程,了解基本的編譯原理,需要掌握gdb、valgrind、strace、perf、coredump等調試手段,用好log系統(tǒng)。
只要掌握上面編程能力、操作系統(tǒng)、Framework這些內功心法,調試工具不過是招數(shù)。
7. 硬件知識
科技企業(yè)大多要求了解一定的硬件知識,基礎硬件知識的掌握程度,達到可以看懂原理圖并對常見的元器件有一定了解,熟悉模電數(shù)電知識即可。基本上是電子工程類學生,所學專業(yè)課的內容。另外,要會使用示波器等測試儀器,會驅動常見的傳感器等。
如果說你想要進入到嵌入式或者是想要學習嵌入式的話那么以上這7點的內容大家都是要掌握好的。粵嵌科技歡迎想要學習嵌入式的學員來我們公司進行實地考察,也可以點擊我們文章下面的獲取試聽資格按鈕來獲取我們的嵌入式課程免費試聽資格按鈕。