草庐IT

clion

阿布布啊 2023-08-11 原文

Clion源码编辑器的学习与实践基于STM32F103点亮LED灯

一、Clion的下载与安装

1.Clion介绍

  • Clion 是一款专门开发 C 以及 C++ 所设计的跨平台的 IDE。它是以 IntelliJ 为基础设计的,包含了许多智能功能来提高开发人员的生产力。
  • 这种强大的 IDE 帮助开发人员在 Linux、OSX 和 Windows 上来开发 C/C++ ,同时它还能使用智能编辑器来提高代码质量、自动代码重构并且深度整合 Cmake 编译系统,从而提高开发人员的工作效率。
  • CLion 支持 GCC、clang、MinGW、Cygwin 编译器以及 GDB 调试器。提供对 Cmake 支持:包含自动处理 Cmake changes 和 Cmake Targets,更新新创建的 C/C++ 档案以及 Cmake Cache 编辑器。

2、Clion的下载

注:一定要下载最新版本的clion,旧的版本可能没法使用cube生成工程

3、Clion的安装

  • 安装环境:Windows10 64 位

  • 双击打开下载好的exe文件

  • 选择安装目录,点击 Next

  • 选中以下选项,点击 Next

  • 点击 Install,开始安装

  • 等待安装

  • 选择暂时不重启,点击 Finish

4、Clion的环境配置

配置 MinGW

配置 OpenOCD

  • 官网下载:https://gnutoolchains.com/arm-eabi/openocd/
  • settings...下设置Embedded Development;当点击test的时候出现的提示为绿色的时候便说明设置成功
  • 添加环境变量
    gcc-arm-none-eabi 路径下bin文件夹;
    Openocd路径下bin文件夹;
    MinGW路径下bin文件夹;
  • 检验是否安装成功
    cmd输入以下命令:
    gcc -v
    arm-none-eabi-gcc -v
    openocd -v

    有输出则表明输出成功。

二、基于Clion点亮LED

  • 创建工程:选择 STM32CubeMX ,填写好项目要保存的路径,点击 Create 即可

  • 等待调用 STM32CubeMX

  • 工程创建好后,点击 Open with STM32CubeMX,进入 CubeMX

  • 打开之后,点击左上角的如图位置,进入芯片选择

  • 选择使用 STM32F103C8,之后点击 Start Porject 开始配置

  • 配置 SYS

  • 配置 RCC

  • 配置引脚:设置 PC13 引脚为 GPIO_Output 来点亮 LED 灯。

  • 配置串口 USART1

  • 工程文件生成设置
    Project Name 需重新填写(因为换芯片的过程,其实是 Cube 新建了一个 ioc 文件),建议填写之前的工程名和文件目录,这样就可以把之前不想要的那个 .ioc 文件覆盖掉。Toolchain/IDE选择 SW4STM32;

  • 配置 CLion 工程文件

  • 选择 st_nucleo_f103rb.cfg 文件:

  • Core/Src/main.c添加翻转电平代码:

while (1)
  {
    /* USER CODE END WHILE */
      HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);
      HAL_Delay(1000);
    /* USER CODE BEGIN 3 */
  }

  • 烧录运行效果

三、总结

下载安装配置clion的一整过程比较复杂,环境配置的时候极其需要注意,如果有一个地方配置出来,连工程文件都没法生成,后面正式的工作就无法开展起来了。而且由于是第一次使用Clion这个软件,不太熟悉一些操作,中间出现了一些奇奇怪怪的问题,但最后被一一解决了,以后多加练习使用Clion就会好很多了的。

参考资料

CLion2021 的详细安装并基于 CLion 实现 stm32F103 点亮 LED
基于clion下与stm32cubemx点亮LED

有关clion的更多相关文章

  1. c - 增加 Clion 中 C 程序的堆栈大小 - 2

    如何为具有深度递归调用的C程序增加堆栈的最大大小?项目是否有任何配置可以指定可执行文件的堆栈或堆大小? 最佳答案 我通过在项目的CMakeList.txt中添加以下链接器标志解决了这个问题MATH(EXPRstack_size"16*1024*1024")#16Mbset(CMAKE_EXE_LINKER_FLAGS"-Wl,--stack,${stack_size}") 关于c-增加Clion中C程序的堆栈大小,我们在StackOverflow上找到一个类似的问题:

  2. c++ - CLion 不识别 Cygwin 编译器 - 2

    我最近在Windows10专业版上安装了CLion,我需要安装Cygwin2.5.2才能使用它。我已完成此answer中列出的所有步骤,但似乎没有任何效果。我用gcc、g++和make安装了Cygwin,并在CLion中引用了它。下面是我的Cygwin\bin\文件夹,其中选择了编译器。我还知道您需要将Cygwinpath\bin添加到环境变量PATH中,我已经这样做了:但是CLion仍然无法识别bin文件夹中的任何内容:为什么会这样? 最佳答案 我遇到了同样的问题,这是因为即使我按照文档所说安装了gcc-core和gcc-g++,

  3. c++ - Clion 的 "Call to std::pair is ambiguous"但可以编译代码 - 2

    我有一个函数可以在这种状态下编译,但给出“配对调用不明确”,但仅在ClionIDE中,编译没有问题,如果我添加任何随机的东西,警告就会消失,即使它最终导致编译器错误。std::pair>Config::foo(conststd::string&sec,conststd::string&key)const{returnstd::pair>(hasSection(sec)?(hasKey(sec,key)?Status::Success:Status::MissingKey):Status::MissingSec,hasKey(sec,key)?config_map.find(sec)->

  4. c++ - 编译时 CLion 卡住 - 2

    我试图在cLion上运行一个基本的helloworld,但是当我运行该应用程序时它卡住完成。这是一个屏幕截图,您可以看到控制台和代码。这里是我用于编译器、CMake和GDB的版本我尝试使用cygwin64,但他们的GDB版本是7.7x,与cLion不兼容,他们需要1.8.x 最佳答案 尝试禁用防病毒软件或为您的程序添加异常(exception);发生的情况是防病毒软件认为您的程序是病毒,因为它是刚刚创建并运行的可执行文件。Avast在这方面尤其臭名昭著。 关于c++-编译时CLion卡住

  5. c++ - cmake 中的 Clion 多个调试配置 - 2

    我有一个带有qt-gui和命令行版本的项目。我有gui和非gui版本的发布和调试配置。我想在gui和非gui版本中为调试配置使用不同的名称。但是,当配置的名称与Debug不同时,调试不起作用,它的行为类似于发布版本。有没有可能有多个调试配置,每个都有不同的名称? 最佳答案 请注意,如果您单击“调试”配置,以下提示将显示在“CMake选项”下方:-DCMAKE_BUILD_TYPE=Debugwillbepassedautomatically因此,当您使用不同的名称创建自己的配置时,您应该尝试将-DCMAKE_BUILD_TYPE=D

  6. c++ - 如何在 CLion 中显示 C++ 的参数名称提示? - 2

    我知道Ctrl/Cmd+P可以显示参数的弹出窗口,但这不是我要找的。我正在寻找参数名称提示(可以在Preferences>Editor>General>Appearance中找到),但正如我所见,它们仅适用于TypeScript(在C++IDE上???)。如何为C++启用此功能?附言这是IntelliJIDEAonJava的屏幕截图。(发现于thisquestion) 最佳答案 在2019.2中添加了C++的类型提示。默认启用,在外观->显示参数名称提示中禁用。 关于c++-如何在CLi

  7. c++ - 如何在 CLion 中同时运行多个调试器? - 2

    我在CLion中运行一个大型项目,其中包含10个小型项目。每个小项目都有一个主要功能。这些小项目应该按顺序运行,比如a->b->c->d->...以确保大项目正常运行。目前,当我尝试调试这个大项目时,我必须依次手动启动每个小项目的调试session,这很烦人。我的问题是,有什么方便的方法可以一键自动为我启动这些小项目的调试过程吗? 最佳答案 在运行/调试配置中使用“启动前”来添加依赖项目。来自CLionwebhelp:BeforeLaunchSpecifywhichtasksmustbeperformedbeforeapplying

  8. c++ - 在 macOS 上的 CLion 中导入 Bazel 项目失败 - 2

    我在我的CLion上安装了Bazel插件并尝试导入一个新的BazelC++项目,但我一直遇到这些错误-tensorflow_gpu-1.8.0lft1-cp27-cp27mu-linux_x86_64.whl在此平台上不受支持。ERROR:errorloadingpackage'':Encounterederrorwhilereadingextensionfile'requirements.bzl':nosuchpackage'@my_deps//':Traceback(mostrecentcalllast):File"/private/var/tmp/_bazel_pmanjunat

  9. c++ - 如何停止 Clion tab 键行为 - 2

    当在像下面这样的C++代码行上时aType.aMethod(std::make_shared();^^^^^--Presstabhere)Clion试图移动到下一个参数(我猜),但作为唯一的参数,它无处可去。我想让选项卡只插入字符(制表符或空格),而不是尝试在方法参数之间循环光标。有没有办法停止这种替代功能?没找到设置|编辑器|CodeStyle|C/C++谢谢 最佳答案 "Trychangingthe"Nextparameter"and"Previousparameter"keybindingstosomethingelsetha

  10. c++ - Google Test with CLion 未运行测试 - 2

    我正在尝试使用googletest和CLion运行一个简单的测试。我认为我已经正确设置了cmake,并且能够“运行测试”。当我这样做时,它说没有找到测试。有任何想法吗?CMakeLists.txtcmake_minimum_required(VERSION3.7)project(expirement)find_package(ThreadsREQUIRED)set(CMAKE_CXX_STANDARD14)set(SOURCE_FILESmain.cppgetstring.cpptests.cpp)include(${CMAKE_ROOT}/Modules/ExternalProjec

随机推荐