All Projects → getoffmyhack → STM32F103-Bare-Metal

getoffmyhack / STM32F103-Bare-Metal

Licence: other
Programming the STM32F103C8 micro controller at the "bare metal" register level.

Programming Languages

c
50402 projects - #5 most used programming language
assembly
5116 projects

Projects that are alternatives of or similar to STM32F103-Bare-Metal

grbl32
CNC controller running on the STM32F103 "Blue Pill" board, build and flash on Mac/Linux
Stars: ✭ 33 (-21.43%)
Mutual labels:  stm32, stm32f103
stm32f10x makefile freertos
stm32f10x gcc makefile freertos
Stars: ✭ 28 (-33.33%)
Mutual labels:  stm32, stm32f103
stm32 tiny monitor
A tiny external monitor for PC using STM32 and ST7789. Connects to PC over USB and displays the captured screen on ST7789 (240x240) display.
Stars: ✭ 61 (+45.24%)
Mutual labels:  stm32, stm32f103
BlueVGA
VGA library for STM32F103C (BluePill) that can manipulate a screen with 28x30 tiles with 8x8 pixels each, in a total resolution of 224x240 pixels with 8 colors using a very low footprint
Stars: ✭ 39 (-7.14%)
Mutual labels:  stm32, stm32f103
STM32Keyboard
No description or website provided.
Stars: ✭ 15 (-64.29%)
Mutual labels:  stm32, stm32f103
ulisp-stm32
A version of the Lisp programming language for STM32-based boards
Stars: ✭ 22 (-47.62%)
Mutual labels:  stm32, blue-pill
platformio-libopencm3-freertos
Sample blinky project for PlatformIO using libopencm3 and FreeRTOS
Stars: ✭ 14 (-66.67%)
Mutual labels:  stm32, stm32f103
STM32F103 MSD BOOTLOADER
STM32F103 Mass Storage Device Bootloader
Stars: ✭ 23 (-45.24%)
Mutual labels:  stm32, stm32f103
esm
Lightweight communicating state machine framework for embedded systems
Stars: ✭ 21 (-50%)
Mutual labels:  stm32, stm32f103
i2c-sniffer
Debugging tool for I2C networks, built for STM32 microcontrollers
Stars: ✭ 22 (-47.62%)
Mutual labels:  stm32, stm32f103
stm-ILI9341-spi
STM32 ILI9341 spi
Stars: ✭ 77 (+83.33%)
Mutual labels:  stm32, stm32f103
DHT11-DHT22-STM32-HAL
Библиотека для работы с датчиками DHT11/DHT22/AM2302/AM2301 на STM32
Stars: ✭ 26 (-38.1%)
Mutual labels:  stm32, stm32f103
ScopeMCU
虚拟示波器 MCU端
Stars: ✭ 59 (+40.48%)
Mutual labels:  stm32, stm32f103
STM32F10x Servo Library
Servo library with stm developed by the Liek Software Team. We are working on new versions.
Stars: ✭ 14 (-66.67%)
Mutual labels:  stm32, stm32f103
STM32-Bare-Metal
STM32F103C8 bare metal template
Stars: ✭ 26 (-38.1%)
Mutual labels:  stm32, stm32f103
FASTUSBasp
This is the fast avr programmer for AVR MCUs based on cheap stm32f103c8t6 board with usb-to-serial support.
Stars: ✭ 78 (+85.71%)
Mutual labels:  stm32, stm32f103
rc-headless-transmitter
DIY 2.4 GHz RC transmitter without display, configurable through smartphone or web browser
Stars: ✭ 28 (-33.33%)
Mutual labels:  stm32, blue-pill
rpi
Microcontroller projects (RPi, Arduino, ATTiny85, ESP, Pico, STM8/32)
Stars: ✭ 76 (+80.95%)
Mutual labels:  stm32
ISASTM
STM32-based ISA-over-USB-adapter
Stars: ✭ 86 (+104.76%)
Mutual labels:  stm32
stm32-mcu
Application components for STMicro STM32 MCUs
Stars: ✭ 22 (-47.62%)
Mutual labels:  stm32


Down the STM32 Bare Metal Rabbit Hole

Introduction

This repository is a collection of my code projects as I learn the aspects of programming an STM32F103C8 Cortex M3 micro controller at the "bare metal" register level. I will be creating example code for most all aspects of the µC including SPI, USART, I2C, DMA, etc.

With a working toolchain, all projects can be built from within their project directory. The master.mk file REQUIRES modification in order to set the paths to the build tools.

The following tools are used for these projects:

  • ARM-GCC compiler toolchain.
  • stm32flash flash tool using the on-board STM32 serial bootloader over UART.
  • st-link flash tool using an ST-LINK V2 USB programmer.
  • Official STM32 CMSIS files as part of their STM32Cube MCU packages.

Development Hardware

All example projects are using a "Blue Pill" board as the target hardware platform.

Common Directories

CMSIS/

Contains the Cortex CMSIS files needed to build the projects. These files have been repackaged from the official STM32 CMSIS files.

template/

The template directory contains the files necessary to start a new STM32F103 project.

gdb/

The gdb directory contains gbd command files used for debugging and flashing.

Example Projects

01 Hello World/

The first project being the ubiquitous "Hello World" as a "Blinken Light".

02 Warp Speed/

Extends "Hello World" to configure the clock to run at max speed (72MHz.)

03 Tick Tock/

This extends the previous projects implementing the Cortex SysTick timer in order to create a 1ms interrupt. This interrupt will become the clock used to time the LED heartbeat. This becomes the code for the project template.

04 USART/

This project works as a simple serial test platform using USART1 to transmit and receive data by implementing a chargen and echo service.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].