目录
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/zh-cn/clion/
2、具体流程
打开安装包
一直点击Next。
安装路径尽量不要在c盘,并且尽量以英文字母命名,记住安装路径。
这里是是否创建快捷方式,设置绑定文件后缀,可以全选。
默认选项即可。
等待安装即可。
2、Clion激活(以Windows为例)
-
方法一:jb官网的免费教育许可证
我觉得这位博主写的很好,分享给大家。
IDEA 学生 免费教育许可证 领取教程https://blog.csdn/ddd4051/article/details/119574195 申请成功免费教育许可证,将会在该申请的邮箱注册jb账号的个人中心,
自动出现下图申请成功的标志。
申请好后,用该邮箱注册的账号去登录软件,就可以免费使用。
使用限期是一年,并且可以续订到毕业为止。
-
方法二:钞能力
JetBrains Toolbox 的月度和年度计划https://www.jetbrains/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)https://plugins.jetbrains/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/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/swust5120171204/article/details/118444225?spm=1001.2014.3001.5502 如果大家想更加深入,我推荐这篇文章给大家。
Clion的配置文件 CMakeLists.txt 语法介绍与实例 | 织梦先生 (mrdede)http://mrdede/?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/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/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)https://gnutoolchains/arm-eabi/openocd/
环境变量配置流程如下:
打开文件中的bin复制路径。
右键我的电脑,点击属性,点击高级系统设置,打开环境变量。
双击Path, 新建,将那个路径复制进去,后一直确认。
然后打开cmd输入OpenOCD -v,如下图就没问题了。
编译环境调试
上面我们已经将环境中,编译环境基本搭建完成,接下来我以野火stm32指南者为例。进行测试。
(3条消息) STM32CubeMX的使用教程_RealHero的博客-CSDN博客_cubemx使用https://blog.csdn/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封装区别https://blog.csdn/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/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/434413110
稚晖君的个人空间_哔哩哔哩_bilibilihttps://space.bilibili/20259914
更多推荐
Clion使用笔记(C语言、C++、stm32)
发布评论