This repository contains bare-metal programming examples for the STM32F407 microcontroller, developed without any external libraries (like STM32 HAL or CMSIS drivers). All peripherals are configured directly via register-level access.
- Custom linker script
- Minimal startup file (written in assembly)
- Simple Makefile for build automation
- Clock and GPIO initialization at register level
- Board: STM32F407 Black Board
- Debugger Hardware: ST-Link/V2
- Text Editor: Notepad++
- Binary Loader: STM32CubeProgrammer
- Make for Windows: Download Link
- ARM GCC Toolchain: arm-none-eabi
app/ - Application-level code
driver/ - Peripheral drivers (e.g., GPIO, RCC)
build/ - Output binaries (create manually before build)
---
Build Instruction
make # Build the project
make clean # Remove generated binaries