BlackMagic Probe 折腾
Last updated: 2021-08-17
blackmagic commit: 3b8502c
前言¶
这个东西:
- 很便宜(自制的话; 原版不仅是Micro B接口和少见的调试接口, 而且贵得很, 毕竟电平转换什么的都搞定了)
- 很方便(直接适配GDB/板上GDB Server, 不需要额外开openocd或者其它东西)
- 源码开放 Git仓库
- 功能全
缺点:
- 支持的ARM芯片类型有限
- 可能没商业解决方案稳
- 只能用GDB那套通信协议
折腾简记¶
简单说下我做过的折腾:
- 尝试自己画板子还原一个廉价版(失败/放弃)
- 尝试自己修改固件适配Weact的Bluepill(成功,不过是修改引脚定义)
- 尝试将该固件安装到我买的STLink V2.1仿品(Type C接口)上
本文将进一步介绍第3部分内容
将STLink改为Blackmagic Probe¶
注意点:
- 按照官方教程没啥大问题, 有些细节在后面说
- 如果之前有把STLink刷成Jlink OB, 一定要先把它改回来再刷BMP
编译固件¶
无需特殊设置, 按流程来.
按我这里提供的操作(即官方文档里的操作), 原STLink的Bootloader是会保留的, 以后还能还原回去, 大可放心
git clone https://github.com/blacksphere/blackmagic
cd blackmagic
git submodule init
git submodule update
make PROBE_HOST=stlink ST_BOOTLOADER=1
编译完成后取src/blackmagic.bin
备用
刷写固件¶
使用社区研究成果stlink-tool
git clone https://github.com/jeanthom/stlink-tool
cd stlink-tool
git submodule init
git submodule update
make
注意: 截至2021年2月2日 UTC+8, STLink V2.1及更高版本暂时需要用 UweBonnes的stlinkv21分支 才能正常升级
编译好后取stlink-tool
备用
将blackmagic.bin
和stlink-tool
放在一起(方便点), 插上你的STLink, 执行下面的命令
./stlink-tool blackmagic.bin
这样就刷写完毕了
一些注意点:
- 对于STLink V2及更低版本, 每次使用都需要执行
stlink-tool
或blackmagic
(后者是对应的PC端程序)以激活板上的BMP应用程序. 如果不喜欢, 你可以选择像他们一样patch一下bootloader
还原为STLink¶
啊这, 我不想翻译了, 就自己去那里看吧
写一下注意点:
+ STLink V2.1及以上版本需要在上电时将NRST短接GND一下(对,只要碰一下), 才能回到Bootloader模式
可以用dfu-util让BMP进入bootloader模式(只不过是ST-Link的bootloader), 甚至可以直接用修改后的stlink-tool刷回去