Clion2021的安装并实现stm32F103点亮LED

2023-11-12

CLion是Jetbrains公司旗下新推出的一款专为开发C/C++所设计的跨平台IDE,它是以IntelliJ为基础设计的,同时还包含了许多智能功能来提高开发人员的生产力。 CLion专为使用C和C ++以及 Kotlin / Native ,Rust和Swift进行的本机跨平台开发而设计。

一、安装环境

1、CLion

1.1. CLion的介绍
Clion 是一款专为开发C及C++所设计的跨平台IDE。它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力。CLion帮助开发人员使用智能编辑器来提高代码质量、自动代码重构并且深度整合CMake编译系统,从而提高开发人员的工作效率。
CLion支持的编译器有GCC,Clang和MSVC,支持的语言包括Python,Objective-C/C++, HTML, CSS,JavaScprit和XML。这些语言是通过捆绑的插件实现对这些语言的自持,这些插件默认情况下处于启用状态,用户还可以安装其他插件来获得Clion支持的其他语言(Rust,Kotlin,Swift)。
CLion与CMake构建系统完全集成,可以无缝的创建,打开构建及运行,调试CMake项目。CMake本身捆绑在CLion中,因此除非决定使用自定义版本,否则无需单独安装它。
1.2. CLion的下载
进入官网进行下载:https://www.jetbrains.com/clion/
在这里插入图片描述
直接点击下载即可
注意:这是可以免费使用 30 天的教育版,推荐直接下载最新版即可,因为需要结合安装的 CubeMX 版本,有些老版本可能调用不了新版的 CubeMX

1.3. CLion的安装
下载完毕后,进入文件夹,选择下好的CLion-2021.3.exe文件以管理员身份运行进行Clion安装,点击Next
在这里插入图片描述
选择安装路径,点击Next
在这里插入图片描述
如图所示进行选项勾选,点击Next
在这里插入图片描述
点击Install开始安装
在这里插入图片描述
等待安装过程
在这里插入图片描述
安装完成之后选择暂时不重启,点击Finish
在这里插入图片描述
这时候可以在桌面上看见生成了快捷方式,安装成功

2、Stm32cubeMX

关于Stm32cubeMX开发环境的搭建请参考之前的博客,这里不过多赘述:https://blog.csdn.net/qq_54496810/article/details/120882256

3、arm-none-eabi-gcc

这是用来编译stm32程序的交叉编译工具链的
点击以下链接进行下载:https://developer.arm.com/tools-and-software
进入网页后,点击gcc-arm-none-eabi-10.3-2021.10-win32.exe下载
在这里插入图片描述
下载完成后,点击.exe进入安装
点击OK
在这里插入图片描述
进入以下界面,点击下一步(N)
在这里插入图片描述
选择我接受(I)
在这里插入图片描述
选择安装路径,点击安装(I)开始安装
在这里插入图片描述
安装过程
在这里插入图片描述
安装完成
在这里插入图片描述
点击完成后,在命令行里用以下语句测试,检验是否安装成功:

arm-none-eabi-gcc -v

如下图,有信息输出,安装成功
在这里插入图片描述

4、MinGW

下载网址:https://sourceforge.net/projects
进入网页后,不要着急点击绿色的按钮进行下载,向下滑动,找到压缩包,如图所示,点击下载
在这里插入图片描述
这里下载的比较慢,耐心等待下载

或者你可以使用以下链接进行下载:https://pan.baidu.com/s/1Q9lzsIWJJ4_MPThVYDnENg
提取码:qwer

下载完成后解压压缩包,记住其路径,这里建议移到与CLion同目录下去,方便查找
在这里插入图片描述
然后进入 CLion,建立工程
发现弹出以下界面,因为没有购买许可证,这里是进行试用30天,那么依次点击Start trial->Log In to JetBrains Account...
在这里插入图片描述
进入网页根据提示步骤一步步进行账号注册,这里便不过多说明
在这里插入图片描述
注册成功会,返回CLion,点击Close即可开始使用
在这里插入图片描述
新建一个工程
在这里插入图片描述
选择存放的路径,并点击Create完成建立
在这里插入图片描述
依次选择File->Settings->Build,Execution,Deployment->Toolchains,点击MinGW,可以看见已自动匹配好路径信息
在这里插入图片描述
至此就完成了 MinGW 的配置

5、Openocd

这是用来下载程序和调试程序的程序
进入官网下载:https://gnutoolchains.com/arm-eabi/openocd/
点击下载最新版即可:
在这里插入图片描述
下载完成后,解压文件到相同路径下
在这里插入图片描述
选择File->Settings->Build,Execution,Deployment->Embedded Development,把右侧OpenOCD Location 文件目录转换为前面的路径,注意选择bin目录下的openocd.exe,顺便把Stm32CubeMX Location路径也配置了
在这里插入图片描述
点击OK完成配置

最后将如图所示的路径添加到环境变量的Path
在这里插入图片描述

二、利用 CLion 点亮 LED

使用 Clion2021,采用一套新的嵌入式软件开发工具包(替代 Keil ),完成 stm32F103 点亮 LED 的程序

1、创建工程

新建一个工程,选择STM32CubeMX ,选择项目要保存的路径,点击Create即可
在这里插入图片描述
注意:路径不能出现中文名,否则创建不成功

2、配置STM32CubeMX

工程创建好后,点击Open with STM32CubeMX,进入STM32CubeMX
在这里插入图片描述
进入STM32CubeMX之后,点击左上角的STM32F030F4Px,进入芯片选择
在这里插入图片描述
选择使用STM32F103C8,选择中间弹出的信息栏,点击Start Porject开始配置
在这里插入图片描述
首先配置SYS:点击System Core,进入SYS,在debug那里选择Serial Wire
在这里插入图片描述
接着配置RCC:进入RCC,将HSE设置为Crystal/Ceramic Resonator
在这里插入图片描述
配置引脚:设置引脚PC13GPIO_Output来点亮 LED 灯
在这里插入图片描述
配置串口USART1:点击Connectivity,修改串口USART1的模式为Asynchronous
在这里插入图片描述
命名工程文件并设置:
进入Project Manager页面,填写Project Name(因为换芯片的过程,其实是 Cube 新建了一个.ioc文件),这里建议填写之前的工程名和工程路径,这样就可以把之前不需要的.ioc 文件覆盖掉
然后Toolchain/IDE类型选择SW4STM32
在这里插入图片描述
最后点击右上角的GENERATE CODE,选择 Yes,生成工程
在这里插入图片描述

3、配置 CLion 工程文件

回到 CLion,可以看到出现了如下界面,选择st_nucleo_f103rb.cfgUse
在这里插入图片描述
注意:如果回到 CLion之后没有出现如上界面,那就可能是上一步生成 CubeMX 工程的时候,文件命名和目录选择与之前的不同导致的,只需要在 CLion 打开重新生成的 CubeMX 工程文件目录即可

寻找 st_nucleo_f103rb.cfg 文件的位置:
点击左上角如图位置:
在这里插入图片描述
出现下面界面,点击图中的...,即可查看到st_nucleo_f103rb.cfg文件的路径
在这里插入图片描述
修改 st_nucleo_f103rb.cfg 文件:
根据刚才查看到的路径位置打开文件,将第十行注释掉
在这里插入图片描述
代码含义:
第 4 行是选了连接方式为 stlink;
第 6 行是选择 swd 通信模式;
第 8 行是选择 stm32f1x 的配置文件;
第 10 行是选择重启模式,要将其注释起来,不注释掉下载可能失败

4、添加并编译代码

添加代码
打开main.c文件,在 while 循环里添加使PC13引脚 LED 灯闪烁的代码
在这里插入图片描述
代码如下:

while (1)
  {
      HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);
      HAL_Delay(500);
      HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
      HAL_Delay(500);
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }

编译前配置
选择File->Settings->Build,Execution,Deployment->cMake->Debug,可以看见已经默认使用了MinGW
在这里插入图片描述
此时,出现可编译的配置,而且左边的小锤子由暗变亮
在这里插入图片描述
点击右上角的小锤子,开始编译,结果如下:
在这里插入图片描述
编译成功,打开工程目录,可以在cmake-build-debug文件夹下看到生成的.hex文件
在这里插入图片描述

5、烧录

选择文件,点击开始编程,将 .hex 文件烧录到 STM32F103C8T6 核心板中
在这里插入图片描述

6、运行结果

在这里插入图片描述
可以看见,PC13 端口的LED闪烁,实验成功

三、小结

CLion 是一款新的嵌入式软件开发工具包,在进行 CLion 的测试应用中,利用 CLion 调用了 STM32CubeMX 直接进行了 HAL 工程的建立,再通过 CMake 编译器完成代码编译,这功能相比于利用 STM32CubeMX先建立HAL工程,再利用 keil来完成简单、方便许多 ,另外CLion还有调试等功能,可以看出,CLion 是一个多功能跨平台的 IDE,能进一步的提高开发人员的工作效率,除了要收费,其他都是不错的。

四、参考链接

https://blog.csdn.net/m0_58892312/article/details/121866325

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Clion2021的安装并实现stm32F103点亮LED 的相关文章

  • OpenWrt一些小问题的解决方法

    OpenWrt中文文档并不完善 国内论坛也不太照顾新人 有时遇到问题无从下手 这里整理一些常见错误提示和解决方法 我也是新手整理的不全有问题可以在评论里提出 satisfy dependencies for Cannot satisfy t

随机推荐

  • Layui数据表格

    添加表格容器 设置id 和 lay filter div table table div 2 layui use table function var table layui table 第一个实例
  • Vs打开Qt文件,添加模块时没有可勾选项

    VS2022 QT6 我要使用QVideoWidget作为QMediaCaptureSession的视频输出源 原本在Qt creator中 在工程文件添加QT multimediawidgets即可 但在VS勾选模块时却找不到multim
  • 一些面经(2)---智力题

    一个7分钟沙漏a7 一个4分钟沙漏a4 怎样计时9分钟 先同时漏a7a4 a4漏完后翻转 和a7剩下的三分钟同时漏 a7漏完后再翻转和a4的一分钟一起漏 a4漏完后a7一端就有一分钟 这时再翻转a7直到漏完 4 3 1 1 9 你有一架天平
  • docker安装nginx并映射文件

    docker下载nginx docker pull nginx 启动nginx docker run name nginx p 80 80 d nginx 3 映射配置文件 mkdir p mydata nginx mkdir p myda
  • 使用Arduino Uno开发板和LCD显示屏自制pH计

    pH计用来测量液体的酸碱度 它的读数范围为1 14 其中1表示最酸性的液体 而14表示最碱性的液体 pH值为7表示既不是酸性也不是碱性的中性物质 现今 pH计在我们的生活中起着非常重要的作用 并且被用于各种应用中 例如 它可以在游泳池中使用
  • 1988-2020年各省、分城乡基尼系数、基尼系数计算及相关经典文献、1978-2019年中国省市恩格尔系数表、泰尔指数计算模板、208个地级市和31个省、市城乡泰尔指数

    一 各省 分城乡基尼系数 1 数据来源 中国统计年鉴 2 时间跨度 1988 2020 3 区域范围 全国所有省份 4 指标说明 参照田为民的文章 中国基尼系数计算及其变动趋势分析 里基尼系数的计算方法 部分数据如下 二 基尼系数计算及相关
  • 经典卷积神经网络--AlexNet分析与pytorch代码

    2012年AlexNet卷积神经网络结构被提出 并且以高出第二名10 的准确率获得2012届ImageNet图像识别大赛中获得冠军 使得CNN成为了图像分类核心算法模型 AlexNet网络特点 1 AlexNet一共有八层 五个卷积层和三个
  • 为什么大多数场景要用拦截器而不是过滤器

    过滤器是javaWeb提供的一个技术 拦截器是基于框架的 拦截器太强大了 什么请求都会被拦截 跨域请求也会 跨域请求是不携带请求参数的 如果对跨域请求进行签名校验则会失败 所以要先判断是否是跨域请求 在进行参数判断 而对签名的校验是业务参数
  • 树莓派 QT项目开机自启动

    我自己用qt设置了一个界面 如何让他开机自启动呢 目录 1 生成qt项目的可执行文件 2 编写一个自启动脚本 3 重启树莓派 1 生成qt项目的可执行文件 QT项目的可执行文件就是 exe文件 首先在qt中打开 点击红色方框图标 选择Rel
  • python 学习笔记(一)元组

    元组运算符 与字符串一样 元组之间可以使用 号和 号进行运算 这就意味着他们可以组合和复制 运算后会生成一个新的元组 Python 表达式 结果 描述 len 1 2 3 3 计算元素个数 1 2 3 4 5 6 1 2 3 4 5 6 连
  • 用python将数据保存至现存excel的指定sheet内

    import openpyxl import pandas as pd def save to excel sheet data path excel sheet name 将DataFrame数据存入指定excel的指定表格名称 wb o
  • uint 数据类型理解

    uint unsigned int 无定义整型 uint不能为负数 int可以为负数 uint和int的区别 uint无符号int 什么是有符号 难道负数就是有符号 一 指代不同 1 uint 对应于无符号整数 2 int 一种数据类型 在
  • 【MATLAB函数】function定义函数

    1 函数声明 定义 function 返回变量列表 函数名 输入变量列表 如 function y1 yN myfun x1 xM end 声明一个名为myfun 的函数 该函数接受输入参数 x1 xM 并返回输出参数 y1 yN 此声明语
  • from shapely.geos import lgeos 出错

    Shapely 安装以后出现下面这个错误 from shapely coords import CoordinateSequence File C ProgramData Anaconda3 envs db lib site package
  • 爬虫入门使用

    用第三方服务 https www bazhuayu com https www jisouke com pro product html 用他们做出来的文件在放到数据库中 参考资料 jsoup
  • pysot 运行demo注意事项

    研究siam rpn 首先跑通demo 按照install md安装环境 path to conda pysot都是到conda pysot的路径 linux中 export PYTHONPATH path to pysot PYTHONP
  • C++开发者的机会在哪里?盘点C/C++就业方向

    引用一个校招脉友的提问 现在C 的机会是不是越来越少了 这个问题还是老生常谈 看看大家怎么说 不难发现 c 很多的岗位很多都存在两个共性 第一个 岗位比较高端 任职要求高 第二个 部分在传统行业 流动性不大但薪资较其他的语言薪资较低 所以显
  • openssl在windows环境和linux环境中的使用问题

    场景 使用c程序调用openssl在windows上进行加密 加密之后的结果放到linux环境中使用 问题 发现在windows中加密之后的密码 在linux环境中使用openssl进行解密得到的结果与加密之前不符 原因 发现是window
  • 第三章 信息系统资源管理

    信息系统资源管理概述 信息系统资源管理 为完成信息系统资源的合理开发和高效利用 保证优质的信息系统上线 并能发挥信息系统在企业运行中的重要作用所采取的一系列管理措施 信息系统基本概念 信息系统 IS 信息系统是一个完成信息采集 传递 存储
  • Clion2021的安装并实现stm32F103点亮LED

    CLion是Jetbrains公司旗下新推出的一款专为开发C C 所设计的跨平台IDE 它是以IntelliJ为基础设计的 同时还包含了许多智能功能来提高开发人员的生产力 CLion专为使用C和C 以及 Kotlin Native Rust