1. Develop and maintain the server BMC firmware.
2. Develop new features for BMC to enhance server management.
3. Collaborate with the hardware and BIOS teams to clarify questions and resolve issues.
4. Conduct code reviews, tests, and debugging to ensure the quality and reliability of the BMC firmware.
1. Firmware Development based on BSP/SDK of Intel x86 and ARM64 platform.
2. Porting device drivers to target platform.
3. Product's functional and performance verification.
4. Experienced with programming some of the following system interfaces is a plus.
DDR3/4, PCIe, SATA, USB2/3, NOR/NAND Flash, eMMC, UART, I2C/SPI, SMI, XFI/SFI, RGMII/SGMII
5. Familiar with bootloader, Linux kernel and driver is a plus.
韌體團隊開發範疇:
1. 研究電池特性(例如:鋰電池),開發新的電池電瓶分析演算法。
2. 完成電池測試儀器、電池充電器功能開發。
專案執行過程的常態性工作:
1. 使用MCU開發工具及程式語言,主要是C語言。
2. 進行單元功能程式整合。
3. 單元功能程式撰寫及驗證。
4. 撰寫工程規格 / 技術文件 (包含測試計畫)。
5. 韌體版本管控 (Git)。
Our FW team is responsible for:
1. Developing the functionalities of battery diagnosis/charging products.
2. Investigating new diagnosis algorithm for batteries is part of our job.
Regular duties in project execution:
1. Use MCU development tools and programming languages, primarily C language.
2. Perform unit function program integration.
3. Write and verify unit function programs.
4. Write engineering specifications / technical documentation (including test plans).
5. Firmware version control (Git).
About the Role
- Seeking an MCU Firmware Engineer to design, develop, and debug firmware for microcontroller-based applications. Collaborate with internal teams, suppliers, and chipset vendors to deliver reliable embedded solutions.
Responsibilities
- Develop and debug firmware on the Cortex-M series for applications and peripheral drivers.
- Collaborate with cross-functional teams to resolve technical issues.
- Work with the Technical Project Leader to define software requirements, validate functionality, and testing procedures.
- Write engineering specifications and technical documents.
Requirements
- Bachelor’s degree in Electrical Engineering, Computer Science, or related field.
- Hands-on experience with ARM-based systems, RTOS, and embedded communication protocols (UART, SPI, I²C, CANbus, USB, GPIO).
- Experience with NXP, STM32, TI, Microchip, and Resense platform.
- Strong problem-solving skills, passion for innovation, and ability to think independently.
- Excellent cross-team collaboration ability.