Boilerplate project with CLion for stm32f103 bluepill
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Ondřej Hruška f8a55104a6 added readme 10 years ago
.idea Initial import 10 years ago
Drivers Initial import 10 years ago
Inc Initial import 10 years ago
Src Initial import 10 years ago
User Initial import 10 years ago
build Initial import 10 years ago
.cproject Initial import 10 years ago
.gitignore Initial import 10 years ago
.mxproject Initial import 10 years ago
.project Initial import 10 years ago
CMakeLists.txt Initial import 10 years ago
README.md added readme 10 years ago
STM32F103C8Tx_FLASH.ld Initial import 10 years ago
STM32F103x6.cmake Initial import 10 years ago
f103-simon.ioc Initial import 10 years ago
f103-simon.xml Initial import 10 years ago
flash.sh Initial import 10 years ago

README.md

STM32F103 CLion / CubeMX boilerplate

Update the init files using STM32CubeMX to fit your project needs.

This is a Cmake / CLion project.

Basics

  • The default setup is USART1, 115200 baud, at PA9 (Tx), PA10 (Rx); PC13 as output (built-in LED).
  • The program branches from main.c into User/user_main.c where the actual application code starts.
  • Initialization of the application code (libs) is done in User/init.c. Exception handlers and such are handled in User/handlers.c.
  • Use the included Debounce module for button inputs, Timebase for periodic and future tasks.
  • Functions from User/utils/debug.h print messages to USART1, and work like printf(). Regular printf() works as well.
  • Use malloc_s() and calloc_s() if you want error message on malloc fail instead of a hard fault / memory corruption.
  • Flash using ./flash.sh. Hold the reset button on the board, and release it right after issuing the flash command.