職位描述
軟件工程師崗位主要職責(zé)
1. 參與需求分析與設(shè)計(jì):參與嵌入式系統(tǒng)軟件的需求分析、架構(gòu)設(shè)計(jì)及模塊設(shè)計(jì)。
2. 編碼與實(shí)現(xiàn): 使用C/C++等語(yǔ)言進(jìn)行嵌入式軟件(裸機(jī)、RTOS或嵌入式Linux應(yīng)用/驅(qū)動(dòng))的開(kāi)發(fā)、調(diào)試和優(yōu)化。
3. 驅(qū)動(dòng)開(kāi)發(fā):開(kāi)發(fā)、調(diào)試和維護(hù)底層外設(shè)驅(qū)動(dòng)程序(如UART, SPI, I2C, ADC, PWM, USB, Ethernet, CAN等)。
4. 系統(tǒng)集成與調(diào)試:與硬件工程師協(xié)作,進(jìn)行軟硬件聯(lián)調(diào),解決系統(tǒng)級(jí)問(wèn)題。熟練使用示波器、邏輯分析儀等工具進(jìn)行硬件級(jí)調(diào)試。
5. 測(cè)試與驗(yàn)證:編寫(xiě)單元測(cè)試、集成測(cè)試用例,參與系統(tǒng)測(cè)試,確保軟件功能、性能和可靠性滿足要求。
6. 代碼維護(hù)與文檔: 編寫(xiě)和維護(hù)清晰的技術(shù)文檔(設(shè)計(jì)文檔、接口文檔、用戶(hù)手冊(cè)等),遵循代碼規(guī)范和版本控制流程。
7. 問(wèn)題解決:分析和解決產(chǎn)品在開(kāi)發(fā)、測(cè)試及量產(chǎn)過(guò)程中出現(xiàn)的軟件相關(guān)問(wèn)題。
8. 技術(shù)跟進(jìn):關(guān)注嵌入式領(lǐng)域新技術(shù)、新趨勢(shì),并評(píng)估其在產(chǎn)品中的應(yīng)用可能性。
任職要求 (技術(shù)要求)
1. 教育背景:計(jì)算機(jī)科學(xué)、電子工程、自動(dòng)化、通信工程或相關(guān)專(zhuān)業(yè)或本科及以上學(xué)歷。
2. 編程語(yǔ)言:
精通C語(yǔ)言編程,深入理解指針、內(nèi)存管理、數(shù)據(jù)結(jié)構(gòu)等。
3. 嵌入式平臺(tái):
深入理解ARM Cortex-M/A系列架構(gòu),或有豐富的其他MCU/MPU(如MIPS, RISC-V, PowerPC等)開(kāi)發(fā)經(jīng)驗(yàn)。
具有豐富的裸機(jī)程序開(kāi)發(fā)經(jīng)驗(yàn)。
具備以下至少一種經(jīng)驗(yàn):
嵌入式 RTOS:精通FreeRTOS、uC/OS-II/III、RT-Thread、ThreadX等實(shí)時(shí)操作系統(tǒng)下的應(yīng)用開(kāi)發(fā)及內(nèi)核機(jī)制。
嵌入式Linux:熟悉嵌入式Linux開(kāi)發(fā)環(huán)境,具備應(yīng)用層開(kāi)發(fā)和調(diào)試經(jīng)驗(yàn)。
4. 硬件接口與協(xié)議:
扎實(shí)的電子技術(shù)基礎(chǔ),了解數(shù)字/模擬電路原理,具備硬件原理分析及評(píng)審能力。
熟練掌握常用外設(shè)接口和通信協(xié)議(UART, SPI, I2C, USB, CAN, Ethernet, Modbus等)的軟件驅(qū)動(dòng)開(kāi)發(fā)與調(diào)試。
5. 開(kāi)發(fā)工具:
熟練使用至少一種主流IDE(Keil MDK, IAR Embedded Workbench, Eclipse+GCC, VSCode+GCC/Clang等)。
精通使用調(diào)試工具(JTAG/SWD調(diào)試器,如J-Link, ST-Link)。
熟練使用版本控制工具(Git)。
熟悉常用測(cè)試和調(diào)試儀器(示波器、邏輯分析儀、萬(wàn)用表等)。
6. 系統(tǒng)理解:
理解嵌入式系統(tǒng)的基本原理(啟動(dòng)流程、中斷處理、時(shí)鐘系統(tǒng)、內(nèi)存管理)。
熟悉常用的總線協(xié)議和接口標(biāo)準(zhǔn),如CAN、485等。
了解基本的硬件原理圖,能看懂Datasheet和參考手冊(cè)。
7. 加分項(xiàng)
7.1 具體行業(yè),如:汽車(chē)電子/AUTOSAR、醫(yī)療器械、工業(yè)控制、消費(fèi)電子、物聯(lián)網(wǎng)IoT、航空航天]領(lǐng)域開(kāi)發(fā)經(jīng)驗(yàn)。
7.2 熟悉Bootloader開(kāi)發(fā)、固件升級(jí)機(jī)制。
7.3 有低功耗設(shè)計(jì)、優(yōu)化經(jīng)驗(yàn)。
7.4 熟悉常用無(wú)線通信協(xié)議(Wi-Fi, Bluetooth/BLE, Zigbee, LoRa, NB-IoT等)的集成與開(kāi)發(fā)。
7.5 有安全相關(guān)的開(kāi)發(fā)經(jīng)驗(yàn)(加密算法、安全啟動(dòng)、Secure Boot, TrustZone等)。
7.6 有RTOS內(nèi)核移植或驅(qū)動(dòng)框架開(kāi)發(fā)經(jīng)驗(yàn)。
7.7 有在ROTS下移植過(guò)或使用過(guò)LWIP協(xié)議棧經(jīng)驗(yàn)。