在說到嵌入式的時候,首先還是要知道什么是嵌入式,然后才能去了解嵌入式開發需要學習的內容之類的,還好,下面小編已經給大家準備好了嵌入式開發入門攻略了,歡迎閱讀。
一、嵌入式開發需要學習哪些內容?
其實,我們直接分析大企業嵌入式相關崗位的工作描述,就可以找到答案,也是我們努力的方向。現在嵌入式開發隨著處理器的成長要面對全新的挑戰:計算性能和內存永遠不夠用、為了保障不丟幀要求高效的實時性、高級接口和協議棧的產生導致代碼的規模越來越大。
為了應對這些新的挑戰,各大企業對工程師有以下幾個方面的要求:編程能力、處理器架構、操作系統、接口與驅動、Framework、應用編程與調試、硬件知識。
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. 硬件知識
科技企業大多要求了解一定的硬件知識,基礎硬件知識的掌握程度,達到可以看懂原理圖并對常見的元器件有一定了解,熟悉模電數電知識即可。基本上是電子工程類學生,所學專業課的內容。另外,要會使用示波器等測試儀器,會驅動常見的傳感器等。
以上介紹的就是嵌入式開發需要學習哪些內容了,只要是涉及嵌入式的地方,在你學習之前都要記得多去了解下,這樣總是有幫助的,肯定能對你的嵌入式起到作用。
华清图书馆
0元电子书,限时免费申领10本华清图书PDF版
扫码关注华清远见公众号