Clion STM32CubeMX 项目

系列文章目录

 


前言

最后修改 2024 年 4 月 16 日

操作系统:Windows / Linux / macOS

所需工具 STM32CubeMX、GNU ARM 工具链

项目格式: CMake

兼容配置: OpenOCD 运行与调试/嵌入式 GDB 服务器

        对于以 STM32 板卡为目标的嵌入式项目,CLion 与 STM32CubeMX 集成。

        您可以将 CubeMX 生成的 .ioc 文件作为项目打开,CLion 将自动创建 CMake 项目结构。您也可以从头开始一个新项目--向导将帮助您在 CubeMX 中进行配置。

        CLion 中的 STM32CubeMX 支持是捆绑的 OpenOCD + STM32CubeMX 插件的一部分。因此,项目设置和项目创建过程的某些步骤与 OpenOCD 相关联。不过,STM32CubeMX 项目并不仅限于与 OpenOCD 一起使用:您也可以设置更通用的嵌入式 GDB 服务器运行/调试配置。在后一种情况下,请忽略项目设置中与 OpenOCD 相关的设置和步骤。

目前不支持以下电路板配置: STM32MP1、

双核 STM32H7 和启用 TrustZone(R) 的 STM32L5。


 

一、所需工具

1.1 STM32CubeMX

        CubeMX 是一款图形工具,可帮助配置 STM32 微控制器并生成相应的 C 代码。在 CubeMX 中,您可以设置 CPU 和外设,调整频率和引脚模式。它会生成一个存根项目,然后由 CLion 将其转换为 CMake 项目。

1.2 GNU ARM 工具链

        GNU ARM 工具链是一套跨平台工具,可在桌面上启动,而构建结果只能在目标 ARM MCU 环境中运行。

        要让 CLion 检测到工具链,系统路径(PATH)中应包含该工具链。您可以通过在命令行中运行 arm-none-eabi-gcc 进行检查,系统应能识别该命令。

  • 在 Linux 和 macOS 上,请确保工具链路径位于 ~/.profile 中(而非 ~/.bash_profile 或 ~/.zprofile 等特定于 shell 的配置文件中)。
  • 在 Windows 中,切换到系统工具链(推荐)。或者,也可以使用 MinGW / MinGW-w64 环境。

        在 "设置"|"构建、执行、部署"|"嵌入式开发 "中,您可以检查是否正确检测到 CubeMX 的位置,并根据需要手动设置路径。如果不打算使用 OpenOCD,请将 OpenOCD 位置字段留空。

二、从 .ioc 文件打开项目

        如果您已经有一个包含 .ioc 文件的项目,请调用文件 | 打开,选择 .ioc 文件,然后选择打开为项目。CLion 将自动生成 CMake 项目结构。

检查 .ioc 文件名是否包含空格、非拉丁符号或其他特殊字符。

三、创建新项目

在 Apple Silicon (M1, M2) 机器上,CLion 的 STM32CubeMX 项目向导存在一个已知问题。作为一种变通方法,可以考虑在 STM32CubeMX 应用程序中创建项目,然后如上所述在 CLion 中打开它。

        对于新项目,您有两种选择:a)在 CubeMX 中配置 MCU 并生成代码,然后在 CLion 中打开 .ioc 文件;或者 b)按照下面的方法从头开始创建一个项目。

  1. 转到文件 | 新项目,选择 STM32CubeMX 作为项目类型。CLion 将为默认的 STM32F030F4 MCU 创建 .ioc 文件:81acfe4b158e44dc84cbf98825b55565.png.ioc 文件是包含静态初始化设置的 CubeMX 原始项目文件。在 CLion 中,该文件是只读文件,在当前步骤中,它是下一步将在 CubeMX 中设置的配置的占位符。
  2. 现在,您需要切换到 CubeMX 来生成项目源并填充 .ioc 文件。单击 "Open with STM32CubeMX(用 STM32CubeMX 打开)"链接,从 CLion 打开 CubeMX。

  3.  

    在 CubeMX 中,已为新创建的项目设置了配置。单击 STM32F030F4Px,调用 MCU/板选择器并更改默认 MCU:

    b8ba5107dc454a4fa7de0ac8c9875424.png

     

    更换 MCU 时,CubeMX 会重置项目名称。在项目管理器中手动提供名称,然后接受覆盖项目的建议。

    硬件配置准备就绪后,检查工具链/IDE 字段是否设置为 STM32CubeIDE,并选择在根目录下生成,然后单击生成代码:a8e21c6b867844d9a5e9edf82b2565c0.png

  4. 如果不打算使用 OpenOCD,请跳过这一步(点击取消)。

    回到 CLion,当 CMake 项目加载完成后,系统会提示您选择一个电路板配置文件。建议列表包括 OpenOCD 随附的电路板配置文件,它们位于 Openocd-Installation/share/openocd/scripts/board 中:e8af26cc6e334ad7b52c0a05c0edd0d0.png

    您还可以在以后的 OpenOCD 运行/调试配置设置中选择电路板配置文件,包括自定义配置文件。

    点击 Copy to Project & Use(复制到项目并使用),选中的电路板配置文件将被添加到项目树中。您可以在编辑器中打开并调整该文件。

四、编辑源代码

        在 CubeMX 中更改 MCU 配置并单击 "生成代码 "时,CLion 项目会自动更新:b86d0617e49643f69c872f4f3c764a2b.png

         您也可以手动更新项目:右键单击项目视图中的 .ioc 文件,然后选择使用 STM32CubeMX 更新 CMake 项目。

        在编辑 CubeMX 生成的文件时,请始终将代码括在 /* 用户代码 BEGIN ... */ 和 /* 用户代码 END ... 中。*/ 和 /* 用户代码结束 ... */ 伪注释。这将防止代码再生时被 CubeMX 覆盖。此外,考虑将代码片段提取到单独的 .c 或 .h 文件中(参见下一点)。

        如果您添加了源文件或头文件,请将它们放在 Src 和 Inc 目录中。

        每次更新项目时,CLion 都会从模板中重新生成 CMakeLists.txt。如果需要更改 CMake 脚本(例如,添加外部库或 FPU 支持),请在 CMakeLists_template.txt 中进行更改,然后调用 "使用 STM32CubeMX 更新 CMake 项目"。

五、构建项目

        要构建项目,请使用以下选项之一:

        运行或调试 OpenOCD 或嵌入式 GDB 服务器配置。这两种配置都将 "构建 "作为 "启动前 "步骤:

793f8c490ad64f56969166a756e27d7a.png

        使用 "构建 "操作手动构建项目。

 

  • 17
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值