Embedded Software Engineer

Summary

Develop embedded low-level software and firmware drivers for bare-metal, RTOS, and Linux systems on CPU/GPU platforms. Works with peripherals (UART, I2C, SPI, ADC, CAN, Ethernet, BLE, WiFi) using C/C++ on ARM/MCU architectures.

Job Description:

1. Responsible for the development of embedded low-level software and firmware driver, complete program design, coding and debugging for bare-metal, RTOS and Linux embedded systems based on CPU/GPU platforms.

2. Develop and adapt peripheral drivers, including UART, I2C, SPI, ADC, CAN, Ethernet, BLE, WiFi and other common hardware interface driver debugging and optimization.

3. Participate in embedded software architecture design, module splitting and coding standard formulation, develop reusable, stable and low-power embedded software codes adapted to hardware chip features.

4. Conduct product function iteration, performance optimization, power consumption optimization and stability improvement, troubleshoot and resolve system crash, abnormal reboot, communication failure, timing error and other technical issues.

5. Collaborate with hardware, testing and product teams for joint debugging, functional verification and reliability testing, locate and fix software and hardware compatibility bugs and logical defects.

6. Manage software version iteration and maintenance, deliver complete technical documents including design specifications, interface manuals and debugging documents, and participate in technical reviews.

7. Research new embedded technologies and chip solutions, complete technical pre-research and solution implementation to support product upgrading and iteration.

Job Requirements:
>

1. Bachelor’s degree or above in Electronic Engineering, Computer Science, Microelectronics, Automation or related disciplines.

2. 3+ years of embedded software development experience, proficient in C/C++ embedded programming and familiar with embedded development processes and debugging tools.

3. Experienced in ARM/MCU embedded platform development, skilled in peripheral driver development and debugging with solid low-level programming capabilities.

4. Familiar with at least one embedded operating system such as FreeRTOS, RT-Thread or Linux, proficient in task scheduling, semaphore, message queue and interrupt processing mechanisms.

5. Standard coding habits and strong problem-solving skills, capable of independently troubleshooting software and hardware compatibility issues, performance bottlenecks and system stability risks.

6. Excellent technical documentation skills and cross-team collaboration ability with clear logical thinking and strong sense of responsibility.

See also

要針對這個職缺調整履歷嗎?

目前無法檢查您與這個職缺的符合程度;請先將履歷加入個人檔案,下次即可查看。

A new version of freehire is available