ARM Bare metal programming,
RTOS programming,
Linux Device Driver development - procfs, ioctl, character device driver
C Programming, Assembly language,
Makefile, Linker script, Startup code,
Linux Kernel, Low level programming,
Git - version control
Firmware development, Embedded programming
Protocols: UART, SPI, I2C
Data structure