配置Clion+OpenOCD+Stm32CubeMX进行优雅的嵌入式开发
传统的keil的图形化界面以及各种复杂的操作对我这个想入门的新手很不友好,所以经过一波探索,决定用自己的IDE,即Jetbrain家的Clion进行配置开发,本文详细介绍我自己配置的过程。
顺便开一个专栏记录我从大二下才开始的单片机学习经过。
1. 软件环境:
- Windows 11
- STM32CubeMX
- Clion-2022
- MinGW
- OpenOCD
- arm-none-eabi-gcc
2. 硬件环境:
- stm32f103c6t6A
- st-link v2
3. 软件下载
STM32CubeMX下载地址
STM32CubeMX - STM32Cube initialization code generator - STMicroelectronicshttps://www.st.com/en/development-tools/stm32cubemx.html 注意,本人下载的是老版本6.5.0的,不建议使用最新版本。
OpenOCD下载地址
Download OpenOCD for Windows (gnutoolchains.com)https://gnutoolchains.com/arm-eabi/openocd/ 在Clion中配置OpenOCD的方法:
MinGW:经验证,可以直接使用Clion捆绑的,不用另外下载
下载地址:Download File List - MinGW - Minimalist GNU for Windows - OSDNhttps://osdn.net/projects/mingw/releases/ arm-none-eabi-gcc:
Downloads | GNU Arm Embedded Toolchain Downloads – Arm Developerhttps://developer.arm.com/downloads/-/gnu-rm 此处最好下载zip文件解压后使用,将解压后文件的bin目录添加到环境变量中去
4. Clion中的配置:
5. 创建项目:
创建完成后,会生成一个ioc文件,并且弹出一个OpenOCD的配置面板选择,此处我们选择跳过即可。
然后点击ioc文件,选择在STM32CubeMX中打开
此时的板子默认的是STM32F0304Px,我们点击左上方Home右边的那个芯片名称:
在图上的指针处输入你自己板子的对应型号,我这里选择的是STM32f103c6t6A
(不知道为什么我这里图形化界面的渲染总是会出现错误,但是不影响使用)
选择后在右下角给出两个板子型号,此处双击你的型号即可
之后会自动创建一个工程,此处我们对工程进行配置。
先点击座变一栏的System Core,选择SYS选项
Debug选择Serial Wire选项
然后点击Project Manager,配置你的项目名称(要和Clion里创建的一样),注意一下你的项目目录:是项目文件的上一级。然后Application Structure选择Basic,ToolChain/IDE选择SW4STM32即可。配置完成后直接点击右上方的Generate Code,覆盖掉之前的项目文件。
覆盖完后会显示如下弹窗,我们选择Close后关闭STM32CubeMX窗口即可。
回到Clion后系统会自动重新配置,并且要求我们选择面板配置文件,此时我们可以看到板子型号已经发生改变了。面板配置文件中对不同型号的板子有不同的配置文件,我们选择对应型号的,然后复制到项目并且使用即可。我这里选择了我板子型号的配置文件,有可能对你的板子没有对应的,那就随便选一个然后自己写配置文件的内容
初始的配置文件如下:
因为我使用stlink的烧录器,所以更改配置文件如下:
# STM32F103C8 "Blue Pill"# NOTE:
# There is a fair bit of confusion about whether the "Blue Pill" has 128kB or 64kB flash size.
# The most likely cause is that there exist a -C8 and a -CB variant of the STM32F103, where
# the C8 has 64kB, the CB has 128kB as per specification. "Blue Pill" boards are manufactured
# by a lot of different vendors, some may actually use the CB variant but from a cursory look
# it very hard to tell them apart ("C8" and "CB" look very similar). Nevertheless, people have
# tried using the full 128kB of flash on the C8 and found it to be working. Hence this board file
# overrides the internal size detection. Be aware though that you may be using you particular
# board outside of its specification. If in doubt, comment the following line.
set FLASH_SIZE 0x20000
source [find interface/stlink.cfg]
transport select hla_swd
source [find target/stm32f1x.cfg]
adapter speed 10000
然后我们点击右上方的构建按钮进行构建,可以看到已经构建成功了,接下来写入一个点亮LED灯的例程进行测试。
打开Src文件目录下的main.c文件,写入如下代码(简略代码):
*(unsigned int *)0x40021018 |=(1<<4);*(unsigned int *)0x40011004 &=~(1111<<(4*5));*(unsigned int *)0x40011004 |=(1<<(4*5));*(unsigned int *)0x4001100C &=~(1<<13);
点击构建
构建完成后点击运行按钮,进行烧录,此时请确保你的stlink链接无误。此时我这里的烧录成功。
板子也成功亮灯
那么就配置好了,此时就可以享受Clion的美观UI和丝滑补全了。
重载printf函数的部分见下面第一个链接有写:
同时本文也借鉴了下列链接:
配置CLion用于STM32开发【优雅の嵌入式开发】 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/145801160(5条消息) 最小系统板 STM32入门,点亮 LED 灯(STM32F103C6T6)_stm32蓝色led灯_HackShendi的博客-CSDN博客
https://blog.csdn.net/qq_41806966/article/details/126894938?spm=1001.2014.3001.5506
(5条消息) MacOS之STM32CubeMX和System Workbench系列问题解决_SimonLiu009的博客-CSDN博客https://blog.csdn.net/toopoo/article/details/79680323
配置Clion+OpenOCD+Stm32CubeMX进行优雅的嵌入式开发相关推荐
- 配置CLion进行嵌入式STM32的HAL库开发
前言 时不可以苟遇,道不可以虚行. 一.准备 1.软件 CLion-2020:百度网盘提取链接放在文章最后. STM32CubeMX:使用 6.5.0 版本的,不要使用最新版本的 CubeMX,不然没 ...
- 嵌入式linux clion,跨平台IDE集成开发环境Clion教程:嵌入式开发
CLion是一款专为开发C及C++所设计的跨平台IDE.它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力.这种强大的IDE帮助开发人员在Linux.OS X和Windows ...
- 配置clion用于stm32开发
配置clion用于stm32开发 以stm32f103ZET6为例 2022.4.8更新(解决了OCD无法调试的问题) 之前配置完环境后,就只是实验了一下烧录的功能,一直没有尝试使用ocd的调试功能. ...
- Clion和STM32CubeMx新建项目
Clion和STM32CubeMx创建项目 目录 Clion和STM32CubeMx创建项目 1.Clion新建项目 2.双击打开STM32CubeMx软件 3.选择自己对应的芯片并打开 4.GPIO ...
- 提升嵌入式开发效率小技巧——开发环境配置
起因:发现自己在嵌入式开发是,主机.虚拟机.开发板相互不能ping通,代码文件拖来拖去,利用cutftp,拖文件还得改目录,开发效率极低,加上bug找不到,代码写不出,使心情更加烦躁,进而磨灭自己的热 ...
- 007 - 配置 Clion 调试显示 Qt 变量
配置 Clion 调试显示 Qt 变量 文章目录 配置 Clion 调试显示 Qt 变量 引言 尝试解决 配置 Lekensteyn's qt5printers KDevelop formatters ...
- Linux下嵌入式开发环境配置
简介 因为经常瞎折腾导致重装系统,每次装完都要进行一系列的重复操作,所以把这些操作整理了一下,方便自己下次瞎折腾,也希望能帮到需要的朋友! 我的系统是win10+Ubuntu19.10,以下所有操作都 ...
- 详细说明如何配置蜻蜓Q系统的直播功能完美实现直播和观赏直播,推拉流配置完整说明一颗优雅草科技伊凡写
详细说明如何配置蜻蜓Q系统的直播功能完美实现直播和观赏直播,推拉流配置完整说明一颗优雅草科技伊凡写 一.登录后台找到直播配置 依次在站点配置-直播配置 编辑切换为居中 添加图片注释,不超过 140 ...
- MacBook M1配置Clion
MacBook M1配置Clion 文章目录 MacBook M1配置Clion 一.下载Cmake 二.下载Clion 总结 一.下载Cmake 搜索Cmake官网,点击右上角的Download 下 ...
最新文章
- 【机器学习知识体系】- 机器学习问题的一般流程
- 【独家】深度学习论文阅读路线图
- 分析 H.265 + AAC 的 FLV 文件
- 厦门大学2016年高等代数考研试题参考解答
- Lua_第17 章 数学库
- Angular ngClick command parse
- 全国计算机考试一级在线模拟,2017全国计算机一级考试模拟
- 怎么看oracle的procedure,Oracle基础 -- SQLPlus如何查看procedure的内容
- Linux内核源代码分析-第二章 代码初识-2
- Java实现读取文件夹下(包括子目录)所有文件的文件名
- 运营 | 抖音运营12个步骤
- 七脉轮位置_十分钟告诉你七个脉轮的全部,从未如此简单
- VRP基础介绍:VRP基础
- 【转贴】北大学生对一MM征婚广告经典回复
- Qt C++ 录屏录音功能实现(avilib+ffmpeg)以及动态库生成
- Neat Reader安装使用
- 天蓝-skyblue迁移到博客园
- Block源码解析和深入理解
- 唯品会服务器信息,唯品会商品详情信息接口
- 新一代PHP MYSQL DREAMWEAVER网站建设典型案例pdf
热门文章
- python的fopen函数_linux c函数(fgets,fputs,fopen)
- kubelet not ready 问题排查
- Explay Crystal透明手机上市 透明显示渐入佳境
- 基于shell,python 简易数据采集流程图
- html单元格颜色填充颜色,PPT表格中的单元格怎么填充颜色
- ps 中的路径和模拟压力
- 项目--点击按钮显示资料,点击空白处隐藏资料
- echarts-----树状图(基础参数)
- 一种基于浏览记录的反反爬虫方法
- 河北大学计算机组成原理课程设计,国家精品课程-河北大学教务处.doc