针对 FlowLogic 仓库 CMake 多变体工程:
- 侧边栏:选项目 / 构建配置、编译、从
build/<项目>/选择对应配置的 带 boot Merge.bin 烧录 - 底部 RTT 面板(与终端同级 Tab):直连 J-Link RTT,彩色日志 + 下行命令
- Debug 自动 RTT:开始调试会话时自动启动并聚焦 RTT 面板
前置要求:工作区需为 FlowLogic CMake 工程(含
CMakePresets.json),并已安装 CMake + Ninja + arm GCC、SEGGER J-Link(JLinkExe/JLinkGDBServerCL)。
安装
- Marketplace:VS Code 扩展面板搜索
FlowLogic Tools,或访问 https://marketplace.visualstudio.com/items?itemName=logan109.flowlogic-tools - 命令行:
code --install-extension logan109.flowlogic-tools
使用时工作区打开 FlowLogic 仓库根目录(含 CMakePresets.json)。
用法
侧边栏(Activity Bar → FlowLogic)
| 区域 | 作用 |
|---|---|
| 项目变体 | 读 CMakePresets.json |
| 构建配置 | Release / Debug / …;只列出该配置的 bin |
| 固件列表 | build/<项目>/ 下带 boot 的 *{Config}*Merge.bin(产测等独立固件为普通 bin);默认勾选最新 |
| Build | cmake --preset + cmake --build --preset |
| Flash | 烧录当前勾选的 bin |
| RTT | 启动 / 停止底部 RTT 面板 |
| Map 报告 | 解析 .map 文件,生成 HTML 内存报告并打开(见下) |
双击固件条目可在系统文件管理器中显示。
Map 内存报告
编译成功或点击「Map 报告」后,插件解析 build/<项目>/ 下的链接器 .map 文件,
生成自包含 HTML 报告(内联样式/脚本,无网络请求)到 build/<项目>/<项目><配置>_map_report.html,
并在编辑器 Tab 中打开:
- 内存总览:FLASH / RAM / SRAM4 / FLASH_F 各区域占用条形图 + 百分比,点击行展开段明细(
.data加载镜像单独计入 FLASH) - 模块分解:按 App / Bsp / Hal / Middlewares / Protocol 等目录归并的 FLASH / RAM 占用排行,表头可排序
- 最大符号:最大的函数 / 全局变量 Top 12
- 报告文件可分享留档,双击用浏览器打开同样可看;构建成功后自动更新文件(不弹窗)
入口:侧边栏「Map 报告」按钮、命令面板 FlowLogic: 查看 Map 报告、资源管理器右键任意 .map 文件。
建议 FlowLogic 仓库将 map 输出改为按配置命名(-Wl,-Map=${TARGET_PROJECT}${CMAKE_BUILD_TYPE}.map),插件两种命名均兼容。
底部 RTT 面板
与 终端 / 输出 / 调试控制台 同级的独立 Panel Tab(FlowLogic RTT):
- 后台
JLinkGDBServerCL -noir(RTT Server,默认端口 19021) - 扩展 TCP 直连该端口,日志进面板(支持 ANSI 颜色)
- 底部输入框回车 → 下发到目标
不再新建集成终端。
Debug 自动弹出
- 任意 Debug 会话
onDidStartDebugSession→ 自动RTT 启动+ 聚焦面板 - 默认同时把构建配置切到 Debug(侧边栏固件列表对齐 debug 产物)
- 设置:
flowlogic.rttAutoOnDebug(默认true)flowlogic.rttAutoSwitchDebugConfig(默认true)
Debug 结束时 不自动停 RTT,便于继续看日志。
状态栏
| 按钮 | 作用 |
|---|---|
| 项目名 | 选择变体 |
| Release / Debug… | 构建配置 |
| Build | 编译 |
| Flash | 烧录(优先侧边栏已选 bin) |
| RTT | 启动 / 停止 |
烧录规则
- 正式固件:当前配置的
*Merge.bin→0x08000000 - 产测 /
*_rf_test:无 Merge 时用普通.bin - 工具:
JLinkExe,默认STM32U545CESWD 4000kHz - 烧录前自动停 RTT(J-Link 独占)
日志在 Output → FlowLogic。
设置
| 键 | 默认 | 说明 |
|---|---|---|
flowlogic.device |
STM32U545CE |
器件 |
flowlogic.jlinkPath |
自动 | JLinkExe |
flowlogic.jlinkGdbServerPath |
自动 | JLinkGDBServerCL |
flowlogic.rttPort |
19021 |
RTT Telnet 端口 |
flowlogic.rttAutoOnDebug |
true |
Debug 时自动 RTT |
flowlogic.rttAutoSwitchDebugConfig |
true |
Debug 时切到 Debug 配置 |
flowlogic.preferMergeBin |
true |
优先 Merge |
flowlogic.defaultProject |
m61_nb |
默认变体 |
flowlogic.defaultConfig |
Release |
默认配置 |
快捷键
| 键 | 命令 |
|---|---|
Cmd/Ctrl+Shift+B |
编译 |
Cmd/Ctrl+Shift+F5 |
烧录 |
Cmd/Ctrl+Shift+R |
启动 RTT |
依赖
- CMake + Ninja + arm GCC(见仓库
CLAUDE.md) - SEGGER J-Link:
JLinkExe、JLinkGDBServerCL
开发
从源码构建 / 调试插件本身:
git clone https://github.com/Roomen/flowlogic-tools.git
cd flowlogic-tools
npm install
npm run compile # 或 npm run watch
VS Code:F5 启动 Extension Development Host 调试;或 F1 →
Extensions: Install from Location... 选本目录本地安装。
打包 .vsix:npm run package。