基于STM/APM32F072制作的J-Link OB调试器项目验证
- 📍本文基于github项目:
https://github.com/geekchun/Jlink-OB/tree/master
- ⚡申明:仅限个人研究学习,无其他用途。
- 🌿采用该项目提供的固件,烧录STM32f4时信息以及硬件信息:
✨该项目是基于
STM32F072CBTx
制作的,正好手上之前制作过一款stm32f072RBT6的最小系统板,于是进行功能验证一下,实际采用的是极海的APM32F072RBT6
主控芯片,成功验证了项目可行性。
- 👉在JLINK没有添加license情况下,不支持JLINK软件下载。
- 🌿J-Link OB-STM32F072 最快下载速度2M,设置2MHz下载速度,需要将J-Link OB-STM32F072的PA1连接到目标板上的
NRST
引脚,才能达到此速度,没有连接此引脚,只能选择500KHz的下载速度.否则,在设置高于500KHz速度参数时,下载会报错。
📓STM32F072的OB调试器简介
- 📍segger官方对J-Link OB介绍:
https://www.segger.com/products/debug-probes/j-link/models/j-link-ob/#supported-devices
- 🔖仅支持SWD接口
- 🔖仅支持Cortex-M MCU
- 🔖支持SWO功能
- 🔖使用STM32F072的硬件串口来实现的CDC虚拟串口
- 🔖无需外部晶振,使用内部48MHz的HSI
🔖 外部器件更少,体积更小巧. - 🔖下载速度慢,固件限制jtag时钟最高2MHz。
- ✨使用个人开发板验证时测试,时钟调至500KHz,下载程序时才不会报错。
-
🔰如果个人进行验证的话,硬件+制作成本可能就5元以内(主控3.5元+其他元件算1.5)就可以制作,前提是使用立创免费PCB打样。
-
🍁原理图:
-
📌项目的在线原理图以及PCB文件:
https://365.altium.com/files/E4666ADF-0253-4355-9297-A74E3173189E?openedFrom=files&variant=[No+Variations]
-
🌿APM32F072可以参考:(D+需要1.5K上拉):
https://www.geehy.com/uploads/tool/APM32F072VB-MINIBOARD%20V1.0.pdf
- ✨stm32f072cxt6芯片的DP线是内置上拉电阻的,可以不需要此上拉电阻。可以参考:
https://oshwhub.com/lsanor/j-link-ob-stm32f072_v1-2
- 📑基于STM/APM32F072 JLINK OB烧录连接方式:
PA2 --- 连接目标板的PA14(swclk)
PA4 --- 连接目标板的PA13(SWDIO)
PA1 --- 连接目标板的NRST(RST)
---虚拟串口---
PA9(OB_TX)
PA10(OB_RX)
- 🔧J-Link驱动下载地址:
https://www.segger.com/downloads/jlink/
📑固件烧录说明
- ✨个人直接使用的是项目提供的
jlink-ob-072-cortex-m.bin
文件直接使用STM32 ST-LINK Utility工具进行烧录。
- 🌿使用
APM32F072
芯片,需要注意,如果使用STM32 ST-LINK Utility工具烧录,那么版本不能太高,否则无法连接和识别APM32芯片,新版本的STM32所有上位机软件都有排他性识别。 - 🏷极海Geehy-ISP软件通过串口下载:
https://www.geehy.com/apm32?id=16
- 🌿烧录完固件后,需要安装驱动,才能正常识别J-LINK,否则在电脑设备管理器中只显示
bulk interface
设备,必须手动更新驱动才行。🔖具体可以参考:https://wiki.segger.com/J-Link_shown_as_generic_BULK_device_in_Windows
- 🌿驱动下载地址:
https://www.segger.com/downloads/jlink/
🛠烧录配置参考
- 🔧Keil MDK烧录配置参考选项:
⛳序列号和license添加
- ✨添加这2项内容主要是为了使用JLINK软件直接对目标对象进行烧录。添加序列号操作必须使用JLINKV7以下的版本才支持修改序列号的命令。
- 🌿烧录完成固件后,并且安装了JLINK软件以及打好驱动后,运行JLINK的
J-Link Commander
窗口,会S/N序列号会显示-1显示:
- 🌿输入
exec setsn=20231231
,其中setsn=
后面的数字字符串中自己随便填写。
- 🌿在JLINK菜单help - license-选择
Add license
按钮进行添加。
- 🔖添加license序列号需要根据上面所设定的序列号进行生成。忘记了可以提供
JLINK command
进行查看。
- 📌工具来源于:
https://oshwhub.com/LSanor/jlink-ob_32f103
- 🌿有关固件版本修改说明
使用
ST-LINK Utility
软件加载烧录文件,定位到固件信息处,双击进行编辑,然后保持。