Description :
Work Location : Pune
- Strong C programming skills with expertise in pointers, linked lists, queues, and advanced data structures
- Solid experience in embedded firmware development (bare-metal, register-level, memory-mapped I/O, HAL, BSP)
- Hands-on experience with ARM architecture (Cortex-M / Cortex-R) and ARM toolchain (armclang, fromelf, armlink)
- Experience in firmware debugging using tools like JTAG, GDB, fromelf, objdump
- Good knowledge of firmware build, integration, bring-up, and bootloader concepts.
- Familiarity with Linux-based development environments, Git, Jenkins, makefiles, and complex build systems
- Strong understanding of SoC, hardware registers, and low-level programming
- Experience in API/system-level debugging and problem-solving approach
- Good analytical skills and ability to handle firmware + simulation-level issues.
Deliverables:
- Assist with VDK release testing and regression validation.
- Develop test firmware to help VDK team to validate simulation before each release.
- Support firmware integration and validation for SSD controllers on the VDK environment.
- Co-debug firmware and VDK simulation issues.
Required Skillsets :
- Proficiency in embedded systems debugging using tools like fromelf, objdump, and ARM debuggers
- Solid understanding of firmware build, integration, and bring-up flow
- Familiarity with Git, Jenkins, makefiles, complex build systems and
- Linux-based development environments.
- Strong knowledge of memory mapped I/O and hardware register programming
- Expert knowledge of ARM toolchain (armclang, fromelf, armlink)
- Good analytical and problem-solving skills for tracing issues across firmware and simulation layers.
- Detailed oriented & self-motivated.
Preferred Skillsets :
- Hands-on experience with simulation or virtual platformbased development (e.g., VDK, QEMU, or similar)
- Exposure to SystemC/TLM modeling or other virtual platform technologies
- Experience with Python for automation and validation scripting
- Experience with storage or SSD firmware, including NVMe, PCIe, or flash management concepts
- Familiarity with CI/CD pipelines and validation automation infrastructure. Debug and resolve firmware compatibility issues between real hardware and VDK simulation.
- Implement conditional compilation strategies for hardware-dependent code paths
- Analyze and fix memory-mapped register access conflicts in simulation environments
- Develop VDK-specific firmware alternatives for hardware-only operations
- Experience/Familiarity with ARM architecture (Cortex R/M) and assembly code.