You should understand the requirement, design, unit test cases, debug the bootloader or baremetal software or application.
Develop firmware in Embedded C programming languages typically involving bare-metal programming and developing low-level APIs on Microcontrollers.
Debug Firmware on Silicon bring-up boards or FPGA platforms.
Should maintain the documentation for development and testing activities.
Will be reporting to Director - Software.
What youll need:
3-4 years recent relevant development experience on ARM (A/M/R series)/RISC-V (U and S cores)/MIPS or similar SoC platforms.
Hands on experience using JTAG, OpenOCD and other GNU debuggers for debugging baremetal and OS environment.
Hands on experience of using analysers or Oscilloscope
Hands on experience in Assembly/C/C++ on Microcontrolers or Heterogeneous and Multiprocessor platforms.
Foundation in C and data structures and scripting languages like bash/pearl/python.
Good understanding of SoC internals, Hardware IPs, different types of bus protocols and interfaces
Hands on experience on board / Silicon bringup or validation activities which involves writing baremetal drivers, unit test for each IPs understand the bringup environment and necessary dependencies
Have development experience of slow speed peripherls like I2C, SPI, UART, I2S, PDM, PWM and high speed IPs like like DMA, eMMC,SD,SDIO, USB, PCIe, MIPI, LVDS, HDMI (any of these category) other devices like DMA, eMMC,SD,SDIO, USB, PCIe, MIPI, LVDS, HDMI, Camera on different Platform.
Experience of Inter core communication, Cache or memory management, interrupt, clock, reset handling.
Sound knowledge of S/W development tools like GNU compilers, cross compilers, code version systems, Bugzilla/JIRA etc.
Will read schematic, understand the specification, datasheets and individually contribute to the project