title: stm32cubemx+clion环境搭建
date: 2021-01-23 13:32:05
tags: 环境搭建
cover: https://s3.ax1x.com/2021/01/23/s7unQx.png
为什么搭建
需要找到一个keil的替代品用来编译STM32代码。
环境和所需工具
软件环境
1. Windows 10
2. stm32cubemx
3. clion-2019
4. MinGW
5. arm-none-eabi-gcc
6. openOCD
硬件环境
1. 单片机:小熊派STM32L431RCT6
2. 下载器:小熊派板载 stlinkV2_1
工具安装
工具安装部分正常安装就好了,注意安装目录的选择,尽量不要出现中文。
STM32CubeMX
直接去官网下在就可以,安装之前需要安装Java运行环境
clion
官网下载2019以后的版本
CLion 2019.1 EAP: CLion for Embedded Development, Part III
MinGW
Clion是基于CMake来管理项目的,所以首选需要配置好预设的MinGW和CMake环境。
检查是否配置好环境
arm-none-eabi-gcc
需要编译arm架构的程序,所以编译工具使用这个。
检查是否配置好环境
openOCD
OpenOCD是用于对STM32进行下载仿真的工具,是一个开源软件包,Windows版本下从这里下载,下载好解压到一个目录就行。
CLion配置
【重点】
Clion是基于CMake来管理项目的,所以首选我们需要配置好预设的MinGW和CMake环境。
打开File-Settings-Build,Execution,Deployment选项卡,在Toolchains下面添加一个MinGW环境:
打开CMake选项栏查看工具链是否正确
至此Clion环境配置完成,可以创建STM32项目了。
CLion使用
STM32CubeMX创建工程模板
这里创建一个UART1串口打印工程。
把IED选择位SW4STM32
Clion导入工程
直接打开文件即可。
File -> Open... ->选择文件夹
这个目录和CubeMX创建的目录一样。
第一次打开工程会弹出板卡配置文件,这里是OpenOCD相关的,里面的配置很可能没有我自己用的芯片型号。选择一个和自己开发板相近的型号,点击Copy to Project & Use。这个文件就会复制到我们的工程根目录下,稍后我们需要修改这个文件。
到这里工程就导入到clion了。
添加用户文件
在工程文件右键 -> New -> Directory 。这里创建文件夹test
。软后在test
文件夹下依次添加.c/.h
文件。注意这add to targets
把沟去掉
配置CmakeLists.txt文件
添加用户文件目录
编译下载调试
(备注:这里使用了另一个工程文件)
编译
点击编译按键,完成提示:
下载配置
选择Edit Configurations,打开配置窗口
这边选择工程根目录下的.cfg
配置文件,也可以自己创建.cfg
文件。
有关配置文件的编辑可以参考OpenOCD目录下的配置文件。
工程根目录:st_nucleo_l4.cfg
,对原来的文件做了改动,注意这里一定要把reset_config srst_only srst_nogate
注释。
# Should work with all STM32L4 Nucleo Dev Boards.
# http://www.st.com/en/evaluation-tools/stm32-mcu-nucleo.html
source [find interface/stlink.cfg]
transport select hla_swd
# 0x40000 = 256K Flash Size
set FLASH_SIZE 0x40000
source [find target/stm32l4x.cfg]
# download speed = 2MHz
adapter speed 2000
# use hardware reset
#reset_config srst_only srst_nogate
芯片相关特性可以在CubeMX查看,如flash大小。
接下来回到下载配置,Edit Configurations,选择自己创建配置文件。
点击下载,软件下方如果打印出** Programming Finished **
表示程序已经烧入到单片机了。
断点调试
参考网站
Clion:https://www.jetbrains.com/clion/download/other.html
STM32CubeMX:https://www.st.com/en/development-tools/stm32cubemx.html
GNU Arm Embedded Toolchain Downloads:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
OpenOCD:http://gnutoolchains.com/arm-eabi/openocd/
OpenOCD用户指南:http://openocd.org/doc/html/
增加用户文件:https://blog.csdn.net/qq1031150349/article/details/107493969