Firmware on Arm Cortex-M, bare-metal and on a real-time operating system.
Startup code, interrupts, memory protection and fault handling.
Tasks, queues, scheduling and configuration.
Threads, synchronisation and how it compares with FreeRTOS.