Senior Embedded Software Engineer - SoC/FPGA Platform
Posted Updated
Description
Job Description :
Key Responsibilities :
- Design, develop, and optimize embedded software for real-time satellite image processing applications.
- Port and optimize image processing algorithms onto FPGA/SoC platforms to achieve low latency and high throughput.
- Collaborate with system architects, FPGA engineers, and hardware teams to define software architecture and functional requirements.
- Design and implement embedded software interfaces between satellite payloads and spacecraft bus systems.
- Develop reliable communication interfaces using protocols such as SPI, I2C, UART, CAN, Gigabit Ethernet, LVDS, and RS-422.
- Build modular, reusable, and maintainable Embedded C/C++ software for ARM Cortex-based embedded platforms.
- Develop bare-metal and RTOS-based applications, including interrupt handling, scheduling, synchronization, and device driver development.
- Optimize software for processing performance, memory utilization, deterministic execution, and power efficiency.
- Perform software integration, debugging, and hardware bring-up activities.
- Execute software verification, validation, static analysis, code coverage, and testing in accordance with ECSS and industry best practices.
- Utilize AMD-Xilinx Vivado/Vitis and Microchip Libero SoC development environments for embedded software development.
- Troubleshoot embedded software defects, hardware interface issues, and system integration challenges.
- Participate in architecture reviews, code reviews, and continuous improvement initiatives.
Required Qualifications :
- B.E./B.Tech in Electronics Engineering, Computer Engineering, Embedded Systems, or a related discipline. M.Tech/M.E./Ph.D. is preferred.
- 4+ years of professional experience in embedded software development.
- Strong expertise in Embedded C and C/C++ programming.
- Hands-on experience developing embedded applications on ARM Cortex processors.
- Experience with bare-metal programming and RTOS environments.
- Strong understanding of interrupt handling, task scheduling, synchronization, and device driver development.
- Experience implementing embedded communication protocols including :
1. SPI
2. I2C
3. UART
4. CAN
5. Gigabit Ethernet
6. LVDS
7. RS-422
- Experience optimizing embedded software for memory, latency, throughput, and power efficiency.
- Familiarity with software configuration management, version control, and defect tracking tools.
- Strong debugging and analytical problem-solving skills.
