讲师中心 微信公众号
AI工具推荐 视频效率加速

CLion如何配置嵌入式编译器

小婷同学_3193

小婷同学_3193

发布时间:2026-09-10 09:37:03

|

609人浏览过

|

来源于php中文网

原创

CLion嵌入式开发必须使用arm-none-eabi-gcc交叉编译器并配置对应Toolchain和CMake参数,否则生成x86可执行文件;需手动指定编译器路径、设置CMAKE_SYSTEM_NAME=Generic等参数,并确保gdb与gcc版本一致,修改后必须Reload CMake project。

clion如何配置嵌入式编译器

CLion 里必须用 arm-none-eabi-gcc,不能用系统 gcc

CLion 默认会找系统 PATH 里的 gcc,但嵌入式开发必须用 ARM 交叉编译器,否则生成的是 x86 可执行文件,根本烧不进单片机。关键不是“能不能编译过”,而是“编译出的东西能不能跑在 Cortex-M 上”。

常见错误现象:arm-none-eabi-gcc 命令在终端能运行,但在 CLion 里 CMake 报错说找不到编译器;或者 CMake 配置成功了,但最终生成的 .elf 文件 size 很小(比如只有几 KB),且 file firmware.elf 显示是 “ELF 64-bit LSB pie executable, x86-64”,这就彻底错了。

  • 确认 arm-none-eabi-gcc 已加入系统 PATH:cmd 或 PowerShell 中执行 arm-none-eabi-gcc --version,有输出才代表可用
  • CLion 中进入 Settings > Build, Execution, Deployment > Toolchains,点加号新增工具链,命名为 “ARM”
  • C Compiler 填 arm-none-eabi-gcc,C++ Compiler 填 arm-none-eabi-g++,Debugger 填 arm-none-eabi-gdb
  • 务必点击右侧文件夹图标,手动定位到你安装的工具链 bin 目录下对应可执行文件(不要依赖 PATH 自动查找,CLion 有时会缓存旧路径)

CMake Profile 必须显式指定交叉编译参数

只配 Toolchain 不够,CMake 还得知道“这不是给电脑编的”。很多项目一上来就编译出 host 可执行文件,就是因为 CMake 没被告知目标平台。

Settings > Build, Execution, Deployment > CMake 中,为当前项目新建一个 Profile,选中刚才创建的 “ARM” Toolchain,然后在 CMake options 栏填:

-DCMAKE_SYSTEM_NAME=Generic
-DCMAKE_SYSTEM_PROCESSOR=ARM
-DCMAKE_C_COMPILER=arm-none-eabi-gcc
-DCMAKE_CXX_COMPILER=arm-none-eabi-g++

这几个参数缺一不可:CMAKE_SYSTEM_NAME=Generic 表示裸机环境(无 OS),CMAKE_SYSTEM_PROCESSOR=ARM 是架构标识,后两个是强制覆盖编译器路径——即使 Toolchain 已设,CMake 仍可能读取缓存或父级配置。

CLion 2026.2.0.1
CLion 2026.2.0.1

CLion 2026.2.0.1 官方历史版本安装包,适合旧项目兼容、开发环境回退、工具链验证、CMake 配置复现和调试行为对比等场景使用。

下载
  • 如果使用 STM32CubeMX 生成的 CMakeLists.txt,它通常自带 project(... LANGUAGES C ASM),但不会自动加这些系统参数,必须手动补上
  • 修改 CMake options 后,务必点击右上角 Reload CMake project 按钮,否则改动不生效
  • 若 CMake 报错 Cannot determine target architecture,基本就是漏了 CMAKE_SYSTEM_PROCESSOR

编译器路径和环境变量容易互相干扰

Windows 下尤其容易踩坑:MinGW 的 gcc、WSL 的 gcc、ARM 工具链的 arm-none-eabi-gcc 全堆在 PATH 里,CLion 启动时可能加载错上下文。

典型表现:Toolchain 页面显示绿色对勾,但构建时仍调用 gcc 而非 arm-none-eabi-gcc;或者 OpenOCD 启动后 GDB 连不上,报 Remote 'g' packet reply is too long(说明 GDB 加载的是 host 符号)。

  • 建议把 ARM 工具链路径(如 D:\CLion\Environment\STM32\gcc-arm-none-eabi-10.3-2021.10\bin)放在系统 PATH 的最前面
  • 在 CLion 的 Help > Show Log in Explorer 里打开日志,搜索 compilertoolchain,能看到它实际调用的完整路径
  • 如果用了多个工具链(比如同时开发 STM32 和 ESP32),不要共用一个 Profile,每个项目单独建 Profile 并隔离 CMake options

调试器 arm-none-eabi-gdb 必须匹配编译器版本

arm-none-eabi-gdb 不是随便装一个就行。不同版本的 GCC 工具链生成的 DWARF 调试信息格式可能不兼容,GDB 版本太低会解析失败,导致断点不命中、变量显示 <optimized out> 或直接卡死。

例如用 gcc-arm-none-eabi-12.x 编译,却配了 10.x 的 gdb,就可能出现 Cannot access memory at address 0x... 类错误。

  • 始终从同一份 ARM 工具链压缩包里取 arm-none-eabi-gccarm-none-eabi-gdb,不要混用不同来源的二进制
  • 检查 GDB 版本:arm-none-eabi-gdb --version,输出应与 GCC 小版本一致(如都是 12.2)
  • CLion 的 Debugger 设置里,不要勾选 Use external console,嵌入式调试必须走 GDB server + OpenOCD 管道
实际配置中最容易被忽略的,是 CMake Profile 的 reload 动作和 GDB 与 GCC 的版本对齐——改完配置不点重载,等于没改;GDB 版本不对,再准的断点也停不住。

热门AI工具

更多
墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
Vibeknow在线使用入口合集
Vibeknow在线使用入口合集

本专题汇总了Vibeknow在线创作视频的官方入口及网页版使用教程,涵盖PPT、PDF、Word等文档一键转讲解视频的核心操作,并整理了免费版水印规则与手机端浏览器访问指南,助你快速将知识内容视频化。

0

2026.09.21

NumPy随机数文件读写与dtype数据类型
NumPy随机数文件读写与dtype数据类型

本专题整理 NumPy 随机数、文件读写与 dtype 数据类型相关教程,覆盖 Generator/random、随机数种子、正态分布采样、npy/npz/CSV/TXT 保存读取、loadtxt/savetxt、memmap、大文件处理、astype 类型转换、结构化 dtype、整数溢出和精度丢失等场景。

0

2026.09.21

NumPy矩阵运算与线性代数计算
NumPy矩阵运算与线性代数计算

本专题整理 NumPy 矩阵运算与线性代数计算相关教程,覆盖矩阵乘法、dot 与 @ 运算符、逆矩阵、行列式、特征值与特征向量、SVD、线性方程组、欧氏距离、矩阵分解和大规模矩阵性能优化等内容,帮助读者掌握 np.linalg 与矩阵计算实战。

0

2026.09.21

NumPy广播机制数学运算与统计分析
NumPy广播机制数学运算与统计分析

本专题整理 NumPy 广播机制、数组数学运算与统计分析相关教程,覆盖广播规则、维度对齐、矩阵与数组加减除法、向量化计算、均值方差、分位数、中位数、直方图和 unique 频次统计等场景,帮助读者掌握 ndarray 高效计算与统计处理方法。

0

2026.09.21

NumPy数组创建索引切片与数据选择
NumPy数组创建索引切片与数据选择

本专题整理 NumPy 数组创建、索引、切片与数据选择相关教程,覆盖 np.array、zeros/ones、多维数组形状、基础切片、花式索引、布尔索引、条件筛选、视图与副本等常用场景,帮助读者系统掌握 ndarray 数据构造与高效提取方法。

0

2026.09.21

Aionclaw智能助手介绍
Aionclaw智能助手介绍

本专题汇总了AionClaw(AI龙虾助手)的功能介绍与在线使用入口。AionClaw是杭州趣猿人工智能有限公司推出的桌面级AI智能体,能直接在电脑上读写文件、运行脚本、操作浏览器,自动交付Word、PPT、Excel等成品。

20

2026.09.20

AionClaw AI智能体与电脑自动化任务执行功能使用教程
AionClaw AI智能体与电脑自动化任务执行功能使用教程

AionClaw专题整理AI智能体与电脑自动化相关功能使用教程,涵盖安装部署、AI任务执行、Skills技能、文件处理、浏览器控制、电脑操作、持久记忆、聊天工具连接以及办公、编程和内容创作等功能,帮助用户快速掌握AionClaw的实际使用方法。

0

2026.09.20

AI视频生成软件推荐
AI视频生成软件推荐

本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

200

2026.09.16

ai生成视频的工具免费版合集
ai生成视频的工具免费版合集

本专题汇总了当前免费AI生成视频工具的排行榜与推荐清单,涵盖seko、讯飞智作、AniShort及剧云、Lovart等多模型集成平台。同时整理了各工具的免费额度、输出时长、水印政策及适用场景差异,助您快速选择合适工具开启AI视频创作。

100

2026.09.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn