We are looking for an Embedded C Developer with strong experience in embedded firmware development, RTOS, and CAN communication for automotive applications.The ideal candidate should have hands-on experience developing low-level embedded software using C, working with RTOS-based systems, and integrating/debugging CAN communication. Exposure to Embedded Linux is preferred.
Key Responsibilities
- Design, develop, integrate, and maintain embedded software using Embedded C for automotive applications.
- Develop software components for automotive ECUs and embedded control systems.
- Work with RTOS-based embedded systems, including task/thread management, scheduling, synchronization, inter-task communication, and interrupt handling.
- Develop and integrate CAN communication and related communication software.
- Work on CAN message handling, signal processing, diagnostics, and communication interfaces.
- Develop and integrate device drivers and low-level software components for embedded systems.
- Debug and troubleshoot embedded software at both software and target-hardware levels.
- Perform software integration, unit testing, functional testing, and defect analysis.
- Work with Embedded Linux environments and support Linux-based development/debugging activities.
- Collaborate with hardware, system, application, testing, and validation teams.
- Participate in code reviews and follow defined coding and software-development standards.
- Maintain source code and software releases using Git/SVN or other version-control tools.
- Analyze requirements and contribute to software design, implementation, and technical documentation.
Requirements
- 3-5 years of experience in automotive embedded software development.
- Strong hands-on programming experience in Embedded C - Mandatory.
- Hands-on experience with RTOS - Mandatory.
- Strong understanding of CAN - Mandatory.
- Good understanding of embedded systems and microcontroller-based development.
- Exposure to Embedded Linux/Linux-based development.
- Knowledge of Ethernet/LIN or other automotive communication protocols is an advantage.
- Experience with Git, SVN, or similar version-control systems.
- Good debugging and problem-solving skills.
- Knowledge of automotive software development processes such as ASPICE/ISO 26262 is an advantage.
- Exposure to AUTOSAR, UDS, diagnostics, UART, SPI, I2C, or JTAG will be an added advantage.