通过JTAG恢复STM32 MCU磨掉的标记

2024-02-08

我有一块可能带有 STM32 MCU 的板。我想为该板制作定制固件,因为库存板有很多问题。不幸的是,电路板制造商很友善地磨掉了所有标记。有没有办法通过 jtag 获取设备/系列 ID 并将其交叉引用到型号?我能找到的一切都是关于获取芯片的唯一ID,这不是我需要的。


In pystlink https://github.com/pavelrevak/pystlink(SWD程序员)正在实现,几乎可以成功识别任何STM32 MCU。

原理是:

  1. read PART_NO从寄存器CPUID http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0553a/CIHGGBIH.html在地址0xe000ed00通过此可以识别该文件中的 MCU 是否为 Cortex M0、M3、M4、..stm32devices.py https://github.com/pavelrevak/pystlink/blob/master/lib/stm32devices.py
  2. read IDCODE_REG(M0 和 M0+ 该寄存器的地址与 M3、M4 和 M7 不同)前 12 位是DEV_ID,识别家庭并再次调查stm32devices.py file
  3. 从寄存器读取闪存大小FLASH_SIZE_REG(每个系列在不同的地址上都有这个寄存器)并通过以下方式再次识别具体设备stm32devices.py file

或者只需连接 SWD 并保留 pystlink 即可检测正确的 MCU。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过JTAG恢复STM32 MCU磨掉的标记 的相关文章

随机推荐

  • 对于使用`type()`构造的类型,mypy“作为类型无效”

    mypy 抱怨error Variable packagename Foo is not valid as a type Foo type Foo Bar Optional Foo 可以通过将类型定义为类来修复此错误 class Foo p
  • php var_dump($object) 或 print_r($object) 到日志文件

    这个问题是通用的 我只是想知道如何将对象转储到日志文件 为了澄清事情 我通过一个例子来阐述 我已经成功地使用 magento 观察者在某些事件发生时调用方法 例如 我正在观察何时通过以下方式保存货件
  • Google 脚本和 AWS SDK

    我想通过 GoogleScript 中的代码与 Google Sheet 中的 Amazon Web Services DynamoDB 进行交互 但是 我不知道如何集成AWS SDK 我希望避免编写一个库来通过 AWS HTTP API
  • python中水平方向的物理拉伸图

    我想要一个使用 matplotlib 创建的简单 x y 图 并在 x 方向上进行物理拉伸 目的是获得让我更容易检测信号中的特征的结果 所以我不想改变任何尺度 值或限制 只需更改输出文件中两个网格点之间的距离 我想在四个子图上这样做 之后它
  • 使用 Pandas groupby 连接多行字符串并从逗号分隔的单元格中删除重复项

    我有以下数据并尝试按唯一 id 进行聚合 并且需要在各自列的一个单元格中获取唯一名称 唯一产品 唯一价格 Unique id Name Product Price 101 ABC Ltd A 100 102 JKL Ltd B 200 10
  • Pygame 的基本网络

    我需要为 Pygame 项目做一些基本的网络工作 基本上 它是一款 2D 单人或合作游戏 网络只需要支持两个玩家 其中一个作为主机 唯一需要发送的信息是玩家 小兵和子弹的位置 我一直在阅读并Twisted https en wikipedi
  • 使用指向本地 p2 存储库的 tycho 构建本地 eclipse 插件

    我正在创建一些需要第三方插件和功能的 Eclipse 插件和功能 为了将这些依赖项包含到我的项目中 我创建了一个 p2 布局存储库 注意 我的 p2 工件不是 Maven 项目 但是 我正在使用 Maven 风格构建 这是 p2 存储库的
  • 如何在 Nuxt 中设置 SASS/SCSS/sass-loader

    我有一个 Nuxt 应用程序 我想使用 CSS 预处理器 我安装了sass loader纤维依赖性 但安装后 应用程序控制台中会出现一条消息 我在图像和代码中显示了该消息 这是代码错误 WARN email protected cdn cg
  • 双线性插值 - DirectX 与 GDI+

    我有一个 C 应用程序 我为其编写了 GDI 代码 该代码使用 Bitmap TextureBrush 渲染来呈现 2D 图像 可以应用各种图像处理函数 该代码是应用程序中模仿现有 DX9 代码的新路径 它们共享一个公共库来执行所有向量和矩
  • 开源 SharePoint? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有 SharePoint 的开源替代品吗 我想要提供与 SharePoint 相同的层次结构和基于 p
  • 为类创建通用委托

    假设我有非常简单的课程 class Box
  • 在php中格式化电子邮件?

    to email subject Thank You message p Thanks for applying p from email protected cdn cgi l email protection headers From
  • 尽管设置为超过两分钟,但套接字在两分钟后超时

    下列的这个帖子 https stackoverflow com questions 12406628 java socket read time out exception 我有同样的问题 我设法通过一个简单的测试来重现它 我希望你能帮助我
  • 导入错误:无法导入名称“阶乘”

    我想使用 logit 模型并尝试导入 statsmodels 库 我的版本 Python 3 6 8 我得到的最好建议是降级 scipy 但不清楚如何降级以及应该降级到什么版本 请帮忙如何解决 https github com statsm
  • 在iOS 5中,如何使用AudioSession来确保插入耳机时通过扬声器播放音频?

    void viewDidLoad super viewDidLoad NSString filePath NSBundle mainBundle pathForResource 1 ofType mp3 Convert the file p
  • Genymotion不会停止优化应用程序

    我尝试将 Genymotion 与 Android Studio 结合使用 以便可以测试应用程序 但每当我尝试启动模拟器时 它都会显示 Android 正在启动 正在优化应用程序 of 74 并且它会优化一段时间 最终它停止优化 但随后它只
  • 在 eclipse 中为项目生成 Ant 构建文件

    我有一个使用 eclipse 用 Ja va 编写的项目 我想为其生成一个 Ant 构建文件 如何做呢 我经常需要使其与源代码保持同步 以便在修改项目结构时可以将其与代码一起提升到公共存储库 我很抱歉问这样一个愚蠢的问题 我浏览了各个论坛
  • JS:如何处理从 API url 返回的 400 Bad Request 错误

    仍然很缺乏经验 我正在尝试错误处理 400 Bad Request 我有一个带有搜索栏的网站 然后 输入到搜索栏中的值将被放入返回对象的 api url 中 每当输入拼写错误的搜索值时 站点的控制台都会针对 api url 返回 400 错
  • 在 C 中使用变量文件名读取多个具有相似名称的文件?

    我有多个名为sensor0 txt sensor1 txt sensor2 txt 等的文件 我需要打开这些文件 用它们进行计算 并将它们打印在屏幕上 所以我想到了类似的事情 for i 0 i lt N Number of files i
  • 通过JTAG恢复STM32 MCU磨掉的标记

    我有一块可能带有 STM32 MCU 的板 我想为该板制作定制固件 因为库存板有很多问题 不幸的是 电路板制造商很友善地磨掉了所有标记 有没有办法通过 jtag 获取设备 系列 ID 并将其交叉引用到型号 我能找到的一切都是关于获取芯片的唯