CytStudio 帮助文档
欢迎使用 CytStudio!CytStudio 是面向嵌入式开发者的 IDE,集成内置 AI 编程智能体、J-Link / DAPLink 硬件调试、免开发板仿真调试、CMSIS-Pack / FLM 烧录、Clang 静态分析与项目迁移。本文将帮助你快速上手。
安装说明
系统要求
- 操作系统:Windows 10 / 11 (64-bit)
- 内存:建议 4 GB 及以上
- 硬盘空间:至少 4 GB 可用空间
下载与安装
- 前往 GitHub Releases 页面
- 下载最新的 Windows 安装包(
.exe文件,如CytStudio_Setup_V2.4.0.exe) - 双击运行安装程序,按照向导完成安装
- 安装完成后,开始菜单会出现 CytStudio 启动程序
AI 智能体:CytStudio 集成了开源的 DeepSeek Harness,随安装包内置,无需额外配置即可使用。在线可连接 DeepSeek / Pi 等云端模型;如需完全离线运行,请接入你自己的本地 AI 模型(见下文「AI 编程智能体」章节)。
安装调试探针(下载 / 调试功能必需)
CytStudio 支持 J-Link 与 CMSIS-DAP(DAPLink) 两类探针,任选其一即可完成下载、调试、寄存器、Watch、Memory 等操作。
不接探针也能调试:CytStudio 内置基于 QEMU 的 Virt-Simulator 仿真调试,没有开发板时可先用仿真验证逻辑,详见下文「内置仿真调试」。
方式一:J-Link
目前已验证以下版本:
| 版本 | 状态 |
|---|---|
| J-Link Software Pack V7.68c | ✅ 已验证 |
| J-Link Software Pack V9.42 | ✅ 已验证 |
方式二:DAPLink(CMSIS-DAP)
- 无需额外安装驱动:CytStudio 原生支持 CMSIS-DAP v1(HID)/ v2(USB Bulk) 传输,插入 DAPLink 兼容探针后即可在调试配置中直接选择。
- 已在真机验证:APM32F103CBT6(Cortex-M3,IDCODE
0x2BA01477)等目标板已完成全链路验证。 - 注意:DAPLink 没有 J-Link 那样的内建 Flash 算法,烧录一律走 FLM(可在调试配置中勾选「使用内置 FLM」);该选项在 DAPLink 无内建算法时会自动锁定。
安装 GCC 工具链(编译功能必需)
如果您熟悉 Clang,则无需安装 GCC —— CytStudio 已内置 Clang 编译器。
目前已验证以下版本:
| 版本 | 下载地址 |
|---|---|
| arm-none-eabi-gcc 10.3 | GNU Arm Embedded Toolchain Downloads |
| arm-none-eabi-gcc 14.3 | Arm GNU Toolchain Downloads |
如需 GDB 调试服务,请一并安装对应的 Arm GNU 工具链配套版本。
快速开始
创建新项目
- 打开 CytStudio,点击 工程 → New Project
- 选择项目所在文件夹根目录,点击 保存,项目将在左侧文件树中显示
- 点击 工程 → Options 配置芯片类型、构建、工具链、调试等
- 在文件树右键菜单中,可对文件执行 Git、增删、重命名等操作
导入现有项目
CytStudio 支持导入以下格式的项目:
| 来源 | 格式 |
|---|---|
| STM32CubeMX | .ioc |
| IAR EWARM | .ewp |
| Keil MDK | .uvprojx |
导入步骤:
- 点击 文件 → Project Wizard
- 选择对应的项目文件
- 自动提取源文件、包含路径、宏定义、芯片型号、CPU/FPU、链接脚本等配置
- 检查并确认导入设置后点击 下一步,按向导完成工程导入
- IAR / Keil 等特有的语法差异,可交给内置 AI 智能体协助修复
主要功能
AI 编程智能体(DeepSeek Harness)
CytStudio 集成了开源的 DeepSeek Harness 作为唯一的 AI 编程智能体,能读取、编写、构建并调试代码,并把 28+ 项 IDE 能力注入对话。
- 在线模型:连接 DeepSeek、Pi 等云端模型,或任意 OpenAI 兼容接口
- 离线模型:接入你自己的本地 AI 模型(如通过 llama.cpp / Ollama 暴露的 OpenAI 兼容端点)即可完全离线运行,无需公网
它支持的能力:
- 代码生成 / 改写:描述需求,直接读、写、改文件
- 构建与调试驱动:在对话里触发编译、J-Link / DAPLink 调试与仿真调试(28+ IDE 工具桥接)
- 代码解释与审查:选中代码解释功能、整体审查、定位 Bug
- 子智能体与工作流:为复杂任务拆分角色(含 Claude Code / Codex)
- 丰富的工具与资源:文件、Shell、网页搜索、终端、目标/待办、Excel、PDF、MCP 客户端
- 技能系统:用户自定义技能热重载;插件市场(dshmarket)可浏览安装智能体插件
- 权限与沙箱:信任梯度权限预设(Plan → Default → AcceptEdits → Bypass),高风险操作可触发用户确认;沙箱化执行 bash / PowerShell / 文件系统
- 会话管理:可搜索会话、自动标题、检查点与日志导出
模型选择:默认使用内置的 DeepSeek Harness 配置,在线即可连接 DeepSeek / Pi;若需本地离线推理,请在 AI 设置 中把模型端点指向你自己的本地模型服务。构建失败、断点触发等 IDE 事件会作为上下文自动注入,唤醒智能体诊断。
代码编辑器
- Clang 语义引擎:上下文感知的代码补全、实时诊断、语义高亮、跳转到定义
- 分屏编辑:水平 / 垂直分屏,支持跨组拖拽标签页
- 符号导航:大纲视图、跳转历史、搜索定位、缩略图
- 多编码支持:自动识别 GBK / UTF-8,一键转码,杜绝中文乱码
- 多格式查看:内置 Markdown、PDF、图片快速查看器,
.xls/.xlsx/.xlsm表格可直接预览 - Python 语法高亮:
.py脚本阅读与编辑同样清晰
编译与构建
- GCC / Clang 双编译器:根据项目配置自动选择
- 增量编译:仅重编译变更的源文件,大幅加快构建速度
- 实时构建进度:扫描、逐文件编译、链接等阶段即时输出,构建耗时一目了然
- 构建即时响应:构建准备工作移出 UI 线程,点击构建后界面不再冻结
- 构建消息:结构化输出(错误 / 警告 / 备注),双击跳转到对应代码位置
- CMSIS-Pack RTE 集成:勾选的 Pack 组件自动把源码、宏、头文件路径并入每次构建
CMSIS-Pack 与 FLM 片内烧录
- CMSIS-Pack 管理器:浏览、安装、移除 Packs,器件解析通用化,设备支持自动接入构建
- 组件选择:从组件树中选择(如 CMSIS-DSP),源码 / 宏 / 包含路径统一并入「源码与路径」
- 路径宏:支持
$(TOOLKIT_DIR)/$(USER_PACKS_DIR)等路径宏,工程迁移后无需逐条改路径 - 只读组件树:Keil 风格展示,带灰色锁定徽标,双击打开只读源码
- FLM 算法引擎:解析 Keil 风格
.flm算法(基础地址、大小、扇区几何),在 RAM 内执行片内擦除与编程 - 使用内置 FLM:调试配置中可勾选内置算法,算法选择更可控;DAPLink 无内建算法时该项自动锁定
- 算法自动选择:优先 J-Link 内建、其次安装的 Pack FLM,对 J-Link 无法识别的芯片也会回退到 FLM 完成烧录
- 烧录进度 UI:擦除、编程、校验各阶段可视化进度
硬件调试(J-Link / DAPLink)
CytStudio 用同一套调试界面驱动两类探针,切换探针不影响断点、变量、波形等使用习惯。
J-Link
- 连接 J-Link 调试器到目标板,并确认目标板上电
- 在 工程 → 选项 → 调试配置 中把调试器类型设为 J-Link,选择 SWD/JTAG 接口与目标速度
- 点击 调试 → Debug 进入调试会话
DAPLink(CMSIS-DAP)
- 将 DAPLink 兼容探针插入 USB,确认系统已识别(CMSIS-DAP v1 / v2 均可)
- 在 工程 → 选项 → 调试配置 中把调试器类型设为 DAPLink,并选择目标芯片
- 切换 Device 中的芯片时,上方 Core 会自动同步为对应内核;RAM 基址 / 容量也会随芯片自动刷新
- 点击 调试 → Debug 进入调试会话;烧录走 FLM(可勾选「使用内置 FLM」)
排查提示:调试日志会输出探针枚举、SWJ 时钟、端口上电、复位等关键步骤,以及驱动 / 芯片 / 接口 / 速度的会话头信息,连接异常时先看这几行。
支持的功能:
- 断点设置(逻辑断点 / Flash 与 FPB 硬件断点 / 数据观察点)
- 单步执行(逐行进入、逐行跳过、逐指令)
- 寄存器视图(CPU + 外设寄存器)
- 内存视图(十六进制转储,可配置列宽)
- 变量监视与 C 表达式求值(DWARF 树泛化展开)
- 反汇编视图(源码 / 汇编混合)
- Call Stack 调用栈回溯(帧精确)
- 断点管理器
- FreeRTOS 任务监控(任务、栈使用、运行时统计、CPU 负载、状态时间线)
- Attach 附加调试(无需复位)
- Download / Erase 单独下载与擦除功能
- 高速采样(微秒级多点采样,实时波形显示)
内置仿真调试(Virt-Simulator)
没有开发板也能完整调试:CytStudio 内置基于 QEMU 的 Cortex-M 指令级仿真调试,烧录、复位、断点、单步、变量、波形全部可用。
- 在 工程 → 选项 → 调试配置 中把调试器类型设为 Virt-Simulator(仿真)
- 选择仿真机型:默认按 内核类型 + 固件链接地址 自动匹配,也可手动指定
- 点击 调试 → Debug,即可像接真机一样烧录、打断点、单步与查看变量
机型覆盖:通用 Cortex-M0 / M0+ / M3 / M4 / M7 / M33 / M23 机型,以及 STM32F1 / F2 / F4、TI LM3S6965 等兼容机型。
目标 printf 回灌:仿真目标的串口输出会以 [目标串口] 前缀实时显示在调试日志面板,无需额外串口工具即可看到日志。
运行期读取与波形:仿真下读取内存 / 变量按通道分流(传输层 / QMP / 探针),不会把客户机按停;波形采样读取会为界面让路,长时间采样也不会拖卡界面。
数据可视化
- 在调试会话中,打开 视图 → Oscillograph 面板
- 从变量表中选择要绘制的变量
- 波形实时滚动显示,支持:
- 多通道叠加,每通道独立配置名称 / 颜色 / 缩放 / 偏移
- 缩放与平移、跟随模式
- A/B 双光标测量、触发电平、十字准线读数
- CSV / 图像导出
静态代码分析
- 分析类型:控制流图 (CFG)、调用图、交叉引用、圈复杂度、Halstead 度量、嵌套深度、包含图、重复代码、继承分析、递归检测
- 可视化:交互式图(缩放 / 平移 / 节点选择)
- 导出:PNG / SVG 高清图像、HTML 完整报告、CSV 结构化数据
工程与 Git
- Git 集成:工作树状态、diff、日志图谱、分支管理、内置 Git 终端
- 多标签终端:PowerShell / Git Bash / CMD,VSCode 风格,主题适配
- 主题系统:暗 / 高对比暗 / 亮 三套主题,可自定义强调色
- 多语言切换:中文 / English 一键切换(设置 → 语言,重启生效)
快捷键
| 快捷键 | 功能 |
|---|---|
Ctrl + S | 保存文件 |
Ctrl + F | 查找 |
Ctrl + Shift + F | 全局查找 |
Ctrl + F7 | 编译当前文件 |
F7 | 增量编译 |
Ctrl + Alt + F7 | 重新编译全部 |
F5 | 开始调试 |
F12 | 跳转到定义 |
F4 | 切换跳转到声明或定义 |
Shift + F9 | 添加到 Live Watch(调试模式) |
Ctrl + H | 替换 |
Ctrl + / | 注释 / 取消注释 |
Ctrl + U | 格式化活动文件 |
Ctrl + Alt + U | 格式化所有文件 |
Alt + ← | 向后导航 |
Alt + → | 向前导航 |
常见问题
Q: 编译报错“找不到工具链”?
请检查设置中的工具链路径是否正确,确保 GCC 或 Clang 已正确安装。
Q: J-Link 连接失败?
- 检查 J-Link 驱动是否已安装
- 确认目标板已上电
- 检查连接线是否正常
- 在设备管理器中确认 J-Link 被正确识别
Q: DAPLink 探针连接失败 / 提示找不到探针?
- 确认探针已插入 USB 并被系统识别(CMSIS-DAP v1 走 HID、v2 走 USB Bulk,CytStudio 两者都支持)
- 在 调试配置 中确认调试器类型选的是 DAPLink,并选对目标芯片
- 打开调试日志查看探针枚举、SWJ 时钟、端口上电与复位等诊断步骤,定位失败在哪一步
- DAPLink 没有内建 Flash 算法,烧录会走 FLM;若提示无算法,请安装对应器件的 CMSIS-Pack 或勾选「使用内置 FLM」
Q: 没有开发板,可以调试吗?
可以。在 调试配置 中把调试器类型选为 Virt-Simulator(仿真),CytStudio 会用内置的 QEMU 指令级仿真跑起固件,断点、单步、变量、波形等能力与真机调试一致;仿真目标的串口输出会以 [目标串口] 前缀实时显示在调试日志中。
Q: 内置 AI 智能体如何打开?
智能体面板默认随 IDE 打开,无需额外配置即可使用。若找不到,可在菜单或侧栏中找到智能体入口。
Q: 如何切换模型 / 使用本地模型离线运行?
在 AI 设置 中配置模型端点:
- 在线:填入 DeepSeek / Pi,或任意 OpenAI 兼容接口的地址与密钥即可
- 离线:将端点指向你自己的本地模型服务(如通过 llama.cpp / Ollama 暴露的 OpenAI 兼容接口),即可完全离线运行,无需公网
Q: 智能体提示“需要权限确认”?
内置智能体使用信任梯度权限预设(Plan → Default → AcceptEdits → Bypass)。高风险操作(写文件、执行 Shell、访问网络)会触发用户确认对话框,你可选择允许或拒绝;部分预设下也会启用沙箱化执行。
Q: 如何检查更新?
点击 帮助 → 检查更新,或在启动时由应用自动检查。更新对话框会展示发布说明,并支持“强制更新 / 跳过此版本”。
获取帮助
文档持续更新中,如有疑问欢迎通过问题反馈提交!