- ToolChain Installation
- Understand compilation process of a C program for an embedded target without using and IDE
- Write microcontroller startup file for STM32F4 MCU
- Write your own C startup code ( code which runs before main())
- Understand the different sections of the relocatable object files (.o files)
- Write Linker scripts file from scratch and understand section placements
- Link Multiple .o files using linker script and generate application executables (.elf, bin, hex)
- Load the final executable on target using OpenOCD and GDB Client
** (Arch Linux - pacman/AUR - may differ on other distros) **
- extra/arm-none-eabi-binutils A set of programs to assemble and manipulate binary and object files for the ARM EABI (bare-metal) target
- extra/arm-none-eabi-gcc The GNU Compiler Collection - cross compiler for ARM EABI (bare-metal) target
- extra/arm-none-eabi-gdb The GNU Debugger for the ARM EABI (bare-metal) target
- extra/arm-none-eabi-newlib A C standard library implementation intended for use on embedded systems (ARM bare metal)
- extra/stlink Firmware programmer for STM32 STLINK v1/v2 protocol
- OpenOcd
- make load
- arm-none-eabi-gdb
- target remote localhost:port
- monitor reset init
- monitor flash write_image erase final.elf
- monitor reset halt
- monitor resume
- -> Memory Access Commands <-
- monitor mdw 0x20000000 4
- ...
- monitor bp [address len [hw] ]
- quit