IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> Clion使用笔记(C语言、C++、stm32) -> 正文阅读

[C++知识库]Clion使用笔记(C语言、C++、stm32)

目录

1、Clion安装(以Windows为例)

系统要求

安装步骤

?2、Clion激活(以Windows为例)

方法一:jb官网的免费教育许可证

方法二:钞能力

方法三:不可描述能力

3、Clion汉化

方法一

方法二

4、C/C++编译环境配置

? 工具链

5、Clion的使用

? 输出中文乱码

? Clion快捷键

? ?CMakeLists.txt 语法简单介绍与实例

6、STM32 CLion 环境开发入门

? ?为什么使用Clion开发stm32程序

? ?开发工具下载(以Windows为例)

????????gcc-arm-none-eabi安装

????????STM32CubeMX安装

????????OpenOCD安装

? ?编译环境调试

? ?CMSIS-DAP及openOCD

? ?环境调试 (GPIO输出)

结束语


1、Clion安装(以Windows为例)

  • 系统要求

Windows

????????64 位 Microsoft Windows 10、8

????????最少 2 GB RAM,推荐 8 GB RAM

????????2.5 GB 硬盘空间,推荐 SSD

????????最低屏幕分辨率 1024x768

macOS

????????macOS 10.14 或更高版本

????????最少 2 GB RAM,推荐 8 GB RAM

????????2.5 GB 硬盘空间,推荐 SSD

????????最低屏幕分辨率 1024x768

Linux

????????GNOME 或 KDE 桌面版

????????最少 2 GB RAM,推荐 8 GB RAM

????????2.5 GB 硬盘空间,推荐 SSD

????????最低屏幕分辨率 1024x768

  • 安装步骤

1、JB公司官网下载

CLion:JetBrains 出品的 C 和 C++ 跨平台 IDEhttps://www.jetbrains.com/zh-cn/clion/

2、具体流程

打开安装包

一直点击Next。

安装路径尽量不要在c盘,并且尽量以英文字母命名,记住安装路径。

这里是是否创建快捷方式,设置绑定文件后缀,可以全选。

默认选项即可。

等待安装即可。


?2、Clion激活(以Windows为例)

  • 方法一:jb官网的免费教育许可证

????????我觉得这位博主写的很好,分享给大家。
IDEA 学生 免费教育许可证 领取教程https://blog.csdn.net/ddd4051/article/details/119574195? ? ? ? 申请成功免费教育许可证,将会在该申请的邮箱注册jb账号的个人中心,

????????自动出现下图申请成功的标志。

????????申请好后,用该邮箱注册的账号去登录软件,就可以免费使用。

????????使用限期是一年,并且可以续订到毕业为止。

  • 方法二:钞能力

JetBrains Toolbox 的月度和年度计划https://www.jetbrains.com/zh-cn/store/#personal?billing=yearly

  • 方法三:不可描述能力

????????网上有很多方法可以pojie,可以自己百度。

????????网上盗版的活码有些是不安全的,使用时有安全风险。

????????网上那些盗版激活码即使成功激活了,用段时间之后会过期。

????????建议有能力就去购买正版,学生直接使用正版就好了。


3、Clion汉化

  • 方法一

? ? ? ? ?在Clion主窗口中点击菜单栏中的File菜单下的Settings,进入Clion设置窗口,如下图所示?。?

? ? ? ? ? 在Setting中选择Plugins选项进入Clion插件管理窗口。

? ? ? ? ? 输入“chinese”系统会自动搜索相关插件

? ? ? ? ? 找到如下图所示的chinese(simplified) language pack eap插件安装此插件(点击 Install按钮)

??

???????????安装玩插件,点击Restart IDE,然后点击Restart重启即可。

?? ? ? ??

方法二

? ? ? ? ? 在官方网站下载汉化包

Chinese (Simplified) Language Pack / 中文语言包 - IntelliJ IDEs Plugin | Marketplace (jetbrains.com)https://plugins.jetbrains.com/plugin/13710-chinese-simplified-language-pack----

? ? ? ? ? 在Versions找到自己Clion对应的版本

? ? ? ? 汉化包下载好不用解压,直接拖入到软件的界面中,就可以了。

? ? ? ? 如果找不到对应的汉化包,就是这个版本太老了,已经下架了,只能网上找了。


4、C/C++编译环境配置

? ? ? ?工具链

??????????在Windows上,CLion工具链包括make实用程序、C和c++编译器、调试器可执行程序和?环境。你可以选择一个预定义的工具链设置(MinGW, Cygwin, Microsoft Visual c++,或WSL),远程主机,Docker或配置一个定制的工具链(系统),如下图。

??

? ? ? ?CLion2021.3版本捆绑了一个版本的MinGW工具集,用于快速设置。所捆绑的确切版本MinGW-w64 9.0,包含了c语言、c++、posix线程和seh异常。如果你不需要配置自定义工具,或者不想在系统上安装额外的软件,就下载CLion2021.3版本。

? ? ? ??

????????在CLion2021.3以下版本,可能没有像CLion2021.3一样捆绑MinGW工具集,所以要自己下载和配置,这个过程十分的麻烦。我推荐一个博主的文章给大家。

(3条消息) CLion安装、汉化、激活、配置详解_CHK的博客-CSDN博客_clionhttps://blog.csdn.net/chk218/article/details/83510298

5、Clion的使用

????????输出中文乱码

? ? ? ? ? ? 我在使用clion编写程序的时候会碰见程序输出中文乱码。如下图。

????????????????解决方案如下

? ? ? ? ? ? ? ? 打开clion设置

? ? ? ? ? ? ? ? 打开编译器下的文件编码,调整与下图一致后应用。

?????????????????按下图所示操作

????????转换后问题解决。

????????Clion快捷键

????????熟练使用快键将会对我们编写效率有较大的帮助。

Ctrl + left 						向左箭头 回退 
Ctrl + right						向右箭头 前进 
ALT + 1 							显隐工程栏 
Ctrl + / 							添加或删除注释 
Ctrl + Alt + L 						格式化代码 
Alt + F7 							Find Usages 
Ctrl + R 							替换 
Ctrl + B 							在定义和申明之间跳转 
Ctrl + Shift + Backspace 			回到最后编辑的地方
Ctrl + N 							查找类 
Ctrl + O 							选取需要重写的方法 
Ctrl + F12 							快速查看类成员 
Ctrl + Q 							快速查看文档 
Ctrl + P 							提示参数信息 
Ctrl + H 							查看继承树 
Ctrl + E 							查看最近浏览的文件 
Ctrl + Alt + B 						查看接口、抽象类的实现类
Ctrl + F 							搜索当前文件 注:按Esc,搜索框就会消失 
Ctrl + Shift + F 					搜索整个工程或指定目录 注:连续按两次Esc,搜索框就会消失 
Ctrl + Shift + N 					找文件 
Ctrl + F7 							找到某个类、变量、函数等在文中被使用到的的地方 
Shift + Shift 						全局搜索 
Ctrl + Alt + 7 						查看类、对象、变量使用的地方
Ctrl + Alt + -/+ 					展开折叠当前函数、类 
Ctrl + Shift + -/+ 					展开折叠所有函数、类
Shift + F6 							重新命名变量 
Alt + insert 			添加自动代码生成信息(插入set*()/get*()/构造器、equals、hashcode等) 
Ctrl + Shift + space				提示信息(new后直接键入构造器、构造器内提供构造信息)

????????CMakeLists.txt 语法简单介绍与实例

? ? ? ??

????????CMake是高级编译配置工具,是一个跨平台、开源的构建系统。它是一个集软件构建、测试、打包于一身的软件。它使用与平台和编译器独立的配置文件来对软件编译过程进行控制

????????当一个大型项目,它涉及到大量的文件、这些文件可能是在不同的时间、由不同的人、在不同的地方、用不同的语言分别写的,其中一些是程序,有些是数据等等。?CMake有效地描述这些文件之间的依赖关系以及处理命令,当个别文件改动后仅执行必要的处理,而不必重复整个编译过程,CMake可以大大提高软件开发的效率。

? ? ? ? 假设大型项目就是一辆完整的汽车,那一个大型项目它涉及到大量的文件就是汽车上零件、电子元件、油漆等等。CMake就是汽车工厂,将这些汽车零件、电子元件、油漆等等通过组装、测试、最后出厂。

????????CMake能够输出各种各样的makefile或者project文件。但是随之而来的就是要编写CMakeLists.txt文件,它是CMake所依据的规则。

#在下面例子中,CMakeLists.txt中命令都是使用的小写字母,命令是大小写不敏感的。

#声明要求的cmake最低版本
cmake_minimum_required(VERSION 3.21)

#声明一个工程名字叫C1。如果这个工程是C语言的后面就是C,如果这个工程是C++的后面就是CXX,注意一定是大写,可以省略。
project(C1 C)

#C语言版本为C99,Clion自动生产生成。
set(CMAKE_C_STANDARD 99)

#该C1工程下的文件。
add_executable(C1 main.c hanoi/hanoi.c hanoi/hanoi.h)

? ? ? ?分享两篇文章给大家

? ? ? ? 学习这篇文章的内容,在clion已经够用了?。(3条消息) CLion CMakeList的使用_swust5120171204的博客-CSDN博客_clion的cmakelisthttps://blog.csdn.net/swust5120171204/article/details/118444225?spm=1001.2014.3001.5502? ? ? ?如果大家想更加深入,我推荐这篇文章给大家。???????

Clion的配置文件 CMakeLists.txt 语法介绍与实例 | 织梦先生 (mrdede.com)http://mrdede.com/?p=3754


6、STM32 CLion 环境开发入门

????????为什么使用Clion开发stm32程序

? ? ? ??传统的单片机开发当中,大家都基本上是使用keil这款软件。开发人员习惯在keil上完成程序的编写、编译、下载,然后程序在单片机里面运行。

????????芯片上一个引脚可以有很多个功能,所以在使用一个引脚前就要对这个引脚进行配置。传统的配置引脚,过程非常的繁琐,而且很容易错。

????????意法半导体公司为了改善配置过程繁琐的问题,就推出了STM32CubeMx这款软件。这款软件将繁琐配置过程,以可视化界面和选择的方式进行配置,大大减轻了编程的负担。??????

????????STM32CubeMx使用的是hal库,虽然运行效率没有标准库高,但是更容易去理解。而且意法半导体公司已经停止了标准库的更新,跟着厂家走总是没有错的。

????????STM32CubeMx有个问题,就是不能让我们自己去编写具体的应用,只能把STM32CubeMx配置好的大量东西,写成keil可以识别的文件。我们在keil平台上,在STM32CubeMX配置完的基础上添加要写的具体的应用。

????????意法半导体也意识到这个缺点,做了一个能代替keil软件,叫STM32CubeIDE。它可以直接将STM32CubeMX配置好的东西直接导入,然后直接添加要写的具体的应用。STM32CubeMX与STM32CubeIDE相当于一个东西,实际上是两个东西。STM32CubeIDE在自动提醒、自动补充等等方面比keil好。我使用过keil,要盯着每一个分号,每一个循环,觉得非常累。

????????即便是STM32CubeIDE比keil在编写方面的体验好,我也不推荐大家使用他们。可能做硬件开发的人觉得keil好。但是作为ide角度上,STM32CubeIDE比kei体验非常差。kei把所有编译器蹩脚的地方,全部都实现了一遍。所以我推荐大家使用CLion这款ide,pychram和Intellij IDEA都是非常优秀的ide,作为亲兄弟的Clion也继承它们大部分优点。只要把这个环境搭建完成就很舒服。

????????开发工具下载(以Windows为例

????????gcc-arm-none-eabi安装

? ? ? ? 下载最新版本就好了。

GNU Toolchain | GNU Arm Embedded Toolchain Downloads – Arm Developerhttps://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads

?????????一直点ok、下一步、同意、安装就可以了。

?????????如图所示配置。

? ? ? ? 安装好后检验是否安装成功,用系统的搜索功能,搜索cmd。

????????打开cmd,输入arm-none-eabi-gcc -v。如果是图1那样就安装成功了。如果是图2那样,就做环境变量配置。

图1

图2?

? ? ? ? 环境变量配置流程如下:

????????如果是默认安装路径,打开这个文件。

? ? ?打开bin。

? ? ? ?复制bin这个路径。

? ? ? ?右键我的电脑,点击属性,点击高级系统设置,打开环境变量。

? ? ? ? 双击Path。

? ? ? 新建,将那个路径复制进去,后一直确认。然后打开cmd再试一下,没问题就可以了。

????????STM32CubeMX安装

STM32CubeMX - STM32Cube初始化代码生成器 - STMicroelectronicshttps://www.st.com/zh/development-tools/stm32cubemx.html

????????下载后解压到当前文件夹,双击SetupSTM32CubeMX-6.4.0-Win

?????????打开后,除了下图建议这么选择和文件位置(保证找得到),其他一直下一步就可以了。

?????????完成。

?

????????OpenOCD安装

????????要下载下面链接的那个版本,如果是官方那个版本是无法与gcc-arm-none-eabi联动的。

? ? ? ? 下载后解压,将OpenOCD-20211118-0.11.0拷贝到如何你找得到的地方,然后做环境变量配置。

Download OpenOCD for Windows (gnutoolchains.com)https://gnutoolchains.com/arm-eabi/openocd/

????????环境变量配置流程如下:

? ? ? ? 打开文件中的bin复制路径。

????????右键我的电脑,点击属性,点击高级系统设置,打开环境变量。?

????????双击Path,?新建,将那个路径复制进去,后一直确认。

????????然后打开cmd输入OpenOCD -v,如下图就没问题了。

????????

????????编译环境调试

? ? ? ? 上面我们已经将环境中,编译环境基本搭建完成,接下来我以野火stm32指南者为例。进行测试。

(3条消息) STM32CubeMX的使用教程_RealHero的博客-CSDN博客_cubemx使用icon-default.png?t=M0H8https://blog.csdn.net/wanruiou/article/details/94603429?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164328022416780265459831%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164328022416780265459831&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-94603429.pc_search_insert_ulrmf&utm_term=+STM32CubeMX%E4%BD%BF%E7%94%A8&spm=1018.2226.3001.4187

? ? ? ? 打开STM32CubeMX,可以看到中间蓝色的框,点击第一个选项。

?? ???我使用的是野火stm32指南者,单片机型号为stm32f103ve。

?????????就会出现两选项,区别就是封装不一样,双击需要的。

(3条消息) QFP PQFP LQFP TQFP封装区别!_XL__MAX的博客-CSDN博客_lqfp和qfp封装区别icon-default.png?t=M0H8https://blog.csdn.net/XL__MAX/article/details/88764080

?????????做简单的配置,测试。

????????搞了64MHZ。

????????输出这个模板,点GENERATE COOE。

?????????在Clion打开这个模板,确定就好了。

·????????然后系统会自动弹出选择配置文件的界面,需要选择芯片对应的文件。如果没有就取消,我们手动选择配置文件。

???????????调试单片机程序需要调试器,在 Keil 或者 IAR 等 IDE 中可以通过图形界面选择需要的调试器,但 CLion 本身并没有调试 STM32 的能力,而是要通过 OpenOCD。OpenOCD 则通过调试配置文件确定使用的调试器和目标芯片类型。

???????????打开 OpenOCD 的软件目录?openocd-0.10.0\share\openocd\scripts?(不同版本可能有所差异),可以看到下面三个文件夹:board, interface, target。

board文件夹存储了各家厂商官方开发板的配置文件,如果你使用的是 ST 官方出品的开发板,就可以直接使用其中的调试文件。

interface?文件夹存储了各种调试器的配置文件,包括 cmsis-dap、stlink-v2 等。

target?文件夹则存储了各种芯片的配置文件。

? ????????我这个例子使用的是STM32F1 系列的芯片,手动选择配置文件时,就要在target?文件夹找到stm32f1x.cfg。如果要让程序可以烧录到单片机里,还要自己写配置文件(非常简单,下一段会分享给大家)。?

????????配置完成。

? ? ? ? ?点击编译如果,编译成功生成那几个可以在单片机运行的app,就证明编译环境是没有问题的。

? ? ? ? CMSIS-DAP及openOCD

? ? ? ? 我使用的是CMSIS-DAP烧录器,是不需要安装驱动的。烧录器像J-Link、ST-Link等等就需要安装驱动后才能使用。

? ? ? ? 下面的文章稍微总结了一下市面上常见烧录器的区别,分享给大家。

(3条消息) JLink、STLink、DAPLink、CMSIS DAP使用区别_zhouml_msn的博客-CSDN博客_jlink和stlink哪个好https://blog.csdn.net/zhouml_msn/article/details/105298776

? ? ? ? 现在我们写个配置文件,让程序可以烧录到单片机里。

? ? ? ? 新建一个txt文件,输入下面代码,然后将txt文件修改为cfg就可以了。

# choose st-link/j-link/dap-link etc,这里写使用什么烧录器
adapter driver cmsis-dap

# 使用 swd 调试接口
transport select swd

# 0x10000 = 64K Flash大小(可省略)
set FLASH_SIZE 0x20000

# 目标芯片设定为 STM32F1 系列
source [find target/stm32f1x.cfg]

# 下载速度10MHz(可省略)
adapter speed 10000

? ? ?? 使用不同的烧录器,cmsis-dap将修改成你使用烧录器就好了。使用不同的芯片,根据target?文件夹的配置文件修改stm32f1x.cfg就可以了。

? ? ? ? 重复这个操作,找到那个文件就可以了。

就像这样。

下图,锤子是编译,三角形是烧录,虫子是测试。

?

?我们烧录一下,如果出现下图那样的情况就是烧录成功

到此环境搭建成功

????????环境调试 (GPIO输出)

???????????简单的配置一下。

?

?

? ? ? ? ? ?简单的使能一下。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

?????????简单的烧录一下。

最后的提醒

路径上不要出现Chinese!

路径上不要出现Chinese!

路径上不要出现Chinese!

结束语

????????本人也是一位学生,写这个笔记的过程,就是边学、边做、边分享的过程。我后面可能还会在分享点别的给大家。自学过程中会由于各种原因,文章中不可避免的会出现很多地方解释不到位或者是错误的地方,欢迎大家的指教。

????????这篇笔记中很多内容都在b站up——Pulf_bili和稚晖君分享视频或者文章中获取的,最后再结合我自己实际情况写出来的。最后向这些up主表示感谢,向大家分享这些宝藏up。

Pulf_bili的个人空间_哔哩哔哩_bilibilihttps://space.bilibili.com/434413110

稚晖君的个人空间_哔哩哔哩_bilibilihttps://space.bilibili.com/20259914

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-28 11:42:41  更:2022-01-28 11:43:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:33:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码