The knowledge of embedded software
1. Compiler (IAR, Keil, arm-gcc) + IDE (VS code) + debuger(pyocd + JLinker or CMSIS-DAPlinker)
2. Makefile or Project files or CMake , nijia
3. Unit test (gTest, gMock, Makefile or CMake, mingw)
4. Components of sofware
4.1 log (printf, uart, led)
4.2 NTC, C2F, F2C
4.3 CRC(8, 16, 32) (sw table based or hardware)
4.4 RTOS or protothread
4.5 Event driver
4.6 low power
4.7 drivers (UART, IIC, SPI, LED, Timer, WDT, Timer capture, PWM), GPIO (marco based list)
4.8 state machine
4.9 design pattern (factory, facade, adpter, ext.)
5 C modular OOP design