From scratch
You know, at a certain point it is necessary to understand and write the most low level lines of code you can start to program without any kind of predefined libraries. The focus of this training is to learn and understand core concepts like compiler execution, linker, memory map, makefiles and interrupts.
Part XIV: Init the .data section
Part XIII: Init the .bss section
Part XII: Enter OpenOCD
Before start talking about OpenOCD lets remember the different pieces of software and hardware you should have in order to successfully code, build and flash any microcontroller. The next diagram shows those different