Skip to content

BitflipAcademy/BareMetalProgramming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

STM32F407 Bare-Metal Programming

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.


📦 Features

  • Custom linker script
  • Minimal startup file (written in assembly)
  • Simple Makefile for build automation
  • Clock and GPIO initialization at register level

🧰 Hardware Used

  1. Board: STM32F407 Black Board
  2. Debugger Hardware: ST-Link/V2

🛠 Software Used

  1. Text Editor: Notepad++
  2. Binary Loader: STM32CubeProgrammer
  3. Make for Windows: Download Link
  4. ARM GCC Toolchain: arm-none-eabi

📁 Folder Structure

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

About

Bare-metal programming examples for the STM32F407 microcontroller — no HAL, no CMSIS, just pure register-level control.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors