传统的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进行优雅的嵌入式开发相关推荐

  1. 配置CLion进行嵌入式STM32的HAL库开发

    前言 时不可以苟遇,道不可以虚行. 一.准备 1.软件 CLion-2020:百度网盘提取链接放在文章最后. STM32CubeMX:使用 6.5.0 版本的,不要使用最新版本的 CubeMX,不然没 ...

  2. 嵌入式linux clion,跨平台IDE集成开发环境Clion教程:嵌入式开发

    CLion是一款专为开发C及C++所设计的跨平台IDE.它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力.这种强大的IDE帮助开发人员在Linux.OS X和Windows ...

  3. 配置clion用于stm32开发

    配置clion用于stm32开发 以stm32f103ZET6为例 2022.4.8更新(解决了OCD无法调试的问题) 之前配置完环境后,就只是实验了一下烧录的功能,一直没有尝试使用ocd的调试功能. ...

  4. Clion和STM32CubeMx新建项目

    Clion和STM32CubeMx创建项目 目录 Clion和STM32CubeMx创建项目 1.Clion新建项目 2.双击打开STM32CubeMx软件 3.选择自己对应的芯片并打开 4.GPIO ...

  5. 提升嵌入式开发效率小技巧——开发环境配置

    起因:发现自己在嵌入式开发是,主机.虚拟机.开发板相互不能ping通,代码文件拖来拖去,利用cutftp,拖文件还得改目录,开发效率极低,加上bug找不到,代码写不出,使心情更加烦躁,进而磨灭自己的热 ...

  6. 007 - 配置 Clion 调试显示 Qt 变量

    配置 Clion 调试显示 Qt 变量 文章目录 配置 Clion 调试显示 Qt 变量 引言 尝试解决 配置 Lekensteyn's qt5printers KDevelop formatters ...

  7. Linux下嵌入式开发环境配置

    简介 因为经常瞎折腾导致重装系统,每次装完都要进行一系列的重复操作,所以把这些操作整理了一下,方便自己下次瞎折腾,也希望能帮到需要的朋友! 我的系统是win10+Ubuntu19.10,以下所有操作都 ...

  8. 详细说明如何配置蜻蜓Q系统的直播功能完美实现直播和观赏直播,推拉流配置完整说明一颗优雅草科技伊凡写

    详细说明如何配置蜻蜓Q系统的直播功能完美实现直播和观赏直播,推拉流配置完整说明一颗优雅草科技伊凡写 一.登录后台找到直播配置 依次在站点配置-直播配置 ​ 编辑切换为居中 添加图片注释,不超过 140 ...

  9. MacBook M1配置Clion

    MacBook M1配置Clion 文章目录 MacBook M1配置Clion 一.下载Cmake 二.下载Clion 总结 一.下载Cmake 搜索Cmake官网,点击右上角的Download 下 ...

最新文章

  1. 【机器学习知识体系】- 机器学习问题的一般流程
  2. 【独家】深度学习论文阅读路线图
  3. 分析 H.265 + AAC 的 FLV 文件
  4. 厦门大学2016年高等代数考研试题参考解答
  5. Lua_第17 章 数学库
  6. Angular ngClick command parse
  7. 全国计算机考试一级在线模拟,2017全国计算机一级考试模拟
  8. 怎么看oracle的procedure,Oracle基础 -- SQLPlus如何查看procedure的内容
  9. Linux内核源代码分析-第二章 代码初识-2
  10. Java实现读取文件夹下(包括子目录)所有文件的文件名
  11. 运营 | 抖音运营12个步骤
  12. 七脉轮位置_十分钟告诉你七个脉轮的全部,从未如此简单
  13. VRP基础介绍:VRP基础
  14. 【转贴】北大学生对一MM征婚广告经典回复
  15. Qt C++ 录屏录音功能实现(avilib+ffmpeg)以及动态库生成
  16. Neat Reader安装使用
  17. 天蓝-skyblue迁移到博客园
  18. Block源码解析和深入理解
  19. 唯品会服务器信息,唯品会商品详情信息接口
  20. 新一代PHP MYSQL DREAMWEAVER网站建设典型案例pdf

热门文章

  1. python的fopen函数_linux c函数(fgets,fputs,fopen)
  2. kubelet not ready 问题排查
  3. Explay Crystal透明手机上市 透明显示渐入佳境
  4. 基于shell,python 简易数据采集流程图
  5. html单元格颜色填充颜色,PPT表格中的单元格怎么填充颜色
  6. ps 中的路径和模拟压力
  7. 项目--点击按钮显示资料,点击空白处隐藏资料
  8. echarts-----树状图(基础参数)
  9. 一种基于浏览记录的反反爬虫方法
  10. 河北大学计算机组成原理课程设计,国家精品课程-河北大学教务处.doc