歡迎來(lái)到培訓(xùn)無(wú)憂網(wǎng)!
咨詢(xún)熱線 400-001-5729
>
新聞資訊 >
電腦/IT >
嵌入式開(kāi)發(fā) >
學(xué)習(xí)嵌入式開(kāi)發(fā)需要掌握的內(nèi)容包括哪些?2022-01-15 16:09:48|已瀏覽:5152次
如果我們想學(xué)習(xí)嵌入式,需要掌握哪些內(nèi)容呢?
1. 編程能力
嵌入式工程師大類(lèi)上屬于軟件工程師的范疇,編程技能是基本功,DJI、小馬智行、NINEBOT、石頭科技、OPPO、小米、地平線這些公司都對(duì)C/C++要求熟練掌握的程度。
除此以外對(duì)解釋型語(yǔ)言要求為至少熟悉一種腳本語(yǔ)言。了解Linux系統(tǒng),會(huì)使用Makefile工程管理工具等。
可見(jiàn),C和C++仍舊是嵌入式開(kāi)發(fā)絕對(duì)主流的語(yǔ)言。底層軟件這么多年來(lái),一直是C的天下,在可預(yù)見(jiàn)的將來(lái),不會(huì)改變。
隨著系統(tǒng)復(fù)雜度越來(lái)越高,越來(lái)越多的應(yīng)用層軟件采用C++來(lái)編寫(xiě)。Sehll主要用于制作工程管理工具,Python可以讓你和人工智能工程師愉快對(duì)話。
2. 處理器架構(gòu)
美團(tuán)、小馬智行、石頭科技、OPPO、VIVO都要求熟練掌握或者精通STM32單片機(jī)和ARM處理器架構(gòu),其它加分項(xiàng)有DSP、熟練使用ARM Cortex-A或M系列內(nèi)核的SOC。
這部分我們需要了解Cortex-M和Cortex-A系列處理器架構(gòu)。哈佛架構(gòu)、馮諾依曼架構(gòu)、多級(jí)流水線、是最簡(jiǎn)單的問(wèn)題。SIMD、MIMD、指令預(yù)取、亂序執(zhí)行這些概念也要搞懂。
3. 操作系統(tǒng)
目前的電子產(chǎn)品功能越來(lái)越多,也越來(lái)越復(fù)雜,操作系統(tǒng)可以極大地簡(jiǎn)化產(chǎn)品的開(kāi)發(fā)難度。
大疆、美團(tuán)、小馬智行、小米、地平線都要求熟悉Linux下的多進(jìn)程多線程、網(wǎng)絡(luò)編程的開(kāi)發(fā)和調(diào)試,內(nèi)存、功耗、性能優(yōu)化等。
無(wú)人駕駛和無(wú)人機(jī),這些對(duì)響應(yīng)速度要求高的行業(yè),對(duì)實(shí)時(shí)操作系統(tǒng)也有不同程度的要求。
在這一部分我們需要掌握基本的操作系統(tǒng)知識(shí),理論結(jié)合實(shí)際,熟悉一個(gè)RTOS,大多數(shù)的RTOS的復(fù)雜度遠(yuǎn)小于Linux。
Linux擁有完善的生態(tài),相較于RTOSLinux的C庫(kù)配置已經(jīng)很完善了。但是想要用好就有一定難度了,在這里需要了解內(nèi)存管理、進(jìn)程管理、多核、中斷、鎖、消息隊(duì)列,性能分析等等內(nèi)容來(lái)應(yīng)對(duì)開(kāi)發(fā)工程中幀率下降、系統(tǒng)秒級(jí)卡死、相機(jī)丟幀等異常。
4. 接口與驅(qū)動(dòng)
許多初涉嵌入式行業(yè)的人會(huì)狹隘的認(rèn)為搞嵌入式就是寫(xiě)驅(qū)動(dòng)。
美團(tuán)無(wú)人配送、小馬智行、石頭科技對(duì)CAN、SPI、I2C、UART這些常見(jiàn)的低速接口都要求熟悉,其它的像LCD、Touch、Camera、USB、BT/WIFI/GPS、IMU這些進(jìn)入尋常百姓家的Sensor驅(qū)動(dòng)開(kāi)發(fā)經(jīng)驗(yàn)是妥妥的加分項(xiàng)。
低速接口的驅(qū)動(dòng),在廠家提供的BSP中一般都有,只需要仔細(xì)看手冊(cè),搞清各接口所需的工作模式并做適當(dāng)配置,該用中斷的時(shí)候用中斷,該用DMA的時(shí)候用DMA,即可。
5. Framework
中間件和協(xié)議棧的部分有一個(gè)特點(diǎn),研發(fā)機(jī)器人的企業(yè)一般都會(huì)要求熟悉ROS,相機(jī)類(lèi)的企業(yè)要求熟悉camera、codec、storage相關(guān)的pipeline。還有基本的協(xié)議棧也是必須了解和掌握的。
6. 應(yīng)用編程與調(diào)試
美團(tuán)無(wú)人配送、小馬智行、NINEBOT、小米都要求熟悉Linux或Unix系統(tǒng)編程,了解基本的編譯原理,需要掌握gdb、valgrind、strace、perf、coredump等調(diào)試手段,用好log系統(tǒng)。
只要掌握上面編程能力、操作系統(tǒng)、Framework這些內(nèi)功心法,調(diào)試工具不過(guò)是招數(shù)。
7. 硬件知識(shí)
科技企業(yè)大多要求了解一定的硬件知識(shí),基礎(chǔ)硬件知識(shí)的掌握程度,達(dá)到可以看懂原理圖并對(duì)常見(jiàn)的元器件有一定了解,熟悉模電數(shù)電知識(shí)即可;旧鲜请娮庸こ填(lèi)學(xué)生,所學(xué)專(zhuān)業(yè)課的內(nèi)容。另外,要會(huì)使用示波器等測(cè)試儀器,會(huì)驅(qū)動(dòng)常見(jiàn)的傳感器等。
注:尊重原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處和鏈接 http://www.hebeijilong.cn/news-id-15246.html 違者必究!部分文章來(lái)源于網(wǎng)絡(luò)由培訓(xùn)無(wú)憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實(shí)性請(qǐng)自行核實(shí)或聯(lián)系我們,了解更多相關(guān)資訊請(qǐng)關(guān)注嵌入式開(kāi)發(fā)頻道查看更多,了解相關(guān)專(zhuān)業(yè)課程信息您可在線咨詢(xún)也可免費(fèi)申請(qǐng)?jiān)囌n。關(guān)注官方微信了解更多:150 3333 6050