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++ 跨平台 IDEicon-default.png?t=N7T8https://www.jetbrains.com/zh-cn/clion/

2、具体流程

打开安装包

一直点击Next。

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

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

默认选项即可。

等待安装即可。


 2、Clion激活(以Windows为例)

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

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

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

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

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

  • 方法二:钞能力

JetBrains Toolbox 的月度和年度计划icon-default.png?t=N7T8https://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)icon-default.png?t=N7T8https://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博客_clionicon-default.png?t=N7T8https://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的cmakelisticon-default.png?t=N7T8https://blog.csdn.net/swust5120171204/article/details/118444225?spm=1001.2014.3001.5502       如果大家想更加深入,我推荐这篇文章给大家。 ​​​​​​

Clion的配置文件 CMakeLists.txt 语法介绍与实例 | 织梦先生 (mrdede.com)icon-default.png?t=N7T8http://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 Developericon-default.png?t=N7T8https://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初始化代码生成器 - STMicroelectronicsicon-default.png?t=N7T8https://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)icon-default.png?t=N7T8https://gnutoolchains.com/arm-eabi/openocd/

        环境变量配置流程如下:

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

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

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

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

        

        编译环境调试

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

(3条消息) STM32CubeMX的使用教程_RealHero的博客-CSDN博客_cubemx使用icon-default.png?t=N7T8https://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=N7T8https://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哪个好icon-default.png?t=N7T8https://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的个人空间_哔哩哔哩_bilibiliicon-default.png?t=N7T8https://space.bilibili.com/434413110

稚晖君的个人空间_哔哩哔哩_bilibiliicon-default.png?t=N7T8https://space.bilibili.com/20259914

  • 22
    点赞
  • 95
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值