该工程使用
gcc-arm-none-eabi编译,支持使用openocd烧录,面向stm32f103系列芯片 编译前需安装gcc-arm-none-eabi及 Cmake 烧录前需安装openocd
本文档基于 linux
- 在终端输入
git clone https://github.com/MagiL0/stm32_gcc_template.git - 在该文件夹打开终端,输入
终端输出无 warning 及 error 时说明没有问题,生成的
cd build cmake .. make.hex.elf等文件在你的当前文件夹 (build) 中。
- 连接 jlink 或 stlink。
- 在终端输入
openocd -f jlink.cfg -f stm32f1x.cfg # 如果使用 stlink,则输入: # openocd -f stlink.cfg -f stm32f1x.cfg
- 不要退出,打开新的命令行终端,输入
telnet localhost 4444 - 成功连接后输入行显示
> - 输入
program led_test.elf开始烧录 - 烧录成功后,输入
restart程序开始执行 - 更多详细的步骤如调试等,请查询
openocd教程
- 打开
CMakeLists.txt,修改第 7 行中的led_test为你自己的工程名 - 删除
build文件夹中的所有内容 - 重新编译 (参考 1.1)
-
- 无需修改,直接把所需
.c, .h文件扔进子目录 (如USER/) 即可 - 如果是细分了
srcinc的文件夹,.s, .c扔进src,.h扔进inc
- 无需修改,直接把所需
-
- 当添加文件夹后在新增的文件夹里添加工程文件时,需作以下修改:
- 添加源文件时,编辑
CMakeLists.txt。在 65 行:file(GLOB_RECURSE SOURCES后添加.c文件所在的目录。- 如:在
USER中新建src目录存放.c文件,则需修改为:
file(GLOB_RECURSE SOURCES "CORE/*.c" "SYSTEM/delay/*.c" "SYSTEM/usart/*.c" "SYSTEM/sys/*.c" "USER/*.c" "STM32F10x_FWLib/src/*.c" "USER/src/*.c" )
- 如:在
- 添加头文件时,编辑
CMakeLists.txt。在第 55 行include_directories的括号后添加.h文件目录即可。 - 添加汇编语言文件时,编辑
CMakeLists.txt。在第 82 行list的括号中末尾处添加.s文件路径即可 - 以上修改时可以不加引号,但若文件目录名称中含有空格,则必须添加引号。
- 添加源文件时,编辑
- 当添加文件夹后在新增的文件夹里添加工程文件时,需作以下修改:
- 当修改文件夹名称时,将
CMakeLists.txt中的所有被修改的文件夹名称全部修改为被修改后的。
- 使用
stm32f103中的c, d, e, f, g系列时无需修改。 - 使用
stm32f103中的8, b系列时需打开CMakeLists.txt,修改第 22 行的STM32F10X_HD为STM32F10X_MD