| |
|
开发:
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为例)
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为例)
????????我觉得这位博主写的很好,分享给大家。 ????????自动出现下图申请成功的标志。 ????????申请好后,用该邮箱注册的账号去登录软件,就可以免费使用。 ????????使用限期是一年,并且可以续订到毕业为止。
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重启即可。 ?? ? ? ?? 方法二? ? ? ? ? 在官方网站下载汉化包 ? ? ? ? ? 在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快捷键????????熟练使用快键将会对我们编写效率有较大的帮助。
????????CMakeLists.txt 语法简单介绍与实例? ? ? ?? ????????CMake是高级编译配置工具,是一个跨平台、开源的构建系统。它是一个集软件构建、测试、打包于一身的软件。它使用与平台和编译器独立的配置文件来对软件编译过程进行控制 ????????当一个大型项目,它涉及到大量的文件、这些文件可能是在不同的时间、由不同的人、在不同的地方、用不同的语言分别写的,其中一些是程序,有些是数据等等。?CMake有效地描述这些文件之间的依赖关系以及处理命令,当个别文件改动后仅执行必要的处理,而不必重复整个编译过程,CMake可以大大提高软件开发的效率。 ? ? ? ? 假设大型项目就是一辆完整的汽车,那一个大型项目它涉及到大量的文件就是汽车上零件、电子元件、油漆等等。CMake就是汽车工厂,将这些汽车零件、电子元件、油漆等等通过组装、测试、最后出厂。 ????????CMake能够输出各种各样的makefile或者project文件。但是随之而来的就是要编写CMakeLists.txt文件,它是CMake所依据的规则。
? ? ? ?分享两篇文章给大家 ? ? ? ? 学习这篇文章的内容,在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安装? ? ? ? 下载最新版本就好了。 ?????????一直点ok、下一步、同意、安装就可以了。 ?????????如图所示配置。 ? ? ? ? 安装好后检验是否安装成功,用系统的搜索功能,搜索cmd。 ????????打开cmd,输入arm-none-eabi-gcc -v。如果是图1那样就安装成功了。如果是图2那样,就做环境变量配置。 图1 图2? ? ? ? ? 环境变量配置流程如下: ????????如果是默认安装路径,打开这个文件。 ? ? ?打开bin。 ? ? ? ?复制bin这个路径。 ? ? ? ?右键我的电脑,点击属性,点击高级系统设置,打开环境变量。 ? ? ? ? 双击Path。 ? ? ? 新建,将那个路径复制进去,后一直确认。然后打开cmd再试一下,没问题就可以了。 ????????STM32CubeMX安装????????下载后解压到当前文件夹,双击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指南者为例。进行测试。 ? ? ? ? 打开STM32CubeMX,可以看到中间蓝色的框,点击第一个选项。 ?? ???我使用的是野火stm32指南者,单片机型号为stm32f103ve。 ?????????就会出现两选项,区别就是封装不一样,双击需要的。 ?????????做简单的配置,测试。 ????????搞了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等等就需要安装驱动后才能使用。 ? ? ? ? 下面的文章稍微总结了一下市面上常见烧录器的区别,分享给大家。 ? ? ? ? 现在我们写个配置文件,让程序可以烧录到单片机里。 ? ? ? ? 新建一个txt文件,输入下面代码,然后将txt文件修改为cfg就可以了。
? ? ?? 使用不同的烧录器,cmsis-dap将修改成你使用烧录器就好了。使用不同的芯片,根据target?文件夹的配置文件修改stm32f1x.cfg就可以了。 ? ? ? ? 重复这个操作,找到那个文件就可以了。 就像这样。 下图,锤子是编译,三角形是烧录,虫子是测试。 ? ?我们烧录一下,如果出现下图那样的情况就是烧录成功 到此环境搭建成功 ????????环境调试 (GPIO输出)???????????简单的配置一下。 ? ? ? ? ? ? ? ?简单的使能一下。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?????????简单的烧录一下。 最后的提醒 路径上不要出现Chinese! 路径上不要出现Chinese! 路径上不要出现Chinese! 结束语????????本人也是一位学生,写这个笔记的过程,就是边学、边做、边分享的过程。我后面可能还会在分享点别的给大家。自学过程中会由于各种原因,文章中不可避免的会出现很多地方解释不到位或者是错误的地方,欢迎大家的指教。 ????????这篇笔记中很多内容都在b站up——Pulf_bili和稚晖君分享视频或者文章中获取的,最后再结合我自己实际情况写出来的。最后向这些up主表示感谢,向大家分享这些宝藏up。 Pulf_bili的个人空间_哔哩哔哩_bilibilihttps://space.bilibili.com/434413110 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |