JLink OB相关的一些记录

发布时间 2023-11-11 00:16:17作者: Milton

使用 STM32F103 Bluepill 制作 JLink OB

The only thing you need to do in order to turn a Blue Pill into a JLink OB is to join PA4 to PA7 via 100 ohms. (which can actually be seen in the schematic also posted in the repo, which I also attached here)
The PA5 is SWD_CLK
PA4 is SWD_IO

Edit.
I've been informed that the firmware on github (even after being updated) does not work with the newer versions of JLink.
I tested with 6.12d and it seemed to work (but all I did was connect and read back the entire contents of a nRF51822)

JLink OB 固件的相关记录

一片早期购买的, 当前使用正常的JLink OB, 显示版本是 J-Link ARM-OB STM32 compiled Aug 22 2012 19:52:04

$ /opt/SEGGER/JLink/JLinkExe 
SEGGER J-Link Commander V7.70c (Compiled Aug 18 2022 17:30:05)
DLL version V7.70c, compiled Aug 18 2022 17:29:50

Connecting to J-Link via USB...O.K.
Firmware: J-Link ARM-OB STM32 compiled Aug 22 2012 19:52:04
Hardware version: V7.00
J-Link uptime (since boot): N/A (Not supported by this model)
S/N: 20090928
License(s): RDI,FlashDL,FlashBP,JFlash,GDB
VTref=3.300V

新购买的 JLink OB, 会提示Clone警告的有问题的版本

$ /opt/SEGGER/JLink/JLinkExe 
SEGGER J-Link Commander V7.70c (Compiled Aug 18 2022 17:30:05)
DLL version V7.70c, compiled Aug 18 2022 17:29:50

Connecting to J-Link via USB...O.K.
Firmware: J-Link ARM-OB STM32 compiled Aug 22 2012 19:52:04
Hardware version: V7.00
J-Link uptime (since boot): N/A (Not supported by this model)
S/N: 20090929
License(s): RDI,FlashDL,FlashBP,JFlash,GDBFull
VTref=3.300V

升级为2009版之后, 连接上JLinkExe会提示升级, 然后升级到 2012

$ /opt/SEGGER/JLink/JLinkExe 
SEGGER J-Link Commander V7.70c (Compiled Aug 18 2022 17:30:05)
DLL version V7.70c, compiled Aug 18 2022 17:29:50

Connecting to J-Link via USB...O.K.
Firmware: J-Link ARM-OB STM32 compiled Jun 30 2009 11:14:15
Hardware version: V7.00
J-Link uptime (since boot): N/A (Not supported by this model)
S/N: 20090928
License(s): RDI,FlashDL,FlashBP,JFlash,GDBFull
VTref=3.300V

但是通过JFlash升级到2012, 还是会被检测为clone

$ /opt/SEGGER/JLink/JLinkExe 
SEGGER J-Link Commander V7.70c (Compiled Aug 18 2022 17:30:05)
DLL version V7.70c, compiled Aug 18 2022 17:29:50

Connecting to J-Link via USB...O.K.
Firmware: J-Link ARM-OB STM32 compiled Aug 22 2012 19:52:04
Hardware version: V7.00
J-Link uptime (since boot): N/A (Not supported by this model)
S/N: 20090928
License(s): RDI,FlashDL,FlashBP,JFlash,GDBFull
VTref=3.300V

再升级为2019版之后

$ /opt/SEGGER/JLink/JLinkExe 
SEGGER J-Link Commander V7.70c (Compiled Aug 18 2022 17:30:05)
DLL version V7.70c, compiled Aug 18 2022 17:29:50

Connecting to J-Link via USB...O.K.
Firmware: J-Link OB-STM32F103 V1 compiled Jan  7 2019 14:10:25
Hardware version: V1.00
J-Link uptime (since boot): N/A (Not supported by this model)
S/N: -1
VTref=3.300V

可升级且不会弹出提示的固件

文件 JLink-OB STM32F103-2009-Upgradable-No-GDBFull.zip, 这个固件是当前最靠谱的版本, 不会弹出Clone告警

下载地址: https://pan.baidu.com/s/1yOAwiEURSdZYoJ-3StnyiA?pwd=g1wx

  • 最近两次购买的廉价JLink OB板型是一模一样的, 在底部有 D-, D+, GND, 5V 和 3V3, D, C, GND 这样的两组焊盘.
  • 两次的MCU不同, 前一次为STM32F103CBT6(怀疑为假货), 后一次买到的是 FCM32F103CBT6, 这两个型号, 都可以在Win10下使用 STM32 ST-Link Utility烧录.
  • 烧录时需要小心切开热缩膜, 用烧录针或者四根公头杜邦线压在焊盘上, D对应的SWD, C对应的SWC, 注意3V3和GND不要接错.
  • MCU出厂时可能会加写保护, 烧录前会提示是否要解开写保护, 按是继续即可.
  • 刚烧录时的JLink OB版本为2009, 在使用 JFlash 连接随便一个开发板后, 会提示是否升级, 点是继续, 会升级到2012, 升级完成后重启时, JFlash 会报连接失败/超时, 可以忽略, 断开后再连接就能看到版本已经变成2012