VS Code Extensions
FlowLogic Tools

FlowLogic Tools

by logan109

FlowLogic 固件开发:侧边栏编译/选 bin 烧录、底部独立 RTT 面板、Debug 自动 RTT、一键清空 bin、查看 map 内存报告

Downloads

4

Rating

— (0)

Version

0.5.3

Last updated

Aug 10, 2026

针对 FlowLogic 仓库 CMake 多变体工程:

  1. 侧边栏:选项目 / 构建配置、编译、从 build/<项目>/ 选择对应配置的 带 boot Merge.bin 烧录
  2. 底部 RTT 面板(与终端同级 Tab):直连 J-Link RTT,彩色日志 + 下行命令
  3. Debug 自动 RTT:开始调试会话时自动启动并聚焦 RTT 面板

前置要求:工作区需为 FlowLogic CMake 工程(含 CMakePresets.json),并已安装 CMake + Ninja + arm GCC、SEGGER J-Link(JLinkExe / JLinkGDBServerCL)。

安装

使用时工作区打开 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):

  1. 后台 JLinkGDBServerCL -noir(RTT Server,默认端口 19021)
  2. 扩展 TCP 直连该端口,日志进面板(支持 ANSI 颜色)
  3. 底部输入框回车 → 下发到目标

不再新建集成终端。

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,默认 STM32U545CE SWD 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。

Related extensions