开发功能
SDK 配置
点击 Menuconfig 按钮打开 SDK 配置界面,提供两种方式,可通过 插件可选配置 (Menuconfig) 中的 Mode 切换,默认为可视化编辑器。
Menuconfig Editor(可视化编辑器)
选择目标芯片
将
Mode设置为editor(默认),点击 Menuconfig 按钮,在 VS Code WebView 面板中打开可视化配置编辑器在编辑器中浏览、搜索并修改配置项,所见即所得
完成配置后点击保存,修改将写入 SDK 配置文件
Classic Menuconfig(经典模式)
选择目标芯片
将
Mode设置为classic,点击 Menuconfig 按钮,在终端中打开基于 ncurses 的图形化配置界面;v1.1 版本 SDK 仅支持此方式SDK 配置相关信息请参考 配置 SDK(menuconfig)
完成 SDK 配置后,必须保存并正确退出配置界面。如果未正确保存退出,将会影响后续的其余功能正常使用,插件会在右下角弹出提示信息提醒用户
保存工程配置(prj.conf)
将当前 menuconfig 配置保存为 prj.conf,便于工程配置的版本管理和复用。
选择目标芯片,并先通过 Menuconfig 完成并保存 SDK 配置
点击 Advanced → Save Project Configuration
插件会打开 Ameba 终端,并自动执行保存命令:
v1.2 及以上版本 SDK:
prj.conf保存在工程目录(SDK Root 工程为 SDK 根目录,外部工程为工程根目录)下v1.1 版本 SDK:
prj.conf保存在工程目录(SDK Root 工程在<ic>_gcc_project目录下,外部工程在工程根目录)下
命令执行结果请在终端中查看
备注
该命令也可以通过命令面板中的 Ameba: Save Project Configuration 调用。
项目编译
选择目标芯片
点击 Build 按钮进行编译工程
SDK Root 工程:如果已在下拉选择框选择应用示例,则编译指定示例;选择
None则编译基础项目配置外部工程:直接编译工程,不附加示例参数
编译过程中将实时显示详细进度和日志信息
项目清理
插件提供两种清理方式:
Clean(增量清理)
选择目标芯片
点击 Clean 按钮,清理当前工程的编译产物(仅 build 目录)
清理过程中将实时显示详细进度和日志信息
Full Clean(深度清理)
选择目标芯片
点击 Advanced → Full Clean,深度清理工程(包括 build 和 menuconfig 目录)
适用于需要完全重新编译或切换芯片后出现编译异常的场景
清理过程中将实时显示详细进度和日志信息
固件烧录
选择目标芯片和目标串口
参考 插件可选配置 (Flash) 设置烧录参数
波特率可选范围:115200 / 500000 / 1000000 / 1500000 / 2000000(默认) / 3000000 / 4000000
如需烧录前完整擦片,可启用 Erase Chip 选项(耗时较长)
点击 Flash 按钮启动固件烧录流程,烧录前将检查:
校验布局合法性:检查各分区地址是否 4K 对齐、起始地址是否小于结束地址、相邻分区之间是否存在重叠
检查失败,将自动在编辑器中打开 Flash 布局信息 ,同时出现异常提示,方便用户检查
根据 SDK 配置和 Flash 布局信息 进行烧录
提供烧录进度实时反馈和详细日志
串口监控
选择目标串口
参考 插件可选配置 (Monitor) 设置监控参数
点击 Monitor 按钮打开集成的串口监视器,自动根据芯片型号选择波特率(AmebaD 为 115200 bps,其余型号为 1500000 bps)并连接串口
实时显示和接收串口数据
支持通过串口发送 AT 命令,并且可以根据支持的
ATCMD List通过Tab 键自动补全支持历史记录功能,按
↑ 键可以快速查看和选择之前发送过的命令
代码导航
插件支持 clangd 和 C/C++(cpptools) 两种代码导航方式,提供跳转定义、查找引用、悬停提示和代码补全等功能。
对比项 |
clangd |
C/C++(cpptools) |
|---|---|---|
依赖扩展 |
|
|
索引依据 |
|
|
首次使用前提 |
需先执行一次 Build 生成索引文件 |
配置生成后即可使用 |
补充 |
后台索引、静态诊断(clang-tidy) |
同时读取 |
如何选择:
插件在生成 .vscode 配置时(新建 / 导入外部工程、设置 SDK 路径、环境安装向导),根据当前已安装的扩展自动选择:
已安装 clangd 扩展:写入 clangd 配置,并关闭 cpptools 的 IntelliSense,由 clangd 提供代码导航
未安装 clangd 扩展:保留 cpptools 的 IntelliSense,由 C/C++ 扩展提供代码导航
备注
如果配置生成后才安装 clangd 扩展,需再执行一次
Ameba: Set Root SDK Path重新生成配置,才会切换为 clangd。两种方式均需要在 VS Code 扩展应用商店中自行安装对应扩展,插件不会自动安装。
clangd 导航:
安装 clangd 扩展
生成
.vscode配置时,插件会写入 clangd 参数(指向编译数据库目录)和工程根目录下的.clangd文件,后者用于过滤 ARM 交叉编译特有的编译选项;.clangd已存在时不会覆盖执行一次 Build 编译工程,编译完成后将在
build_<芯片型号>/build/目录下生成compile_commands.jsonclangd 在后台建立索引,索引完成后代码导航功能即可正常使用
切换目标芯片后,插件会自动更新 clangd 使用的编译数据库路径并重启 clangd,需重新编译一次以生成新芯片的 compile_commands.json。首次编译完成前 clangd 尚无索引数据,代码导航不可用。
C/C++(cpptools)导航:
安装 C/C++ 扩展
生成
.vscode配置时,插件会在.vscode/c_cpp_properties.json中写入名为ameba-rtos的配置,包含编译器路径、头文件搜索范围和compile_commands.json路径,已有的其他配置不会被覆盖配置生成后即可使用;执行 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 的官方网页