当前位置: 首页 > news >正文

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

基于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软件加载烧录文件,定位到固件信息处,双击进行编辑,然后保持。
在这里插入图片描述
在这里插入图片描述

相关文章:

  • 使用webdriver-manager解决浏览器与驱动不匹配所带来自动化无法执行的问题
  • 劫持最新版 QQNT / QQ / TIM 客户端 ClientKeys
  • 第十章 创建Callout Library - 使用 B 链接类型传递短计数字符串
  • MySQL的事务隔离级别
  • LeetCode 394:字符串解码
  • latexshop 使用bug:xxx has a comma at the end
  • 子网掩码与IP段计算
  • java企业网站系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
  • PAT 乙级 1042 字符统计
  • 无需手动搜索!轻松创建IntelliJ IDEA快捷方式的Linux教程
  • Rosalind 035 Creating a Distance Matrix
  • 【科研】[3.番外篇] 常见基础科研词汇的介绍!非常基础的一期,大家选择观看哟~
  • 百度沧海文件存储CFS推出新一代Namespace架构
  • 【SpringCloud笔记】(11)消息驱动之Stream
  • 微信小程序面试题
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • Android框架之Volley
  • CentOS7简单部署NFS
  • IDEA常用插件整理
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • python 学习笔记 - Queue Pipes,进程间通讯
  • python学习笔记-类对象的信息
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • Yii源码解读-服务定位器(Service Locator)
  • 基于axios的vue插件,让http请求更简单
  • 解析带emoji和链接的聊天系统消息
  • 一个JAVA程序员成长之路分享
  • PostgreSQL之连接数修改
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • !!Dom4j 学习笔记
  • #### go map 底层结构 ####
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转载)PyTorch代码规范最佳实践和样式指南
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .NET CF命令行调试器MDbg入门(一)
  • .NET Core中的去虚
  • .NET Framework .NET Core与 .NET 的区别
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .NET 使用配置文件
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .Net中间语言BeforeFieldInit
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • /etc/shadow字段详解
  • @Autowired标签与 @Resource标签 的区别
  • [.net]官方水晶报表的使用以演示下载
  • [100天算法】-每个元音包含偶数次的最长子字符串(day 53)
  • [AS3]URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存
  • [codevs1288] 埃及分数
  • [DAX] MAX函数 | MAXX函数