1. 开发工具下载
-
下载STM32CubeMX:https://www.st.com.cn/zh/development-tools/stm32cubemx.html(可通过访客方式下载)
安装时一直默认即可
-
下载stm32固件库:
-
在线下载方式(需要登陆):安装好STM32CubeMX后,在菜单栏【Help】->【Manage Embedded Software Packages】里选择合适的固件库下载
-
离线下载方式(以stm32f1系列为例):https://www.st.com.cn/zh/embedded-software/stm32cubef1.html?dl=redirect
下载后,打开stm32cubemx,点击菜单栏【Help】->【Manage Embedded Software Packages】->左下角【From Local】,然后选择刚下载的zip文件即可
-
-
下载cmake:https://cmake.org/download/,然后解压到一个不含中文的路径,再把文件夹bin路径添加到环境变量
-
下载ninja:https://github.com/ninja-build/ninja/releases,选择一个路径创建ninja文件夹,把ninja.exe放进去,再把ninja文件夹添加到环境变量
-
下载gcc-arm-none-eabi:https://developer.arm.com/downloads/-/gnu-rm,解压后,把
bin
和arm-none-eabi/bin
文件夹添加到环境变量 -
下载openOCD(用于在线调试):https://gnutoolchains.com/arm-eabi/openocd/,选择一个下载、解压、环境变量配置即可
- 注:如果不需要在线调试,只是把程序下载到板子的话,可以通过串口下载hex文件的方式,这时不需要下载该软件,通过flymcu软件下载程序即可。flymcu下载链接:http://www.mcuisp.com/chinese mcuisp web/ruanjianxiazai-chinese.htm,选择【Free STM32 ISP software】下载即可
cmake、ninja、openocd、gcc-arm-none-eabi下载完且配置好环境变量后,打开cmd或终端,输入以下命令确保安装和环境变量配置没问题:
-
VsCode下载
-
安装C++插件
-
安装cmake tools插件
-
2. 创建项目
(1) 打开stm32cubemx
选择芯片、项目配置……参考文章:STM32CubeMX学习笔记(1)——搭建环境、编译烧写_stm32cubemx编译烧录-CSDN博客
注意在生成代码前,按照下面的方式配置:
(2) 打开vscode
-
在vscode打开刚生成的stm32项目,输入快捷键 ctrl+ship+p,输入命令:
cmake:select Configure
,选择 -
然后继续输入命令进行配置
配置成功输出:
-
左下角点击【生成】进行编译,编译后会生成build文件夹, 编译产生的文件都在里面
编译成功输出:
如果要生成hex文件,打开CMakeLists.txt文件,在最后添加下面几行代码,然后重新编译即可。
add_custom_command(TARGET ${CMAKE_PROJECT_NAME} POST_BUILDCOMMAND ${CMAKE_OBJCOPY} -O ihex "${CMAKE_PROJECT_NAME}.elf" "${CMAKE_PROJECT_NAME}.hex"
)