目录
[1. Trae IDE 安装](#1. Trae IDE 安装)
[2. 项目导入与后续开发](#2. 项目导入与后续开发)
[3. 工程创建](#3. 工程创建)
[4. 配置调试环境](#4. 配置调试环境)
1. Trae IDE 安装
Trae Code 是一款面向开发者的智能编程 IDE,深度集成 AI 编码能力,同时完全兼容 VS Code 的插件生态。在 Linux 平台上,它以原生 .deb 包的形式提供,安装过程简洁,支持 x86_64 和 ARM64 两种主流架构。
1.1 下载 Trae Code 安装包
访问 Trae 官方下载页,根据你的系统架构选择对应 Linux 平台的.deb格式安装包:
| 架构 | 版本 | 适用场景 |
|---|---|---|
| x86_64 / AMD64 | 支持 x64 版本 | 主流桌面、笔记本和工作站使用,覆盖绝大多数 Intel / AMD 处理器的 Linux 发行版 |
| ARM64 / aarch64 | 支持 ARM64 版本 | 适用于树莓派 4/5、ARM 开发板、Apple Silicon 虚拟机等 ARM 架构设备 |
下载完成后,安装包通常位于 ~/Downloads 目录下,文件名形如 TraeCode_CN-linux-x64.deb。
1.2 安装IDE
以 Debian / Ubuntu 系发行版为例,打开终端后按以下步骤操作:
bash
# 1. 更新软件源索引
sudo apt update
# 若安装包不在 Downloads目录下,就进行如下移动操作
mv TraeCode_CN-linux-x64.deb ~/Downloads
# 2. 切换到安装包所在目录
cd ~/Downloads
# 3. 安装 Trae IDE(文件名以实际下载为准)
sudo apt install ./TraeCode_CN-linux-x64.deb
# 4. 若遇到依赖问题,执行以下命令自动修复
sudo apt install -f
验证安装 :安装完成后,在应用菜单中搜索 "Trae" 即可启动。也可以在终端输入
trae-cn命令行启动。
如需卸载,执行以下命令:
bash
sudo apt remove trae-cn // 只卸载程序本体,保留用户配置文件
1.3 安装 VS Code 与推荐扩展
Trae Code 本身可独立使用,但嵌入式开发涉及的部分工具链插件(如 Cortex-Debug)在 VS Code 生态中更为成熟。建议两者配合使用,以获得最佳开发体验。
bash
# Snap 方式安装(推荐 Ubuntu 用户)
sudo snap install --classic code
# 验证安装是否成功:
code --version # 输出类似 1.9x.0 的版本号
# 启动 VS Code
code
⚠️ 非 Snap 发行版 :如果你使用的 Linux 发行版不支持 Snap,可以从 VS Code 官网 下载
.deb包,用sudo apt install安装,步骤与 Trae IDE 一致。
必装扩展清单(VS Code 扩展市场搜英文名称):
| 扩展名称 | 用途说明 |
|---|---|
C/C++ |
Microsoft 官方扩展,提供 C/C++ 代码编辑、智能补全、语法高亮、代码格式化等核心功能 |
C/C++ Extension Pack |
C/C++ 开发工具合集,包含 CMake 集成、调试适配器等,一键安装全家桶 |
CMake Tools |
支持 CMake 项目的一键配置、构建、调试,自动识别工具链和构建目标 |
Cortex-Debug |
ARM Cortex-M / Cortex-R 系列微控制器调试核心插件,支持 J-Link、OpenOCD 等多种调试器 |
Python |
Python 代码编辑与调试支持,嵌入式开发中常用于构建脚本和测试工具 |
DeviceTree |
Zephyr / NuttX / Linux 设备树语法高亮与补全,嵌入式 Linux 和 RTOS 开发必备 |
Makefile Tools |
裸机 Makefile 项目的语法提示和构建支持,适合传统 SDK 工程 |
GitLens |
增强 Git 集成能力,代码行级 blame 显示、提交历史追溯,团队协作利器 |
2. 项目导入与后续开发
第一次启动 Trae IDE 时,系统会引导你完成基础配置。整个过程只需几分钟,核心步骤如下:
步骤 1:选择主题与语言
根据个人偏好选择浅色 / 深色主题和界面语言。Trae Code 原生支持简体中文,无需额外安装语言包。
步骤 2:一键导入配置
支持从 VS Code、Cursor 等主流 IDE 导入已有配置,包括键位绑定、主题、已安装扩展等,平滑迁移开发习惯。
步骤 3:添加命令行工具
将 trae 命令添加到系统 PATH 中,之后即可在终端使用 trae . 快速打开当前目录。
步骤 4:账号登录
使用手机号完成登录认证,解锁 AI 编程助手、云端同步等高级功能。未登录状态下基础编码功能不受影响。
2.2 日常开发工作流
项目导入完成后,可以按以下节奏开展日常开发:
- AI 辅助编码 --- 选中代码片段后可直接请求 AI 解释、重构或补全。在注释中描述需求即可生成对应代码,大幅提升编码效率。
- 命令面板快速操作 --- 按
Ctrl+Shift+P调出命令面板,输入关键词即可执行几乎所有操作,无需记忆复杂的菜单路径。 - 工作区配置 --- 每个项目根目录下的
.vscode/文件夹存放工作区配置,包括settings.json、tasks.json、launch.json等,支持团队共享。 - 插件市场扩展 --- 左侧栏切换到扩展面板(
Ctrl+Shift+X),搜索并安装所需插件。Trae Code 兼容绝大多数 VS Code 扩展。
💡 小技巧:同步配置 --- 在多台机器上使用 Trae Code 时(同一账号,多机共用),开启设置同步(Settings Sync)可以自动同步扩展、键位、主题等配置,保持开发环境一致。
3. 工程创建
Trae Code 支持多种嵌入式工程类型。以下介绍三种最常见的工程创建方式,可根据项目需求选择合适的方案。
前置条件: 在开始之前,请确保已安装以下工具:
bash
# 1. ARM 工具链安装与验证
# Ubuntu / Debian
sudo apt install gcc-arm-none-eabi
# 验证安装
arm-none-eabi-gcc --version # 预期输出 arm-none-eabi-gcc (GNU Tools for Arm Embedded Processors ...)
# 2. 安装 CMake
sudo apt install cmake
# 验证
cmake --version
3.1 CMake 工程
CMake 是目前嵌入式领域最主流的构建系统之一,STM32CubeMX、Zephyr、ESP-IDF 等均支持 CMake 输出。配合 CMake Tools 扩展,可以实现一键配置和构建。
创建步骤
步骤 1:新建项目文件夹
在合适的位置创建项目目录,并用 Trae Code 打开:
bash
mkdir my-embedded-project && cd my-embedded-project
trae .
步骤 2:创建独立的 CMake 工具链文件
在项目根目录创建 arm-none-eabi-gcc.cmake。交叉编译场景下建议使用独立的 toolchain file,而非直接在 CMakeLists.txt 中设置编译器,这样可以避免 CMake 在配置阶段尝试链接宿主系统库导致失败。
cmake
# arm-none-eabi-gcc.cmake
set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_PROCESSOR ARM)
set(CMAKE_C_COMPILER arm-none-eabi-gcc)
set(CMAKE_CXX_COMPILER arm-none-eabi-g++)
set(CMAKE_ASM_COMPILER arm-none-eabi-gcc)
# 跳过编译器检测中的链接步骤
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
# 指定查找根路径模式
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
⚠️ 注意:
CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)这行是关键:没有它,CMake 会在配置阶段尝试编译并链接可执行文件,而交叉编译工具链无法链接宿主系统库,将导致配置失败
步骤 3:编写顶层 CMakeLists.txt
在项目根目录创建 CMakeLists.txt,以下是一个 ARM Cortex-M4 的最小模板:
cmake
cmake_minimum_required(VERSION 3.20)
project(my_firmware C CXX ASM)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
# 芯片型号参数(以 STM32F407 为例,Cortex-M4F)
# 注意:请根据目标芯片的 FPU 类型调整以下参数
# - 无 FPU 的 Cortex-M4:去掉 -mfpu 和 -mfloat-abi
# - Cortex-M4F(单精度 FPU):-mfpu=fpv4-sp-d16 -mfloat-abi=hard
# - Cortex-M7F(双精度 FPU):-mfpu=fpv5-d16 -mfloat-abi=hard
add_compile_options(
-mcpu=cortex-m4
-mthumb
-mfpu=fpv4-sp-d16
-mfloat-abi=hard
-Wall
-g
)
add_link_options(
-mcpu=cortex-m4
-mthumb
-mfpu=fpv4-sp-d16
-mfloat-abi=hard
-T ${CMAKE_SOURCE_DIR}/STM32F407VG_FLASH.ld
-Wl,--gc-sections
-Wl,-Map=${PROJECT_NAME}.map
)
# 源文件
add_executable(${PROJECT_NAME}.elf
src/main.c
src/system_stm32f4xx.c
startup/startup_stm32f407xx.s
)
# 生成 .hex 和 .bin 文件,并输出大小信息
add_custom_command(TARGET ${PROJECT_NAME}.elf POST_BUILD
COMMAND arm-none-eabi-objcopy -O ihex $<TARGET_FILE:${PROJECT_NAME}.elf> ${PROJECT_NAME}.hex
COMMAND arm-none-eabi-objcopy -O binary $<TARGET_FILE:${PROJECT_NAME}.elf> ${PROJECT_NAME}.bin
COMMAND arm-none-eabi-size ${PROJECT_NAME}.elf
)
步骤 4:使用 CMakePresets.json 管理配置
在项目根目录创建 CMakePresets.json,可避免每次手动指定工具链文件,并便于管理 Debug/Release 构建类型:
json
{
"version": 3,
"configurePresets": [
{
"name": "arm-debug",
"displayName": "ARM Debug",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/debug",
"toolchainFile": "${sourceDir}/arm-none-eabi-gcc.cmake",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
}
},
{
"name": "arm-release",
"displayName": "ARM Release",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/release",
"toolchainFile": "${sourceDir}/arm-none-eabi-gcc.cmake",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
}
}
],
"buildPresets": [
{
"name": "arm-debug",
"configurePreset": "arm-debug"
},
{
"name": "arm-release",
"configurePreset": "arm-release"
}
]
}
配置和构建命令:
bash
cmake --preset arm-debug
cmake --build --preset arm-debug
步骤 5:配置 CMake Tools
安装 CMake Tools 扩展后,按 Ctrl+Shift+P 输入 "CMake: Configure",选择对应的工具链变体(即 Preset 中定义的 arm-debug 或 arm-release)即可自动完成配置。点击底部状态栏的 Build 按钮即可一键构建。
3.2 STM32 裸机工程
如果你使用 STM32 芯片,推荐通过 STM32CubeMX 生成初始化代码,再导入 Trae Code 进行开发。
创建流程
- 打开 STM32CubeMX,选择目标芯片型号(如 STM32F407VG)
- 配置引脚、时钟树、外设参数(GPIO、UART、SPI 等)
- 在 Project Manager 中,Toolchain / IDE 选择
Makefile - 点击 GENERATE CODE 生成工程代码
- 用 Trae Code 打开生成的工程文件夹
ℹ️ Makefile 工程构建 :在终端执行
make -j$(nproc)即可编译。也可以配置tasks.json,将构建命令绑定到快捷键。
配置 tasks.json 绑定快捷键在 .vscode/tasks.json 中添加:
json
{
"version": "2.0.0",
"tasks": [
{
"label": "Build STM32 (Makefile)",
"type": "shell",
"command": "make",
"args": ["-j"],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": ["$gcc"]
}
]
}
3.3 Zephyr RTOS 工程
Zephyr 是 Linux 基金会主导的开源实时操作系统,原生支持 CMake + West 构建体系,在 Trae Code 中体验良好。
前置条件: 确保已安装 Zephyr SDK 和 West 工具,此处不讲解Zephyr环境的安装和配置过程。
创建应用工程
bash
# 在 zephyrproject 下创建应用目录
mkdir -p ~/zephyrproject/my_app/src
cd ~/zephyrproject/my_app
# 创建 CMakeLists.txt
cat > CMakeLists.txt << 'EOF'
cmake_minimum_required(VERSION 3.20.0)
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(my_app)
target_sources(app PRIVATE src/main.c)
EOF
# 创建示例源码
cat > src/main.c << 'EOF'
#include <zephyr/kernel.h>
#include <zephyr/sys/printk.h>
int main(void)
{
while (1) {
printk("Hello from Zephyr!\n");
k_msleep(1000);
}
return 0;
}
EOF
# 构建(以 STM32F407 开发板为例)
west build -b stm32f4_disco .
💡 开发板适配:Zephyr 支持数百款开发板,使用 west boards 查看完整列表,将 -b 参数替换为你的开发板名称即可。首次使用某款开发板时,建议先运行 west build -b samples/hello_world 验证 board 支持是否正常。
4. 配置调试环境
嵌入式开发的调试体验直接影响开发效率。Cortex-Debug 插件为 ARM Cortex-M 系列芯片提供了完整的图形化调试能力,支持断点、单步、寄存器查看、变量监视等功能。
4.1 Cortex-Debug 插件
Cortex-Debug 是 VS Code / Trae Code 生态中最成熟的 ARM 调试扩展,支持多种调试后端:
表 4-1 支持的调试服务器类型
| 调试器类型 | 说明 | servertype 值 |
|---|---|---|
| J-Link | SEGGER 官方调试器,速度快、稳定性高,支持绝大多数 ARM 芯片 | jlink |
| OpenOCD | 开源调试服务器,支持 ST-Link、J-Link、CMSIS-DAP 等多种硬件 | openocd |
| ST-Link (GDB) | ST 官方调试工具,配合 ST-Link 硬件使用 | stutil |
| pyOCD | Python 实现的开源调试器,支持 CMSIS-DAP 和多种 Arm Cortex-M 芯片 | pyocd |
| Black Magic Probe | 一体式调试器固件,直接提供 GDB 串口 | bmp |
4.2 launch.json 配置详解
在项目根目录的 .vscode/ 文件夹下创建 launch.json 文件,该文件定义了调试启动的所有参数,告诉VsCode如何连接调试器、加载哪个固件文件(.elf)以及使用什么调试服务器。以下是 STM32 + J-Link 的典型配置:
json
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug Microcontroller",
"cwd": "${workspaceFolder}",
"executable": "build/your-project.elf",
"request": "launch",
"type": "cortex-debug",
"runToEntryPoint": "main",
"servertype": "jlink",
"interface": "swd",
"device": "STM32F407VG",
"svdFile": ".pack/STM32F407VG.svd"
}
]
}
表 4-2 launch.json 逐项解释关键配置项的含义:
| 字段 | 说明 |
|---|---|
name |
调试配置名称,会显示在调试面板的下拉菜单中,方便识别不同的调试目标 |
executable |
固件 ELF 文件路径,包含调试符号信息。通常是构建产物,路径相对于 cwd |
request |
启动方式:launch 为从头启动,attach 为附加到已运行的目标 |
type |
调试器类型,固定为 cortex-debug,由 Cortex-Debug 扩展提供 |
runToEntryPoint |
启动后自动运行到指定函数入口,通常设为 main,跳过启动汇编代码 |
servertype |
调试服务器类型,如 jlink、openocd、pyocd 等 |
interface |
调试接口协议,常用 swd(Serial Wire Debug,引脚少)或 jtag |
device |
目标芯片型号,J-Link 需要用此参数确定 Flash 烧录算法和内核类型 |
svdFile |
SVD(System View Description)文件路径,用于在调试时查看外设寄存器的值 |
💡 SVD 文件哪里找 :SVD 文件通常可以在芯片厂商的 SDK 或 CMSIS Pack 中找到。STM32 用户可在 STM32CubeMX 生成的工程中找到
.ioc同级目录下的 SVD 文件,或从 Keil CMSIS Pack 下载对应芯片的 Pack 包后解压提取。