先把问题拆清楚——“读取”到底读什么?
在单片机语境里,“读取”通常有三层含义:
调试/生产阶段的“正常读取”
通过官方调试口(ICSP 或 FMD-Link)把 Flash/EEPROM 里的程序或数据回读到 PC,用来做量产校验或在线升级。
逆向/破解场景下的“非侵入式读取”
不破坏封装、不磨盖,用第三方编程器或自制硬件直接 dump 整个程序区。
物理级别的“侵入式读取”
拆封装、探针扎线,甚至 FIB 改线,把存储阵列的电荷状态读出来。
下文把三种场景一次说明白,并给出可行性与风险对照表。
官方通道:100 % 可读,但有前提
工具链
• FMD-Link(或兼容的 FMD-ICE)+ FMD IDE
• FlashPro 下载器(支持批量校验回读)
可读取内容
• 程序 Flash(PROM 区)
• 数据 EEPROM
• SRAM(在线调试时可实时查看)
限制条件
• 读功能受“Code Protect”熔丝位控制。出厂默认关闭保护,用户可在烧录时勾选“Enable Code Protect”。
• 一旦开启保护,官方工具也读不回程序区,只能全片擦除后重新烧录。
• 部分 Touch MCU(FT62F0Gx 等)在开启“Boot + IAP”模式后,Boot 区仍可读,应用区被保护。
结论:只要没开保护,开发者随时可读;开了保护,官方也束手无策。
非官方通道:难度与风险随型号差异巨大
8-bit OTP/EPROM 老型号(FT60F0xx 早期批次)
• 采用单层金属、0.35 µm OTP 工艺,显微镜下即可看清位线。
• 市面上有“一拖八”编程器声称可直读,但只要 Code Protect 熔丝烧断,数据线即被永久隔离,只能读到 0x3FFF(全 1)。
→ 保护位一烧,直读成功率 ≈ 0。
8-bit MTP/Flash 新型号(FT60F211、FT62F0xx 后期批次)
• 采用 0.15 µm MTP + 金属 3 层工艺,位线埋在金属 2 以下,非侵入式光学手段基本失效。
• 公开资料未发现第三方量产级漏洞;网上流传的“FMD 旁路攻击脚本”属于实验性质,需要 glitch 电源与精确时序,普通玩家不具备可复制性。
32-bit ARM 内核系列(FT32F0xx)
• 内建 SWD 口,默认开启 RDP Level 1(相当于 ST 的 Level 1)。
• 目前 RDP Level 2 尚未发现量产芯片启用,因此可通过“SWD + 擦除解锁”方式 dump SRAM,但 Flash 仍受保护。
→ 这类芯片的逆向难度与 STM32F0 系列持平。
侵入式读取:理论上可行,成本极高
• 需要 FIB 打开顶层金属 + 激光切割保护熔丝 + 探针台读 bitline,单次开销 > 5000 美元。
• 对 8-bit 小容量 MCU 来说,ROI 极低;只有大批量克隆时才可能采用,而辉芒微的单价普遍 < 0.3 USD,基本无利可图。
一张表看清“能不能读”
场景 | 是否可读 | 条件/工具 | 法律与风险 |
---|---|---|---|
官方调试回读 | ✅ | FMD-Link + 未开保护 | 合法、无风险 |
第三方编程器 | ❌~⚠️ | 保护位未烧 | 合法,但可靠性差 |
非侵入式旁路 | ⚠️ | 需专用硬件+漏洞 | 灰色,可能侵权 |
侵入式物理 | ✅ | FIB+探针台 | 高成本、违法风险高 |
开发者实用建议
量产前一定确认 Code Protect 状态:FMD IDE → Configure → Security → 勾选“Enable”即可彻底锁死。
如果必须保留现场升级通道,可保留 Boot 区可读,应用区加密;使用官方 IAP Demo 做双区备份。
对于高价值算法(如电机控制 PI 参数、加密密钥),可放入 EEPROM 并启用 EEPROM 读保护位(EERE),防止官方工具回读。
不要轻信“万能编程器”广告:辉芒微在 2023 年后已全面启用新型 MTP + 熔丝保护,公开渠道尚无可靠绕过方案。
三佛科技提供样品,技术支持,可烧录~
一句话总结
辉芒微 MCU 在设计之初就兼顾了“易开发”与“难破解”:
• 开发者手里,它是透明的;
• 逆向者手里,它是磨砂的;
• 只有在你主动把灯关掉(烧断保护位)后,它才真正变成“黑盒”。