STM32(一)准备开发环境CLion+CubeMX

news2024/11/26 8:41:02

本篇内容

    • 一、CLion和STM32CubeMX基础安装
    • 二、安装OpenOCD
    • 三、安装交叉编译工具链
    • 四、配置CLion并点亮第一个LED灯
    • 五、烧录程序
    • 六、错误排查

本篇安装配置STM32的开发环境,使用的是稚晖君同款CLion+STM32CubeMX的开发环境

一、CLion和STM32CubeMX基础安装

软件安装只需简单修改安装路径,根据提示一直下一步即可,软件安装包和激活教程已经打包在下面链接

百度网盘分享,提取码:6666

二、安装OpenOCD

OpenOCD官网下载链接

▶ 下载完解压到磁盘后,找到bin目录下的openocd.exe,复制该路径

在这里插入图片描述

▶ 右键"此电脑",点击"属性",找到"高级系统设置",点击弹出的"系统属性"中的"环境变量"
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

▶ 最后,win+R输入cmd打开运行框,输入命令openocd --version,如下图所示即为安装完成

在这里插入图片描述

三、安装交叉编译工具链

官方下载链接,选择Windows (mingw-w64-i686) hosted cross toolchains

在这里插入图片描述

▶ 解压后同上面OpenOCD一样,找到bin目录添加到环境变量

在这里插入图片描述

四、配置CLion并点亮第一个LED灯

新装CLion汉化可直接安装插件即可

▶ 打开CLion,点击菜单栏"文件",设置,找到"构建、执行、部署"中的"嵌入式开发",填写正确的路径

在这里插入图片描述

▶ 新建项目,选择STM32CubeMX,点击确定,等待创建完成,点击通过STM32CubeMX打开

在这里插入图片描述

接下来就到了STMCubeMX的界面,这里我用的芯片是STM32F103C8T6,PC13引脚是LED

▶ 找到对应的芯片,配置LED引脚输出低电平,并将Debug模式改为Serial Wire

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

▶ 时钟配置跳过,配置项目,生成代码

注意这里的项目名称和项目位置一定要对应好,填错会导致后面的代码不能编译

在这里插入图片描述

在这里插入图片描述

等待生成代码,第一次会下载安装需要的文件,一路点击yes即可

在这里插入图片描述

▶ 点击构建,可以看到以下编译成功的界面,并生成了.hex文件

.hex文件放在工程目录下的/cmake-build-debug-mingw-gcc文件夹里

在这里插入图片描述

五、烧录程序

第二步中已经安装配置好了OpenOCD,接下来通过OpenOCD烧录程序到开发板

▶ 接线,安装stlink驱动插到电脑

在这里插入图片描述

在这里插入图片描述

▶ 配置CLion

在这里插入图片描述

此时,点击右上角的运行,不出意外会报错,使用stm32f103c8t6核心板的话

在这里插入图片描述

▶ 修改配置文件,重新烧录

在这里插入图片描述

在这里插入图片描述

六、错误排查

▶ 交叉编译工具环境变量设置错误

在这里插入图片描述

win+r打开cmd运行框,输入arm-none-eabi-gcc检查是否正确设置环境变量,发现命令找不到就是环境变量配置错误。改好后,重启CLion,在"工具(T)"找到"cmake",选择"重置缓存并重新加载项目",看到以下即为成功

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/538820.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java-API简析_java.lang.Integer类(基于JDK1.8)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/130730986 出自【进步*于辰的博客】 其实我的【Java-API】专栏内的博文对大家来说意义是不大的。…

Python绘制带误差棒的柱状图渐变色填充含数据标注(进阶)

往期python绘图合集: python绘制简单的折线图 python读取excel中数据并绘制多子图多组图在一张画布上 python绘制带误差棒的柱状图 python绘制多子图并单独显示 python读取excel数据并绘制多y轴图像 python绘制柱状图并美化|不同颜色填充柱子 文章目录 准备数据一、绘制图表二、…

Android RecyclerView实现吸顶动态效果,附详细效果图

文章目录 一、ItemDecoration二、实现RecyclerView吸顶效果1、实现一个简单的RecyclerView2、通过ItemDecoration画分割线3、画出每个分组的组名4、实现吸顶效果 完整demo 链接:https://download.csdn.net/download/JasonXu94/87786702 一、ItemDecoration [外链图片转存失败…

SpringDataRedis

SpringDataRedis SpringDataRedis简介RedisTemplate对Redis操作类型SpringDataRedis快速入门1、引入spring-boot-starter-data-redis依赖2、在application.properties配置Redis信息3、注入RedisTemplate并测试 SpringDataRedis的序列化方式现象分析SpringDataRedis的序列化方式…

基于RK3588的以太网PHY的问题分析

环境:RK3588为荣品电子核心板,PHY为裕太微电子YT8521; 首先上电后识别不到以太网: 1.先怀疑驱动的问题,因为本方案中直接使用的是荣品电子官方的驱动; 对比原理图及驱动。涉及到一个配置问题。 基于时钟来源的不通,驱动程序可分为四种模式,PHY的时钟和TXCLK的时钟;…

北华大学第九届程序设计竞赛 题解

5.14和队友VP一场,第二次VP,状态明显比第一次好很多,总共A了7题,基本是能做出来的都做出来了,最后还剩下接近2小时的时间。。。。。 A "北华"有几何 思路:数图片中“北华”的数量,直…

双平台GraalVM编译二进制程序

本文示例均采用Java11,GraalVM目前无法支持跨平台编译,比如,我通过Linux直接编译Windows可执行的exe,是不行的。 因此,需要掌握两种平台的GraalVM的安装、使用。 一、背景 1.1 为何GraalVM快? 常规Java…

永恒之塔私服 2.0包楼纳斯达克 网游的诺曼底登陆-

二战末期的诺曼底登陆,至今让人历历在目。盟军自此在西欧展开大规模进攻,加速了纳粹德国的崩溃。从某种意义上说,诺曼底登陆是整个二战一次生死攸关的转折点。《永恒之塔2.0:进军龙界》登上纳斯达克,也是一场激荡人心的…

基于自动编码器VAE的声音生成之音频预处理模块preprocess pipeline的实现和代码讲解

文章目录 概述Preprocessline模块实现以及代码讲解Loader模块Padder模块LogSpectrogramExtractor模块MinMaxNormaliser模块Saver模块PreprocessPipeLine模块知识补充property修饰词 总结 概述 这部分是将原来基于mnist手写数据集生成模型,一个用到基于FSDD音频数据…

蓝桥:前端开发笔面必刷题——Day2 数组(二)

文章目录 📋前言🎯删除有序数组中的重复项📚题目内容✅解答 🎯移动零📚题目内容✅解答 🎯长度最小的子数组📚题目内容✅解答 🎯反转字符串数组📚题目内容✅解答 &#x1…

麒麟操作系统软件更新灾难连篇之二:QQ罢工

在解决了中文输入法消失的问题后,还没缓过气来,又发现QQ罢工了:双击电脑桌面上的QQ图标,没有显示QQ登录界面。 重启电脑再试,还是不显示QQ登录界面。 前不久腾讯正式宣布,QQ Linux 版 3.0 已在 QQ 官网上…

最好用的文本与文件查询软件AnyTXT Searcher与Listary简介

1. 工具简介 1.1 Listary简介 Listary是一个革命性的Windows搜索工具,借助 Listary软件,你可以快速搜索电脑文件、定位文件、执行智能命令、记录访问历史、快速切换目录、收藏常用项目等。 Listary为Windows传统低效的文件打开/保存对话框提供了便捷、…

Apache Tomcat AJP协议文件读取与包含

永远也不要忘记能够笑的坚强,就算受伤,我也从不彷徨。 0x01.漏洞情况分析 Tomcat是Apache软件基金会Jakarta 项目中的一个核心项目,作为目前比较流行的Web应用服务器,深受Java爱好者的喜爱,并得到了部分软件开发商的…

makefile 学习(2):C语言的编译及库文件的生成与链接

文章目录 1. 介绍2. C语言编译2.1 预处理2.2 生成汇编语言2.3 编译目标文件2.4 编译为可执行文件 3. .a静态库的编译与链接案例 4 .so 动态库的编译与链接 1. 介绍 编译C语言的相关后缀 .a 文件是一个静态库文件.c文件是c语言的源文件.h c语言的头文件.i 是预处理文件.o 目标文…

两个用字符串表示的大数字的和

文章目录 题目详情Java实现分析Java 怎么获取到字符串中的对应位置的数字值Java完整代码测试验证 python实现python 怎么获取到字符串中的对应位置的数字值python完整代码 总结 这是遇到的一道快手数仓岗位的面试题目,题目大意如下: 题目详情 现在有两个…

【树莓派4B安装18.04桌面+远程SSH】

【树莓派4B安装18.04桌面远程SSH】 1. 前言2 .树莓派安装ubuntu18.04 系统2.1 下载ubuntu Server 18.04 的镜像包2.2 镜像烧录2.3 高级设置2.4 配置WiFi2.5 ssh文件配置2.6 Pi 4B启动文件 3. 安装finalshell3.1 windows版下载3.2 windows版安装3.3 SSH连接 4. 安装ubuntu桌面4.…

【野火启明_瑞萨RA6M5】梦的开始 ---- 点灯(寄存器)

文章目录 一、IOPORT简介二、IOPORT的框图分析三、IOPORT的寄存器描述1. 端口引脚功能选择寄存器2. 端口输出数据寄存器3. 端口输入数据寄存器4. 端口输出置位/复位寄存器5. 写保护寄存器 四、点亮LED灯(寄存器) 从本文开始,我将以瑞萨RA系列…

【夜莺(Flashcat)V6监控】3.链路追踪

链路追踪 介绍 链路追踪是分布式系统下的一个概念,它的目的就是要解决上面所提出的问题,也就是将一次分布式请求还原成调用链路,将一次分布式请求的调用情况集中展示,比如,各个服务节点上的耗时、请求具体到达哪台机…

Java 把一个 List 转换为字符串

在本快速指南中,我们将会解释如何在 Java 把一个 List 转换为 String 字符串。 这个在某些特定的场合可能比较有用,比如说在控制台中输出 List 中的内容,转换为可以人为阅读的内容来进行调试。 使用 List 中标准的 toString() 方法 一个最简…

(2)数码管

LED数码管:数码管是一种简单、廉价的显示器,是由多个发光二极管封装在一起组成"8"字器件 51单片机是共阴极连接 74HC245这个芯片有什么作用呢?解:这个芯片被称之为双向数据缓冲器这个芯片的作用,用来进行数据缓冲(提高驱…