锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

保姆级STM32F103C8T6做USB-TypeC版J-link OB(官方数据手册,硬件设计,固件烧录)

时间:2022-11-21 04:30:00 电子连接器type

前言

应用于项目开发Jlink调试代码,每次连接都有用Jlink 的Jtag连接板子的SWD接口恰逢开发板升级,然后考虑是否可以升级Jlink集成在下一代开发板上。
看手中的Jlink好像比较小
J-OB
检查后发现这似乎叫它Jlink-OB,OB好像是On Board的缩写,
打开外壳检查


。。。这也太简洁了吧,外部晶振都没有,直接用的内部的晶振。。

而且还是用的STM32F072C8T6 做主控,手头也没有F只有072板F103C8T6,

如果原理相同,应该可以平替,然后试着找官方信息

一、找官方渠道Jlink OB 资料

Segger官方的Jlink OB 介绍:What is the J-Link OB?
Segger官网关于JlinkOB的手册:JLinkOBSTM32F103.pdf

还真有F103做的Jlink-OB,原理图如下:

图片来源:JLinkOBSTM32F103.pdf

我用的是SWD模式,因此只要找到3.3V----GND----RESET—SWDIO—SWCLK—SWO 这六条线就行了

但原理图是JTAG找到端口JTAG与SWD接口对应关系:


简单来说:

TDO-----------SWO
TCLK----------SWCLK
TMS-----------SWDIO
RESET-------RESET

结合原理图得出:

PA10---------TDO-----------SWO
PA5----------TCLK----------SWCLK
PA7-----------TMS-----------SWDIO

但是Reset由于有两个引脚:RESET and TRSTS
查看下文:

RESET

Abbreviation of System Reset. The electronic signal which causes the target system other than the TAP controller to be reset. This signal is also known as “nSRST” “nSYSRST”, “nRST”, or “nRESET” in some other manuals. See also nTRST.

nTRST

Abbreviation of TAP Reset. The electronic signal that causes the target system TAP controller to be reset. This signal is known as nICERST in some other manuals. See also nSRST.

翻译一下:

RESET

系统重置的缩写。TAP电子信号复位于控制器以外的目标系统。在其他手册中,该信号也被称为nSRST”、“nSYSRST”或“nRESET另见 nTRST。

nTRST

TAP 复位缩写。导致目标系统TAP控制器复位的电子信号。该信号在其他手册中被称为nICERST。另请参见 nSRST。

两个引脚分别连接:
RESET----PA1
nTRST-----PA0
而且“TAP就像一个简称 但是搜索了这个文档,没有在其他地方找到全称。

然后试着找到非官方信息

二、在立创开源硬件平台上找到Jlink OB的帖子

原项目链接:JLink-OB_32f103


似乎我不明白该做什么。RESET。。。

但似乎有固件源码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


评论区留了.bin文件转.hex的工具:

下载了.bin源码 与 Bin转Hex工具:用这个工具自己转,记得初始地址设置为:0x8000000,
链接:https://pan.baidu.com/s/13v4A1jt-ohrjbC3bicFDCQ
提取码:kw6h
转换出 OB-STM32_V754_Change date to to 30-02-02.hex

(直接下载:转换好.hex文件和JLink_Windows_V764c_x86)

碰巧手头有个宝买的。STM32F103C8T6的核心板

不知道哪个引脚还不能一个个烧录引脚试试吗?(万能穷法【手动狗头】

三、烧录固件到STM32F103C8T6方法

1. 安装好JLink_Windows_V764c_x86----选择J-Flash

2、选择“Create new project”



3.下载好的Hex将文件拖入软件并连接Jlink与F103C8T6


4.显示成功后


按“F点击5或上图Program”

若出现上图:若出现上图:
ERROR: Programming failed @ address 0x08000000 (program error) - End of flash programming - ERROR: Program failed”
按“F7” 以下弹出窗口将被证明已完成烧写。

烧录成功!

5.MicroUSB 线连接制作良好的第二个Jlink OB

插上电脑 设备管理器-通用串行总线控制器—J-link driver

成功!

试着用自制的Jlink OB 烧录到 新的 STM32F103中

找到以前做过的项目
双击.uvprojx文件 在Keil中打开

Options for Target----Dubug—下拉选择J-LINK—settings–Port—SW
此时识别到SWDIO IDcode and Device Name

连接目标的SWD接口

PA7(TMS-SWDIO)-----目标EVB的SWDIO
PA5(TCLK-SWCLK)—目标EVB的SWCLK
点击 Download

Full Chip Erase Done.
Programming Done.
Verify OK.
JLink Info: Reset: Halt core after reset via D
EMCR.VC_CORERESET.
JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.
Application running …
Flash Load finished at 21:49:18"

自制Jlink OB 成功!!!

五、RESET最终是PA1

连接一个有RESET 的32位开发板
试一试,看Segger使用了原理图RESET是接到STM32Jlink-OB上NRST上 测试-不行
又发现https://lceda.cn/editor#id=8c606087ff85467aba48fa8b07c9a353 这个帖子中nRESET连接的是Jlink OB的PA1
测试成功!

测试结果:

F103C8T6版Jlink OB引脚--------------------目标EVB
PA10(TDO)-----------------------目标EVB的SWO
PA7(TMS-SWDIO--------------目标EVB的SWDIO
PA5(TCLK-SWCLK)------------目标EVB的SWCLK
PA1 (nRESET)-------------------目标EVB的Reset

最后按照原理图JLinkOBSTM32F103.pdf 连接好其他部分
自制Jlink OB 原理图如下:


随后有机会原理图开源

参考链接:

Segger官方的Jlink OB 介绍:What is the J-Link OB?
Segger官网关于JlinkOB的手册:JLinkOBSTM32F103.pdf
立创开源硬件平台: JLink-OB_32f103

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章