Skip to content

工具链 工程配置

RealMan-Shao edited this page Jul 29, 2024 · 6 revisions

前置阅读资料:工具链 概念介绍

工具链安装完毕后,下一步就是在 CLion 中配置工程。以下内容适用于 Mac 和 Win。

由于 CLion 的工程配置存在于本地,没有被纳入版本控制,故每次 clone、复制工程都可能需要重新配置。

请确保使用最新的 Meta-Embedded 工程文件。

使用 CLion 打开工程

请直接使用 git clone 克隆工程,因为之后需要全部使用 git 管理代码。

由于 CMakeLists.txt 现已支持自动配置编译器,因此即使不在 CLion Preference 中配置工具链也是可以的。加载 CMakeLists 时,提示信息应如下图所示,请确认使用的是 ARM-NONE-EABI 的编译器:

image

若cmake加载过程中出现以下错误,请确认使用的Generator为Unix:

需要注意的是,默认开发板是 RM Board 2018,请参考 CMake 进阶配置 了解如何使用 CMake Profile 选定目标开发板。

如果需要重新加载 CMake ,可通过 Tools - CMake - Reset Cache and Reload Project.

IMAGE

在 CLion 中配置 Targets

CLion 2019.1 开始内置支持 OpenOCD,可以设置快捷的程序烧录、远程 GDB 等。

下拉菜单中选择 Edit Configurations(图中 ARM-Debug-2018-A-Board 和 ARM-Debug-2017-Board 是针对不同开发板的 Profile,参考 CMake 进阶配置,根据需求配置即可,具体名称可能不同)。

点击左上角 “+”,选择 “OpenOCD Download & Run” 类型的 Configuration。

在新建的配置中:

  • 选择对应的 Target,如本例中选择的是 INFANTRY_FIVE
  • 选择对应的 OpenOCD 配置文件 cfg,在 config 目录下。
    • RM_Board_Mac.cfg 和 RM_Board_Win.cfg 的命名属于历史遗留问题...区别只在与其中的第一行,使用 OpenOCD 内置的 stlink-V2.cfg 或者 stlink.cfg,是 OpenOCD 版本不同导致的,和系统没有必然联系,选择可用的、不报错的即可。
  • Download:在什么情况下烧录程序
    • Always:每次运行都烧录程序
    • Updated Only:若程序重新编译过则烧录程序
    • None:不自动烧录程序
  • Reset:烧录程序后执行什么操作
    • Run:直接运行(还没有搞清楚和 Init 的区别...),可能会导致一些比较早的断点无法命中。
    • Init:初始化并运行
    • Halt:烧录后自动 Halt,等待手动运行。
    • None:不 Reset,用于调试正在运行的程序

尝试编译

选择一个 Target,点击左侧按钮进行编译。初次编译,建议尝试闪灯程序 ut_blink。

编译成功则会有类似如下结果:

尝试运行

点击运行,如果此时程序没有连接开发版,会有类似这样的提示:

IMAGE

但不会出现诸如找不到文件之类的错误。

如果上传成功,会有类似这样的提示: IMAGE

下一步

至此,你的工具链已经能够实现程序编译、烧录了。下一步:

更新历史

  • 2019.8.21 从工具链安装文档中分离。liuzikai
  • 2021.07.07 更新工具链系列文档顺序。liuzikai
  • 2022.01.17 将 Meta-Infantry 修改为 Meta-Embedded。liuzikai
  • 2023.04.08 增加Clion默认使用ninja为Generator的注释。Tianyi Han
Clone this wiki locally