开发功能

SDK 配置

点击 Menuconfig 按钮打开 SDK 配置界面,提供两种方式,可通过 插件可选配置 (Menuconfig) 中的 Mode 切换,默认为可视化编辑器。

Menuconfig Editor(可视化编辑器)

  1. 选择目标芯片

  2. 将 Mode 设置为 editor(默认),点击 Menuconfig 按钮,在 VS Code WebView 面板中打开可视化配置编辑器

  3. 在编辑器中浏览、搜索并修改配置项,所见即所得

  4. 完成配置后点击保存,修改将写入 SDK 配置文件

Classic Menuconfig(经典模式)

  1. 选择目标芯片

  2. 将 Mode 设置为 classic,点击 Menuconfig 按钮,在终端中打开基于 ncurses 的图形化配置界面;v1.1 版本 SDK 仅支持此方式

  3. SDK 配置相关信息请参考 配置 SDK(menuconfig)

  4. 完成 SDK 配置后,必须保存并正确退出配置界面。如果未正确保存退出,将会影响后续的其余功能正常使用,插件会在右下角弹出提示信息提醒用户

保存工程配置(prj.conf)

将当前 menuconfig 配置保存为 prj.conf,便于工程配置的版本管理和复用。

  1. 选择目标芯片,并先通过 Menuconfig 完成并保存 SDK 配置

  2. 点击 Advanced → Save Project Configuration

  3. 插件会打开 Ameba 终端,并自动执行保存命令:

    • v1.2 及以上版本 SDK: prj.conf 保存在工程目录(SDK Root 工程为 SDK 根目录,外部工程为工程根目录)下

    • v1.1 版本 SDK: prj.conf 保存在工程目录(SDK Root 工程在 <ic>_gcc_project 目录下,外部工程在工程根目录)下

  4. 命令执行结果请在终端中查看

备注

该命令也可以通过命令面板中的 Ameba: Save Project Configuration 调用。

项目编译

  1. 选择目标芯片

  2. 点击 Build 按钮进行编译工程

    • SDK Root 工程:如果已在下拉选择框选择应用示例,则编译指定示例;选择 None 则编译基础项目配置

    • 外部工程:直接编译工程,不附加示例参数

  3. 编译过程中将实时显示详细进度和日志信息

项目清理

插件提供两种清理方式:

Clean(增量清理)

  1. 选择目标芯片

  2. 点击 Clean 按钮,清理当前工程的编译产物(仅 build 目录)

  3. 清理过程中将实时显示详细进度和日志信息

Full Clean(深度清理)

  1. 选择目标芯片

  2. 点击 Advanced → Full Clean,深度清理工程(包括 build 和 menuconfig 目录)

  3. 适用于需要完全重新编译或切换芯片后出现编译异常的场景

  4. 清理过程中将实时显示详细进度和日志信息

固件烧录

  1. 选择目标芯片和目标串口

  2. 参考 插件可选配置 (Flash) 设置烧录参数

    • 波特率可选范围:115200 / 500000 / 1000000 / 1500000 / 2000000(默认) / 3000000 / 4000000

    • 如需烧录前完整擦片,可启用 Erase Chip 选项(耗时较长)

  3. 点击 Flash 按钮启动固件烧录流程,烧录前将检查:

    • 校验布局合法性:检查各分区地址是否 4K 对齐、起始地址是否小于结束地址、相邻分区之间是否存在重叠

    • 检查失败,将自动在编辑器中打开 Flash 布局信息 ,同时出现异常提示,方便用户检查

  4. 根据 SDK 配置和 Flash 布局信息 进行烧录

  5. 提供烧录进度实时反馈和详细日志

串口监控

  1. 选择目标串口

  2. 参考 插件可选配置 (Monitor) 设置监控参数

  3. 点击 Monitor 按钮打开集成的串口监视器,自动根据芯片型号选择波特率(AmebaD 为 115200 bps,其余型号为 1500000 bps)并连接串口

  4. 实时显示和接收串口数据

  5. 支持通过串口发送 AT 命令,并且可以根据支持的 ATCMD List 通过 Tab 键 自动补全

  6. 支持历史记录功能,按 ↑ 键 可以快速查看和选择之前发送过的命令

代码导航

插件支持 clangd 和 C/C++(cpptools) 两种代码导航方式,提供跳转定义、查找引用、悬停提示和代码补全等功能。

对比项

clangd

C/C++(cpptools)

依赖扩展

llvm-vs-code-extensions.vscode-clangd

ms-vscode.cpptools

索引依据

compile_commands.json

.vscode/c_cpp_properties.json

首次使用前提

需先执行一次 Build 生成索引文件

配置生成后即可使用

补充

后台索引、静态诊断(clang-tidy)

同时读取 compile_commands.json(如已生成)

如何选择:

插件在生成 .vscode 配置时(新建 / 导入外部工程、设置 SDK 路径、环境安装向导),根据当前已安装的扩展自动选择:

  • 已安装 clangd 扩展:写入 clangd 配置,并关闭 cpptools 的 IntelliSense,由 clangd 提供代码导航

  • 未安装 clangd 扩展:保留 cpptools 的 IntelliSense,由 C/C++ 扩展提供代码导航

备注

  • 如果配置生成后才安装 clangd 扩展,需再执行一次 Ameba: Set Root SDK Path 重新生成配置,才会切换为 clangd。

  • 两种方式均需要在 VS Code 扩展应用商店中自行安装对应扩展,插件不会自动安装。

clangd 导航:

  1. 安装 clangd 扩展

  2. 生成 .vscode 配置时,插件会写入 clangd 参数(指向编译数据库目录)和工程根目录下的 .clangd 文件,后者用于过滤 ARM 交叉编译特有的编译选项;.clangd 已存在时不会覆盖

  3. 执行一次 Build 编译工程,编译完成后将在 build_<芯片型号>/build/ 目录下生成 compile_commands.json

  4. clangd 在后台建立索引,索引完成后代码导航功能即可正常使用

切换目标芯片后,插件会自动更新 clangd 使用的编译数据库路径并重启 clangd,需重新编译一次以生成新芯片的 compile_commands.json。首次编译完成前 clangd 尚无索引数据,代码导航不可用。

C/C++(cpptools)导航:

  1. 安装 C/C++ 扩展

  2. 生成 .vscode 配置时,插件会在 .vscode/c_cpp_properties.json 中写入名为 ameba-rtos 的配置,包含编译器路径、头文件搜索范围和 compile_commands.json 路径,已有的其他配置不会被覆盖

  3. 配置生成后即可使用;执行 Build 生成 compile_commands.json 后,cpptools 也会读取该文件

Ameba 终端

插件提供一个已预激活 SDK 环境的专用终端,方便直接在终端中执行 编译 、 烧录 等 SDK 脚本命令。

触发方式: 命令面板 Advanced → Open Ameba Terminal,或按下 Ctrl+Shift+P 输入 Ameba: Open Ameba Terminal

  • SDK Root 工程:终端工作目录为 SDK 根目录,SDK 环境自动激活

  • 外部工程:终端工作目录为工程根目录,同时自动激活关联 SDK 的环境

  • 若 Ameba 专用终端已存在且正常,则直接复用;异常时自动重建

在线文档

点击 Docs 按钮,打开默认浏览器,跳转到 Realtek Ameba 的官方网页