CLion+cubemx stm32开发

为什么是CLion

做嵌入式开发的人对STM32这个平台应该都是非常熟悉的,在国内尤其流行,很多产品里面都是基于这个平台做的方案。多数人在开发STM32的时候用的都是Keil这个老牌IDE,很大一部分原因是因为大多数人最初是从51单片机学习过来的,51就是基于Keil去开发的,然后迁移到STM32的时候也就沿用下来了。

稳定一点还是建议,keil5+vscode+vscode的keil插件

安装

所需工具、软件

  • CLion ------- 主角
  • STM32CubeMX ------- ST官方力推的自动化配置和代码生成工具
  • OpenOCD ------ 调试工具
  • gcc-arm-none-eabi -------- 交叉编译工具链
  • MinGW -------- 你可以认为这是一个大礼包
  • 可能还包括你所使用的调试器的驱动,之前安装过就行。

MinGW

简介

MinGWMinimalist GNU for Windows),又称mingw32,是将GCC编译器和GNU Binutils移植到Win32平台下的产物,包括一系列头文件(Win32API)、可执行文件

另有可用于产生32位及64位Windows可执行文件的MinGW-w64项目,是从原本MinGW产生的分支。如今已经独立发展。

MinGW 提供了一套简单方便的Windows下的基于GCC 程序开发环境。MinGW 收集了一系列免费的Windows 使用的头文件和库文件;同时整合了GNU ( http://www.gnu.org/ )的工具集,特别是GNU 程序开发工具,如经典gcc, g++, make等。MinGW是完全免费的自由软件,它在Windows平台上模拟了Linux下GCC的开发环境,为C++的跨平台开发提供了良好基础支持,为了在Windows下工作的程序员熟悉Linux下的C++工程组织提供了条件。

安装

Clion需要使用MinGW环境来配置工具链,安装方法如下:

首先去MinGW主页下载最新版本的MinGW: Minimalist GNU for Windows,这是MinGW的安装器:

先把 Basic Setup 里面的组件全部勾选

选择需要安装的组件,右键选择 Mark for Installation ,之后选择 Installation -> Apply Changes

然后等待安装(安装挺慢的,建议先去吃个饭)

image-20210821230658394

安装完成(安装不了的建议翻墙(选美国)然后换个时间段再试试)

image-20210822102331560

添加环境变量

image-20210821232154098

设置好后重启电脑

最后,输入 gcc -v 测试

image-20210822102511794

MinGW使用

测试编译

测试文件test.c,代码如下

#include <stdio.h>

void main() 
{
	printf("Hello World!");
}
编译test

编译命令如下:

gcc test.c -o test

输出结果为:test.exe

执行

输入test回车,结果如下:

145902-f026e9f9421c047b

OpenOCD

OpenOCD是用于对STM32进行下载仿真的工具,是一个开源软件包,Windows版本下从这里下载,下载好解压到一个目录就行,后面会在Clion中链接这个目录:

CLion中配置OpenOCD的方法:

arm-none-eabi-gcc

Windows到这里下载:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads,选择ZIP压缩包形式的:

img

解压到一个文件夹,并把安装目录下的bin文件夹添加到环境变量:

然后重启电脑使得环境变量生效之后可以在命令行里用以下语句测试:

arm-none-eabi-gcc -v

如果有信息输出,那就是装好了。

看看调试会不会出问题,出问题就

image-20210928162133861

cubemx

java

⚠️JAVA选择旧一点的版本安装!!!不要更新!!!

版本选择安装:https://www.oracle.com/java/technologies/oracle-java-archive-downloads.html

CubeMX是基于Java开发的软件,所以需要先安装Java运行环境,下载地址在这里

image-20210822181941851

CubeMX

安装 cubemx ,如果未安装 Java 环境,将会出现报错

3.2_0

安装完成后最后修改一下stm32HAL库的安装位置(默认是在C盘的)

image-20210822182511755 image-20210822182533862

最后就可以选择相应的型号下载

image-20210822182647062

.cfg 文件配置

# 设置调试器为jlink
source [find interface/jlink.cfg]

# 设置调试器所用接口为SWD
transport select swd

# 定义Flash大小为64K
set FLASH_SIZE 0X10000

# 设置芯片 在 D:\OpenOCD-20210729-0.11.0\share\openocd\scripts\target 目录下选择对应的板子
source [find target/stm32f1x.cfg]

# download speed = 10MHz
# adapter speed 10000

/***************************************************************************************/

# 设置调试器为st-link
source [find interface/stlink.cfg]

# 设置调试器所用接口为 hla_swd
transport select hla_swd

# 定义Flash大小为64K
set FLASH_SIZE 0X10000

# 设置芯片 在 D:\OpenOCD-20210729-0.11.0\share\openocd\scripts\target 目录下选择对应的板子
source [find target/stm32f3x.cfg]

# download speed = 10MHz
# adapter speed 10000
image-20210824011255096 image-20210824004547201 image-20210824004746838

也可以添加变量查看

image-20210824005109329

clion 安装

直接安装在官网安装对应的版本,然后根据教程来破解就好了,clion是自带有中文插件的,

破解也是以插件+破解码的形式来进行

clion 配置

image-20210904135642638 image-20210904135738087

Git 配置

image-20210907221743913 image-20210907222037939

要执行什么操纵直接右键对应的文件就可以了,(虽然我还是觉得提交的话命令行更舒服)

其他问题

编译错误问题

  • 如果移动了工程文件夹的话,最好打开.ioc文件重新Generate一下再编译,可以解决很多错误。
  • 遇到任何CMake相关的报错,一般是由于缓存没有更新引起的,可以在CLion中选Tools-CMake-Reset Cache and Reload Project即可解决。

printf重定向问题

添加文件/目录

image-20210907221618464
# 增加C文件时需要使用指令
file(GLOB_RECURSE SOURCES "startup/*.*" "Drivers/*.*" "Core/*.*" "app/encoder/Src/*.*" "base_drivers/Src/*.*" "algorithm/*.*" "bsp/Src/*.*")

# 增加 . h头文件时需要使用以下指令
include_directories(SYSTEM algorithm app/ app/encoder/Inc base_drivers/Inc bsp/Inc)

image-20210907221432834

下载问题

直接搞的话,大概率是下载不了的,因为 openOCD 只把 Jlink仿真器 当作普通的USB设备来使用,不使用Jlink自带的仿真器驱动程序,如果已安装了 Jlink 仿真器驱动程序,openOCD是识别不到的 。

所以要进行一些操作,具体看这里

⚠️注意

image-20210910163547024

  • 上图这种情况选 “Continue(继续)”

  • Java也是,版本不要太新!!!!!!!!

  • 路径一定不要有中文!!!!!!!!!!

📚参考文章

最后

由于不明原因,第一次成功了,但是后面隔了两三周再试试,发现不行了,,,

最后的最后

在退了java的版本和cubemx()的版本

image-20210906225107466

发现还是不行,但是!

第二天又试了一下,更新了clion的版本,更新到最新版2021.1.13再上一个版本应该是

又可以了!

最后的最后的最后

更新了cubemx,

image-20210911170029523

依然可以使用clion

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nepqiu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值