This repository demonstrates a bare-metal STM32F411 project focusing on ARM Cortex-M startup code and GNU LD linker script implementation.
All build steps are executed manually using the GNU ARM Embedded Toolchain. STM32CubeIDE is used only as a code editor.
- MCU: STM32F411RE
- Core: ARM Cortex-M4
startup/: Cortex-M startup code (vector table, Reset_Handler)linker/: Custom GNU LD linker script defining memory layoutsrc/: Application entry point (main.c)docs/: Build commands and notes
- Compilation:
arm-none-eabi-gcc - Linking:
arm-none-eabi-ld - Inspection:
arm-none-eabi-objdump,.mapfile analysis
- Understanding Cortex-M boot sequence
- FLASH/RAM memory mapping
- Symbol communication between linker and startup code
- Manual control of the build process