Minimal STM32F412 boot + app sandbox. Keeps startup and UART-only examples as small as possible and defaults to Renode simulation so you do not need real hardware.
- apps/boot/ – bootloader stub (UART hello + TODO jump hook)
- apps/app/ – application example (UART heartbeat)
- cmsis/, drivers/ – startup/system files and device headers from STM32CubeF4
- build/ – CMake build output (kept empty in git)
- renode/ – Renode script + GDB port config
- .vscode/ – tasks/launch configs for building, uploading, running Renode
- docs/ – debug guide and flow diagram
Before building, fetch the CMSIS/driver submodules:
git submodule update --init --recursivecmake -S . -B build
cmake --build buildOutputs: build/app.elf and build/boot.elf.
This repo provides a bilingual (中文/English) Conventional Commits template in .gitmessage.
Enable it locally:
git config --local commit.template .gitmessage- Renode GDB server defaults to port
3333(seerenode/platform.resc). - VSCode tasks can upload
app.elf(orboot.elf) to a remote Renode host. - See
docs/DEBUG.mdfor step-by-step debugging notes.
MIT (see LICENSE).