2024新版本如何配置CLion与cubeMX开发STM32

1. 为什么我要在网上有很多教程的情况下再做一个新版

各种大佬们给出的配置教程原本很详细,但是在时间过了这么久之后已经不完全符合现在的环境了。

昨天在教群里萌新安装CLION+CUBEMX时我才发现,在配置过程中新出现的一些变化甚至没有清晰的提示报错,如果没有人解释提醒的话,新人要自己解决需要折腾很久也不一定能解决。

遂决定根据自己的经验,把新的安装教程整理如下。

2.CLion的下载与“激活”

商用用户请购入正版,支持软件行业正常发展

本教程“激活”方式仅提供个人学习用途使用

2.1 下载安装

CLion官网

直接在官网下载最新版即可

安装,看得懂设置就看,看不懂就全程下一步,再不然就去用翻译软件,我没有精力把整个安装界面翻译一遍。

2.2 个人学习用途的激活

这里有三种方案

  1. JetBrains官网申请学生认证(正版合法)

    申请地址
  2. Github申请学生包(容易申请,正版合法)申请地址

在校学生建议使用前两种方案,直接在对应页面申请即可

3. 使用网络补丁+许可证激活码激活(学习版请勿用于商业)

- 下载JetBrainsCrack工具包
- 解压压缩包,双击`index.html`
- 点击上面浮动条的蓝字下载`jetbra.zip`,(点击没反应的话就直接去工具包的files文件夹里复制)PS:内附jetbra已于2024.12.1更新为Meow版,已添加中文验证服务器拦截
- 放到你想要放的地方,解压出来(这个网络补丁得一直放在那不能删所以别干出配置在桌面或者配置在下载文件夹的逆天操作来)
- 进入解压出来的文件夹,进入`script`文件夹,在`install-all-users.vbs`上右键,以管理员身份运行
- 等到运行完成后回到之前的index.html,找到CLion,点击一下下面的****复制激活码
- 运行CLion,选择`Activate CLion`->`Activation code`,在下面的框里粘贴激活码,点击Activate完成激活

3. 工具链的安装

3.1 ARM GNU Toolchain的安装

从 Arm GNU Toolchain 的新页面下载最新的

Windows (mingw-w64-i686) hosted cross toolchains

AArch32 bare-metal target (arm-none-eabi)

  • 下载exe格式的那个就行,安装时候记住自己安在哪里,一会要用

  • 安装完把完成页面的Add path to environment variable勾上!

3.2 STM32CUBEMX的安装

官网下载安装

  • 也要记住安在哪

3.3 OPENOCD的安装

Github下载,找个地方解压

  • 也要记住解压到哪!

4.CLion工具链配置

  • 打开CLion,选择左边Customize,点击右边最下面All settings
  • 弹出窗口选择左边Build, Execution, Deployment里面的Toolchains,
  • C Compiler设置为ARM GNU Toolchain安装目录下bin文件夹里的arm-none-eabi-gcc.exe
  • C++ Compiler设置为ARM GNU Toolchain安装目录下bin文件夹里的arm-none-eabi-g++.exe
  • 点击Apply应用设置
  • 还是左边Build, Execution, Deployment里面,找到Embedded Development
  • 里面的OpenOCD Location去openocd安装目录的bin文件夹找到openocd.exe
  • 里面的Stm32CubeMX Location去stm32cubemx安装目录的bin文件夹找到STM32CubeMX.exe
  • 点击Apply应用设置

5. 新建项目

  • 首先打开STM32CubeMX完成初始化配置
  • 新建项目左边选择STM32CubeMX,右边选择工程存放路径,进入后等待创建完成(此时开发板是STM32F030F4Px)
  • 用CubeMX打开ioc文件,修改为自己的单片机或开发板型号,并完成自己要配置的内容
  • 生成设置里面Project Settings要和CLion里的项目名字一致,Toolchain/IDE要选择STM32CubeIDE
  • 生成代码,完成后回到CLion

6. 编译烧录设置

  • 回到CLion后会弹出一个板卡选择框,基本上都不能用,需要自己写一个烧录配置
  • 在工程根目录下新建一个文件夹config,在里面新建一个配置文件stlink.cfg
  • 例如STM32F1单片机 + ST-Link
source [find interface/stlink.cfg]
transport select hla_swd
source [find target/stm32f1x.cfg]
adapter speed 10000
  • 又如STM32F407VET单片机(说的就是你立创天空星!)+DAP-Link
adapter driver cmsis-dap
transport select swd
set FLASH_SIZE 0x100000
source [find target/stm32f4x.cfg]
adapter speed 10000
reset_config none

之后在OPENOCD运行-配置选择这个cfg文件即可

2024新版本如何配置CLion与cubeMX开发STM32的更多相关文章

  1. 配置CLion作为Qt5开发环境

    使用Qt进行程序开发时QtCreator总是不二之选.作为老牌IDE在提供了强大的功能同时也对Qt的支持做了许多优化.如果没有特别的原因你应该使用它. 然而一个顺手的工具将会极大得提升生产效率,而如果 ...

  2. Hadoop伪分布配置与基于Eclipse开发环境搭建

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  3. 使用镜像安装cygwin、gcc并配置CLion IDE -2020.09.12

    使用镜像安装cygwin.gcc并配置CLion IDE -2020.09.12 Cygwin 官网:http://www.cygwin.com/ 下载64bit安装器,并打开选择next 尽量不要装 ...

  4. 使用EmBitz开发STM32项目的环境配置

    一.EmBitz软件获取与安装 1.EmBitz软件的获取 EmBitz原名Em::Blocks,是基于Code::Blocks开发的,面向嵌入式的C/C++集成开发环境.支持J-Link和ST-Li ...

  5. 转[开发环境配置]在Ubuntu下配置舒服的Python开发环境

    在Ubuntu下配置舒服的Python开发环境 Ubuntu 提供了一个良好的 Python 开发环境,但如果想使我们的开发效率最大化,还需要进行很多定制化的安装和配置.下面的是我们团队开发人员推荐的 ...

  6. 从头开始编写一个Orchard网上商店模块(2) - 配置您的Orchard开发环境

    原文地址:http://skywalkersoftwaredevelopment.net/blog/writing-an-orchard-webshop-module-from-scratch-par ...

  7. 通过Maven配置测试环境和开发环境连接不同的数据库

    通过Maven配置测试环境和开发环境连接不同的数据库   作者及来源: 通灵宝玉 - 博客园    收藏到→_→: 此文来自: 马开东博客 网址:http://www.makaidong.com   ...

  8. 在IntelliJ IDEA 13中配置OpenCV的Java开发环境

    准备工作: 下载IDEA 13(这里以版本13为例,后面简称IDEA): 下载Java JDK(用于配置基本的Java开发环境): 下载OpenCV 2.4.9(这里以版本2.4.9为例,据这篇文章说 ...

  9. react-native —— 在Mac上配置React Native Android开发环境排坑总结

    配置React Native Android开发环境总结 1.卸载Android Studio,在终端(terminal)执行以下命令: rm -Rf /Applications/Android\ S ...

  10. 《React Native 精解与实战》书籍连载「配置 iOS 与 Android 开发环境」

    此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 ...

随机推荐

  1. 关于如何更改Cuda的版本的一些事情

    1. 网上说的很全面了,这里我把我遇到的一些问题和解决方案罗列出来,以便未来的学习和了解. 博客的好处就体现出来了,下次你再用这个东西,就直接打开你的博客照抄就行了,不用东搜西搜了,及其方便,这种碎片 ...

  2. Nuxt.js 应用中的 nitro:init 事件钩子详解

    title: Nuxt.js 应用中的 nitro:init 事件钩子详解 date: 2024/11/3 updated: 2024/11/3 author: cmdragon excerpt: n ...

  3. js实现浏览器后退页面刷新

    最近在开发中遇到一个问题: 在一个列表页面,点击进入详情,详情页面对其状态操作,其详情页面有做修改,然后点击浏览器后退,返回到列表页,在列表页面状态还是操作之前的,为解决状态统一需要手动刷新改列表页. ...

  4. 基于XAML框架和跨平台项目架构设计的深入技术分析

    XAML平台和跨平台开发策略 本文基于Vicky&James 2024年10月22日在韩国Microsoft总部BMW meetup会议上的演讲内容重新整理而成.这次研讨会我们深入探讨了基于X ...

  5. 一款.NET开源的屏幕实时翻译工具

    前言 今天大姚给大家推荐一款.NET开源的屏幕实时翻译工具:Translumo. 工具介绍 Translumo是一个.NET开源的高级屏幕翻译工具,能够实时检测和翻译选定区域内的文本(如字幕).Tra ...

  6. SPI接口,如何对W25Q64进行读写操作?深度解析

    ​ 一.SPI概述 SPI(SerialPeripheralInterface)是一种同步串行通信协议,广泛应用于微控制器和外围设备之间的数据传输.它由摩托罗拉公司开发,具有全双工通信能力,即可以同时 ...

  7. thinkpad x250装manjaro linux,解决指纹和远程桌面问题

    前言 家里有个thinkpad x250闲置,平时主要用windows,大概隔一年半年装一次linux看看发展程度. 自己平时用的服务器一般装centos和debian,偶尔是ubuntu. 桌面li ...

  8. (Redis基础教程之九) 如何在Redis中使用Sorted Sets

    介绍 Redis是一个开源的内存中键值数据存储.在Redis的,排序集合类似于一个数据类型集在这两者都是串的非重复的组.不同之处在于,已排序集中的每个成员都与一个分数相关联,从而可以从最小分数到最大分 ...

  9. wait、notify、notifyAll

    介绍 wait 方法前提需要拥有锁.使用wait方法后,释放锁进行等待队列. notify 方法从等待队列移除一个元素. notifyAll 将等待队列中元素全部进行移出. 注意:notify.not ...

  10. 使用gulp 压缩js

    js 编写后文件太大,可以使用gulp 来进行压缩. 具体步骤如下: 1.创建一个工作目录 在该目录下安装 gulp npm install gulp 安装gulp-uglify 模块 npm ins ...