Must Have Technical Skills:
Hands-on experience in C and C++ programming language.
Excellent in programming - translating a high level problem to an implementation proposal and the final implementation
Design, Implementation and debugging of Linux device drivers
Excellent understanding and hands on experience in programming peripheral devices and controllers like SPI, I2C, UART, Timers, interrupt controller, ADC etc.
Worked on low-level device drivers for above controllers
Knowledge of processor architectures for ARM or RISC-V
Valuable to Have Technical Skills:
Exposure to SystemC / TLM concepts.
Exposure to programming complex devices like Ethernet controllers, PCIe controllers, etc.
Experience working on hardware simulators - e.g., Qemu, Synopsys Virtualizer
BSP (Board Support Package) bring-up experience including boat loader and Uboot.