CLion
备注
本指南介绍如何利用 CLion 的 CMake 集成,设置、构建和调试 Zephyr 示例应用。这已不再是最佳方式。
CLion 现已提供 native Zephyr West integration,可以更简单、直观地打开、构建、运行和调试 Zephyr 项目。本指南将尽快更新;如果你更喜欢使用 CMake,以下方法仍然有效。
CLion 是跨平台 C/C++ IDE,支持多线程 RTOS 调试。
本指南介绍在 CLion 中设置、构建和调试 Zephyr Basic thread manipulation 示例的过程。
这些说明已在 Windows 上测试。macOS 和 Linux 上的 CLion 工作流程相同,但请选用正确的环境文件,并调整路径。
获取 CLion
通过 Download CLion 下载安装。
初始化新工作区
本指南详细说明如何构建和调试 Basic thread manipulation 示例,其他 Zephyr 项目和 工作区布局 也可采用类似步骤。
开始之前,请按照 入门指南 确保 Zephyr 开发环境正常工作。
在 CLion 中打开项目
在 CLion 欢迎页面点击 Open,或在主菜单选择 。
进入 Zephyr 工作区;如果遵循入门指南,它位于 HOME 目录中的
zephyrproject。然后选择zephyr/samples/basic/threads或其他示例项目目录。点击 OK。
如果出现提示,点击 Trust Project。
项目安全性的更多信息,见 CLion 在线帮助的 Project security 一节。
配置工具链和 CMake 配置
CLion 会打开含有 CMake 配置设置的 Open Project Wizard。如果未打开,请进入 。
配置调试所需的 Zephyr 参数
在右上角的配置切换器中选择 guiconfig,点击锤子图标。
使用图形界面应用设置以下标志:
DEBUG_THREAD_INFO THREAD_RUNTIME_STATS DEBUG_OPTIMIZATIONS
构建项目
在配置切换器中选择 zephyr_final,点击锤子图标。
此时也可以调用 puncover、hardenconfig 等其他 CMake 目标。
启用 RTOS 集成
进入 。
勾选 Enable RTOS Integration。
此选项使调试期间可以查看 Zephyr 任务。详情见 CLion 在线帮助中的 Multi-threaded RTOS debug。
可以保持 Auto 设置,CLion 会自动检测 Zephyr。
创建 Embedded GDB Server 配置
在 CLion 中调试 Zephyr 应用,需要基于 Embedded GDB Server 模板创建运行/调试配置。
以下说明以 Nordic Semiconductor 开发板和 Segger J-Link 调试探针为例。如果你的环境不同,请相应调整配置。
在主菜单选择 。
配置以下设置:
选项
值
Name (可选)
Zephyr-threads
GDB Server Type
Segger JLink
Location
Windows 上
JLinkGDBServerCL.exe的路径,或 macOS/Linux 上JLinkGDBServer二进制文件的路径。Debugger
Bundled GDB
备注
对于非 ARM、非 x86 架构,使用 Zephyr SDK 中的 GDB 可执行文件。请选用支持 Python 的版本,例如 riscv64-zephyr-elf-gdb-py,并检查系统
PATH中存在 Python。Target
zephyr-final
Executable binary
zephyr-final
Download binary
Always
TCP/IP port
Auto
点击 Next,设置 Segger J-Link 参数。
准备就绪后点击 Create。
开始调试
点击代码行左侧边栏,设置断点。
确保配置切换器中选择了 Zephyr-threads,然后点击虫子图标或按 Ctrl+D。
命中断点后,CLion 会打开 Debug 工具窗口。
Zephyr 任务列在 Threads & Variables 面板中,可以在任务间切换并查看各自变量。
IDE 调试功能的详细说明,参见 CLion web help。