嵌入式开发

了解如何为不同硬件类型和工具链配置 CLion,以及如何在芯片上进行调试。

GDB 服务器

使用 GDB 服务器进行在线调试 (On-Chip debugging)

如果可以在 GDB 服务器上调试您选择的微控制器,您则可以通过 CLion 使用特殊的 嵌入式 GDB 服务器(Embedded GDB Server) 运行/调试配置。 它支持 OpenOCD、ST-Link GDB Servers、Segger J-Link GDB Server、QEMU 和很多其他具体的 GDB 服务器。

向导有助于创建嵌入式 GDB 服务器运行配置,预定义的 GDB 服务器实参对应于向导设置中所选的 GDB 服务器类型。

OpenOCD

Open On-Chip 调试器

CLion 支持使用 Open On-Chip 调试器进行调试。 使用新的运行/调试配置模板,“OpenOCD 下载和运行 (OpenOCD Download and Run)” 来调试微控制器。

如果在 CLion 中使用 STM32CubeMX 项目,将自动创建一个 OpenOCD 运行/调试配置。

详细了解 STM32CubeMX 和 OpenOCD 集成

FreeRTOS 线程视图

RTOS 集成

如果您是在 CLion 中使用 RTOS 调试应用程序,现在可以使用带有任务列表的视图。 您可以切换到感兴趣的任务,探索任务变量,等等。 FreeRTOS, Zephyr, and Azure RTOS are supported.

外设

ARM 设备的外设视图

在线调试时,能够查看外设至关重要。 在 CLion 中,该视图现在可用于两类运行/调试配置: 嵌入式 GDB 服务器 (Embedded GDB Server)OpenOCD 下载和运行 (OpenOCD Download & Run)。 在这两种情况下,开始调试时,调试工具窗口中会出现 Peripherals 标签页。 为您的面板选择合适的 .svd 文件,并选择需要查看的有效外设。

了解详情

PlatformIO

PlatformIO

PlatformIO 是一个开源平台,可以帮助嵌入式开发者处理项目。 要在您的嵌入式项目中利用它,请使用 PlatformIO for CLion 插件,这会:

  • 将 PlatformIO 项目类型添加到 New Project 向导。
  • 直接使用 platformio.ini 文件,跟踪其中的更改并相应地更新项目信息。
  • 为调试和上传自动创建配置。
  • 允许在线通过 PIO 统一调试器在 CLion 中进行调试。
  • 在 PlatformIO 工具窗口中快速访问最常用的命令和项目操作。
IAR

IAR 工具链

如果您在嵌入式项目中使用 IAR 编译器/工具链,现在在 CLion 中就可以使用。 使用 IAR 工具链的项目可以成功加载并在 CLion 中运行。

注意以下几点:

  • 需要 MinGW。
  • 建议将 Ninja 作为 CMake 生成器。
  • 有关在 IAR Embedded Workbench 上使用 CMake 的一些技巧
自定义编译器

自定义编译器

使用自定义编译器或 CLion 尚不原生支持的编译器是嵌入式开发中的常见情况。 可以通过一种方式向 CLion 描述有关编译器的所有必要信息,并像原生支持一样使用编译器。

使用 Settings | Build, Execution, Deployment | Toolchains | Custom Defined Compiler(设置 | 构建、执行、部署 | 工具链 | 自定义编译器)启用自定义编译器,并提供包含您的自定义编译器定义的 *.yaml 文件。 请参见 CLion 团队为您准备的示例配置

MISRA

MISRA C 和 C++

CLion 为 MISRA C 2012MISRA C++ 2008(在嵌入式开发中,尤其是在汽车行业中广泛使用的准则)提供了部分支持。 这种支持可在开发周期的早期揭示不兼容之处,从而加快此类项目的开发速度。 CLion 的 Confluence 页面上提供了当前支持的检查列表。

STM32CubeMX

STM32CubeMX 集成

如果您在开发 STMicroelectronics 面板,您会非常高兴知道 CLion 现在与 STM32CubeMX 集成:

  • CLion 可以新建 .ioc 项目或打开现有项目,并且生成一个 CMake 文件与其一起工作。
  • 您可以随时从 CLion 启动 STM32CubeMX,以更新面板设置和生成代码。
  • CLion 提醒您选择面板配置并在 UI 中提供推荐选项列表。