We are looking for a passionate and skilled Embedded Software Engineer to join our Client's team. The ideal candidate will have strong experience in bare-metal programming, low-level driver development, and a solid understanding of microcontroller architectures such as RISC-V or ARM. You will work closely with architects to understand requirements and will be responsible for designing, developing, testing, and maintaining device drivers and associated firmware.
Key Responsibilities :
- Collaborate with system architects to understand design requirements.
- Design, develop, and test low-level device drivers for embedded systems.
- Implement bare-metal firmware for interfaces like I2C, SPI, UART, DMA, etc.
- Develop APIs for integrating hardware drivers with higher-level applications or RTOS.
- Perform debugging and validation of developed drivers on hardware.
- Maintain documentation and ensure code quality through unit testing and code reviews.
Technical Skills Required :
Strong programming skills in Embedded C.Experience with low-level hardware driver development.Hands-on experience with bare-metal programming.Proficient in working with serial communication interfaces : I2C (preferred), SPI, UART, DMA.Good understanding of RISC-V or ARM architecture, booting procedure, and hardware-software interaction.Nice-to-Have Skills :
Familiarity with C++ and / or Python .Experience with RTOS porting and driver development (e.g., FreeRTOS, Zephyr).Knowledge of protocols like SMBus , PMBus , SVID , and AVS .Prior experience with I2C driver development is a strong plus.Education Qualification :
Bachelors or Masters degree in Electronics & Communication (ECE) , Computer Science (CSE) , or Electrical & Electronics (EEE) .