Nevar pievienot vairāk kā 25 tēmas
Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
Ondřej Hruška
2093a48bed
|
pirms 8 gadiem | |
---|---|---|
.idea | pirms 8 gadiem | |
Drivers | pirms 8 gadiem | |
Inc | pirms 8 gadiem | |
Src | pirms 8 gadiem | |
User | pirms 8 gadiem | |
build | pirms 8 gadiem | |
.cproject | pirms 8 gadiem | |
.gitignore | pirms 8 gadiem | |
.mxproject | pirms 8 gadiem | |
.project | pirms 8 gadiem | |
CMakeLists.txt | pirms 8 gadiem | |
README.md | pirms 8 gadiem | |
STM32F103C8Tx_FLASH.ld | pirms 8 gadiem | |
f103-bluepill.ioc | pirms 8 gadiem | |
f103-bluepill.xml | pirms 8 gadiem | |
f103.cmake | pirms 8 gadiem | |
flash.sh | pirms 8 gadiem |
README.md
STM32F103 CLion CubeMX boilerplate
Basics
- This is a CMake / CLion project, using
arm-none-eabi-gcc
andarm-none-eabi-newlib
. - It's built on Linux. Whether it works on Windows or MacOS is left as an exercise to the reader 😛
- Update the init files using STM32CubeMX to fit your project needs. Open
bluepill.ioc
in CubeMX, then export to the same folder. - Since we're using CubeMX, this project is based on HAL. It's not so bad, if you don't look at the source too much.
Getting Started - Usage
- The default setup is USART1, 115200 baud, at PA9 (Tx), PA10 (Rx); PC13 as output (built-in LED).
- The program branches from
main.c
intoUser/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 inUser/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 likeprintf()
. Regularprintf()
works as well. - Use
malloc_s()
andcalloc_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.