打印
[其他ST产品]

基于STM/APM32F072制作的J-Link OB调试器项目验证

[复制链接]
1080|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sj8zw8|  楼主 | 2024-1-31 11:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sj8zw8 于 2024-1-31 11:11 编辑


采用该项目提供的固件,烧录STM32f4时信息以及硬件信息:

对于制作的J-Link OB调试器,也可以使用现成的ST-LINKv2烧录器通过特定软件升级固件换成J-Link OB调试器的固件。也就是说,制作J-Link OB调试器,可以是STM32F103CBt6的芯片。

1263565b9b9c14d91b.png (369.08 KB )

1263565b9b9c14d91b.png

使用特权

评论回复
沙发
sj8zw8|  楼主 | 2024-1-31 11:09 | 只看该作者
本帖最后由 sj8zw8 于 2024-1-31 11:10 编辑

该项目是基于STM32F072CBTx制作的,正好手上之前制作过一款stm32f072RBT6的最小系统板,于是进行功能验证一下,实际采用的是极海的APM32F072RBT6主控芯片,成功验证了项目可行性。

在JLINK没有添加license情况下,不支持JLINK软件下载。
J-Link OB-STM32F072 最快下载速度2M,设置2MHz下载速度,需要将J-Link OB-STM32F072的PA1连接到目标板上的NRST引脚,才能达到此速度,没有连接此引脚,只能选择500KHz的下载速度.否则,在设置高于500KHz速度参数时,下载会报错。

3847065b9b9e02d384.png (26.05 KB )

3847065b9b9e02d384.png

使用特权

评论回复
板凳
sj8zw8|  楼主 | 2024-1-31 11:09 | 只看该作者
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,下载程序时才不会报错。

使用特权

评论回复
地板
sj8zw8|  楼主 | 2024-1-31 11:09 | 只看该作者
本帖最后由 sj8zw8 于 2024-1-31 11:11 编辑

如果个人进行验证的话,硬件+制作成本可能就5元以内(主控3.5元+其他元件算1.5)就可以制作,前提是使用立创免费PCB打样。\
原理图:

675265b9b9fef0c09.png (624.23 KB )

675265b9b9fef0c09.png

使用特权

评论回复
5
sj8zw8|  楼主 | 2024-1-31 11:12 | 只看该作者
项目的在线原理图以及PCB文件:https://365.altium.com/files/E4666ADF-0253-4355-9297-A74E3173189E?openedFrom=files&variant=[No+Variations]

使用特权

评论回复
6
sj8zw8|  楼主 | 2024-1-31 11:12 | 只看该作者
APM32F072可以参考:(D+需要1.5K上拉):https://www.geehy.com/uploads/tool/APM32F072VB-MINIBOARD%20V1.0.pdf

使用特权

评论回复
7
sj8zw8|  楼主 | 2024-1-31 11:12 | 只看该作者
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)

使用特权

评论回复
8
sj8zw8|  楼主 | 2024-1-31 11:13 | 只看该作者
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设备,必须手动更新驱动才行。

使用特权

评论回复
9
sj8zw8|  楼主 | 2024-1-31 11:13 | 只看该作者


驱动下载地址:https://www.segger.com/downloads/jlink/

使用特权

评论回复
10
sj8zw8|  楼主 | 2024-1-31 11:14 | 只看该作者
烧录配置参考
Keil MDK烧录配置参考选项:

使用特权

评论回复
11
sj8zw8|  楼主 | 2024-1-31 11:15 | 只看该作者
序列号和license添加
添加这2项内容主要是为了使用JLINK软件直接对目标对象进行烧录。添加序列号操作必须使用JLINKV7以下的版本才支持修改序列号的命令。

使用特权

评论回复
12
sj8zw8|  楼主 | 2024-1-31 11:15 | 只看该作者
烧录完成固件后,并且安装了JLINK软件以及打好驱动后,运行JLINK的J-Link Commander窗口,会S/N序列号会显示-1显示:

使用特权

评论回复
13
sj8zw8|  楼主 | 2024-1-31 11:15 | 只看该作者
输入exec setsn=20231231,其中setsn=后面的数字字符串中自己随便填写。

使用特权

评论回复
14
sj8zw8|  楼主 | 2024-1-31 11:15 | 只看该作者
在JLINK菜单help - license-选择Add license按钮进行添加。

使用特权

评论回复
15
sj8zw8|  楼主 | 2024-1-31 11:15 | 只看该作者
添加license序列号需要根据上面所设定的序列号进行生成。忘记了可以提供JLINK command进行查看。

使用特权

评论回复
16
sj8zw8|  楼主 | 2024-1-31 11:16 | 只看该作者
工具来源于:https://oshwhub.com/LSanor/jlink-ob_32f103

使用特权

评论回复
17
sj8zw8|  楼主 | 2024-1-31 11:16 | 只看该作者

使用特权

评论回复
18
sj8zw8|  楼主 | 2024-1-31 11:16 | 只看该作者
有关固件版本修改说明
使用ST-LINK Utility软件加载烧录文件,定位到固件信息处,双击进行编辑,然后保持。

使用特权

评论回复
19
sj8zw8|  楼主 | 2024-1-31 11:17 | 只看该作者


ST-LINKv2调试器和J-Link OB调试器固件相互介绍
使用SEGGER官网的工具软件STLinkReflash,进行固件升级和转换。

使用特权

评论回复
20
sj8zw8|  楼主 | 2024-1-31 11:17 | 只看该作者
通过软件该软件进行固件更新操作比较简单,可以自行搜索相关内容,进行进一步了解。但是需要注意一点,目前测试发现,仅支持使用ST意法半导体的stm32f103C8-B的芯片才支持该软件的固件更换。同型号国产的不支持该软件的固件更换,只能通过SWD刷写的方式来实现固件的更换。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

310

帖子

1

粉丝