当前位置:网站首页>CLion用于STM32开发
CLion用于STM32开发
2022-07-31 13:06:00 【梁小憨憨】
最近想要复现稚晖君的ElectronBot,发现32的代码用的CLion编写的,而且是C和C++混编的,本来想着用keil再写一个,但是有点浪费时间,而且发现CLion学生可以白嫖,反正以后都要学习C++,所以现在就装上吧。
注:最终的效果只能下载程序,不能在线调试,不知道什么原因。
CLion的安装配置
MinGW
Clion需要使用MinGW环境来配置工具链,安装方法如下:
首先去MinGW主页下载最新版本的MinGW: Minimalist GNU for Windows,这是MinGW的安装器:
打开exe进行安装,安装完成后进行组件下载:
修改安装目录(最好不能有空格)





等待下载,这个过程可能有点长

安装结束,再次打开桌面上的安装软件
就会出现如下图片,表示所有的都安装结束。



在命令窗口中输入下面的命令验证安装是否成功:
gcc -v

CLion
进去JetBrains官网下载 CLion ,页面如下,点击下载即可,该软件为正版软件,需要收费激活,如果是学生可以通过学生认证免费使用JetBrains公司下所有软件。












用邮箱注册一个账号,就可以免费试用30天,如果是学生可以申请一年。
Clion是基于CMake来管理项目的,所以首选我们需要配置好预设的MinGW和CMake环境。
打开File-Settings-Build,Execution,Deployment选项卡,在Toolchains下面添加一个MinGW环境:
注意Debugger不要改,否则断点调试的时候无法连接。
然后再CMake栏下确认一下工具链是否正确:
新建一个文件

运行一下,正常变编译
arm-none-eabi-gcc
Windows到这里下载,选择ZIP压缩包形式的:
解压到一个文件夹,并把安装目录下的bin文件夹添加到环境变量:
然后重启使得环境变量生效之后可以在命令行里用以下语句测试:
arm-none-eabi-gcc -v

如果有信息输出,那就是装好了。
OpenOCD
OpenOCD是用于对STM32进行下载仿真的工具,是一个开源软件包,Windows版本下从这里下载,下载好解压到一个目录就行,后面会在Clion中链接这个目录:
在CLion中配置OpenOCD的方法(其中STM32CubeMX的安装请看这里),添加OpenOCD位置,和stm32cubemx位置。
添加进去后,点击测试。

在Clion中创建STM32工程
在Clion中选择File-New Project可以创建STM32CubeMX的项目:
点击create后会生成一个.ioc文件,这个文件跟使用STM32CubeMX直接创建的是一样的,点击图中的链接可以跳转到STM32CubeMX中打开这个ioc文件:
默认选中的芯片型号是STM32F030F4Px,我们可以在CubeMX中重新选择自己需要的芯片,一切操作都和使用Keil开发没有区别。
只有一个地方需要注意一下,就是在下面的设置中项目名称一定要和在Clion中建立的一致,这样生成的工程文件才会覆盖Clion中的文件,否则会另外生成一个文件夹,Clion就无法读取了。
另外生成的IDE类型选择是SW4STM32。








每次修改完点Generate之后,弹窗直接点Close,Clion里面会自动更新文件。
第一次设置完回到Clion会弹出一个板卡选择窗口:
这些配置文件是跟OpenOCD下载程序有关的,里面的板子很可能是没有我们自己要用的型号的,后面会介绍怎么自己建立这个配置文件,这里先点取消。这里的图片中点击Use但是到后面下载程序的时候就出现问题了,所以要先点击取消。
点击锤子就可以编译代码了。点击三角就是烧录代码,点击瓢虫就是debug。
烧录程序 & 在线调试
我本来用的JLonk,但是OpenOCD对于ST-Link的支持要更好(兼容的芯片型号、下载速度),所以额外又复现了稚晖君的ST-Link-Nano下载器。相关的复现过程可以查看我的这篇博客。
在Keil里面我们烧录程序的时候要指定使用的下载器(J-Link、ST-Link、CMSIS-DAP等),Clion烧录程序之前通用需要进行一些设置。
点击编译按钮旁边的配置栏下拉,选Edit Configurations,打开配置窗口:

我们在工程根目录下新建一个配置文件.cfg。我用的是ST-Link而且用的STM32F103C8T6做得验证,所以我的配置文件如下:
# choose st-link/j-link/dap-link etc.
source [find interface/stlink.cfg]
transport select hla_swd
source [find target/stm32f1x.cfg]
# download speed = 10MHz
adapter speed 10000
前两行设置了仿真器的类型和接口,下面几行指定了Flash大小、芯片类型、下载速度等。
如果对自己的芯片不知道怎么设置,可以参考OpenOCD自带的一系列配置文件,路径在OpenOCD安装目录的share\openocd\scripts下:
只需要关注这几个目录:
- board:板卡配置,各种官方板卡
- interface:仿真器类型配置,比如ST-Link、CMSIS-DAP等都在里面
- target:芯片类型配置,STM32F1xx、STM32L0XX等等都在里面
设置好配置文件之后,就可以点击下载或者调试按钮进行下载和在线调试了。
边栏推荐
猜你喜欢

How IDEA runs web programs

anaconda虚拟环境安装pytorch gpu版本

CentOS7 安装MySQL 图文详细教程

IDEA的database使用教程(使用mysql数据库)

报错:npm ERR code EPERM

Grab the tail of gold, silver and silver, unlock the programmer interview "Artifact of Brushing Questions"

alert(1) (haozi.me)靶场练习

ERROR 2003 (HY000) Can‘t connect to MySQL server on ‘localhost3306‘ (10061)解决办法

IDEA如何运行web程序

NameNode (NN) and SecondaryNameNode (2NN) working mechanism
随机推荐
NPM 使用介绍
alert(1) (haozi.me)靶场练习
TensorRT安装及使用教程「建议收藏」
基本语法(一)
PyQt5快速开发与实战10.2 复利计算 && 10.3 刷新博客点击量
Flutter键盘可见性
计算机复试面试问题(计算机面试常见问题)
Architecture Camp | Module 8
五种数据提交方式的优化
集群的安全模式
matlab as(assert dominance)
Selenium IDE for Selenium Automation Testing
The operator,
golang中使用泛型
Google Chrome(谷歌浏览器)安装使用
浏览器被hao360劫持解决办法
Anaconda安装labelImg图像标注软件
报错IDEA Terminated with exit code 1
电脑重要文件很多,如何备份比较安全?
攻防演练丨赛宁红方管控平台走进广东三地 助力数字政府网络安全建设