Windows下STM32开发环境安装以及CLion设置
Windows下STM32开发环境安装以及CLion设置
本文旨在帮助读者在Windows系统下搭建基于CLion的STM32开发环境。通过使用CLion、arm_gcc和OpenOCD,读者可以更高效地进行STM32开发。本文将详细介绍各个软件的下载、安装和配置步骤。
嵌入式CLion开发记录
本文旨在用CLion + arm_gcc + OpenOCD开发STM32的环境。本文以Windows11举例,Linux和OSX系统应该会更加方便。
写这篇教程的初衷是之前看了网上的教程,好多都是使用HAL库开发,有的地方还是有些差异,在移植的过程中也会遇到比较多的问题,同时网上的文章有些年代也久远了。于是就自己写了一篇,方便网友也方便自己日后使用。
第一章、Windows下环境安装以及CLion设置
一、下载相关软件
注意下载后先停手,请阅读本文第二段内容再进行安装
下载CLion
下载STM32CubeMX
去官网下载最新版即可,感觉官网的访问有点问题,需要配置猫猫,并且推荐提前在官网注册账号。
STM32CubeMX - STM32Cube initialization code generator - STMicroelectronics
- 下载OpenOCD
OpenOCD是用于对STM32进行下载仿真的工具,是一个开源软件包,Windows版本下从这里下载,下载好解压到一个目录就行(建议不要有空格,不要有中文),后面会在Clion中链接OpenOCD和CubeMX。
- 下载MSYS2
可以在此处下载MSYS2。
- 下载工具链
在此处进入下载页面,下载此处的压缩包,注意所对应的系统和工具链适用对象。
Windows (mingw-w64-i686) hosted cross toolchains
AArch32 bare-metal target (arm-none-eabi)
二、安装环境及软件
推荐安装位置路径全英文,只有ascii字符,没有空格,符号也尽量少出现,防止报错
- 安装CLion
因为众所周知的原因,本篇教程就不详细说明了,想要了解的百度或者B站搜一下应该都有。
- 安装STM32CubeMX
一直下一步,设置好软件安装路径即可。
- 安装OpenOCD
解压到想要的位置并修改路径名称,防止路径名过长
再把openocd文件夹中的scripts文件夹移动到openocd的根目录,防止CLion识别不到。
例如:
安装MSYS2
打开安装程序,选择好要安装的位置后,点击安装。
如果安装过程中,卡在50%,可以尝试断网重新安装。
- 修改镜像源:修改msys2\etc\pacman.d目录中所有的mirrorlist.*文件,将原来的内容全部注释掉,增加下面这几行
mirrorlist.mingw64
## Primary
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/mingw64/
Server = http://mirrors.ustc.edu.cn/msys2/mingw/mingw64/
Server = https://mirrors.ustc.edu.cn/msys2/mingw/mingw64/
Server = http://mirrors.aliyun.com/msys2/mingw/mingw64/
Server = https://mirrors.aliyun.com/msys2/mingw/mingw64/
mirrorlist.ucrt64
## Primary
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/ucrt64/
Server = http://mirrors.ustc.edu.cn/msys2/mingw/ucrt64/
Server = https://mirrors.ustc.edu.cn/msys2/mingw/ucrt64/
Server = http://mirrors.aliyun.com/msys2/mingw/ucrt64/
Server = https://mirrors.aliyun.com/msys2/mingw/ucrt64/
mirrorlist.mingw32
## Primary
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/mingw32
Server = https://mirrors.ustc.edu.cn/msys2/mingw/mingw32
mirrorlist.mingw
## Primary
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/$repo/
Server = http://mirrors.ustc.edu.cn/msys2/mingw/$repo/
Server = https://mirrors.ustc.edu.cn/msys2/mingw/$repo/
Server = http://mirrors.aliyun.com/msys2/mingw/$repo/
Server = https://mirrors.aliyun.com/msys2/mingw/$repo/
mirrorlist.clang64
## Primary
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/clang64/
Server = http://mirrors.ustc.edu.cn/msys2/mingw/clang64/
Server = https://mirrors.ustc.edu.cn/msys2/mingw/clang64/
Server = http://mirrors.aliyun.com/msys2/mingw/clang64/
Server = https://mirrors.aliyun.com/msys2/mingw/clang64/
mirrorlist.clang32
## Primary
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/clang32/
Server = http://mirrors.ustc.edu.cn/msys2/mingw/clang32/
Server = https://mirrors.ustc.edu.cn/msys2/mingw/clang32/
Server = http://mirrors.aliyun.com/msys2/mingw/clang32/
Server = https://mirrors.aliyun.com/msys2/mingw/clang32/
mirrorlist.msys
## Primary
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch/
Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch/
Server = https://mirrors.ustc.edu.cn/msys2/msys/$arch/
Server = http://mirrors.aliyun.com/msys2/msys/$arch/
Server = https://mirrors.aliyun.com/msys2/msys/$arch/
例如:
- 更新依赖
第一次执行更新 MSYS2 核心包:
pacman -Suy
第二次执行更新 MSYS2 非核心包:
pacman -Suy
- 安装64位windows编译工具链
pacman -S mingw-w64-x86_64-gcc
pacman -S mingw-w64-x86_64-g++
pacman -S mingw-w64-x86_64-cmake-gui
pacman -S mingw-w64-x86_64-gdb
pacman -S mingw-w64-x86_64-make
pacman -S mingw-w64-x86_64-boost
pacman -S mingw-w64-x86_64-opencv
- 安装工具链
还是解压到想要的位置并简单修改一下文件夹名称,防止路径过长
例如:
- 配置环境变量
将上方OpenOCD、arm-none-eabi工具链、MSYS2/mingw64中bin文件夹的路径和MSYS2的路径放入环境变量Path中。
在CLion中配置工具链
在文件->设置->构建、执行、部署->工具链中新建一个名叫MinGW-STM32的工具链,将工具链地址选为MinGW的解压路径,C/C++编译器选为前面下载的工具链的中bin目录下的gcc.exe与g++.exe,别的选项默认即可,点击应用,确定即可。
再到下方CMake中检查一下是否无误。
再进入下方的嵌入式开发中,填入OpenOCD和STM32CubeMX的路径,测试无误即可。
至此CLion开发环境已经配置完毕,