【问题标题】:Verify unique ID number before writing a new number in PIC18F在 PIC18F 中写入新编号之前验证唯一 ID 编号
【发布时间】:2016-10-07 12:55:53
【问题描述】:

每个芯片的编号应该是唯一的,所以我想防止一个芯片被烧两次。这是顺序的间隔。每个数字都应该使用。

我搜索了互联网,发现如何在称为“用户 ID”的特定位置写唯一数字。

因此我有两个文件: -“我的程序.hex” -“MyUniqueNumber_SQTP.num”

我使用 MPLAB X v3.35 和 IPE 版本进行编写。

有没有人知道在写入微芯片之前是否有一个程序可以验证“用户 ID”(这很常见)。例如..空白支票

我知道 IPE 将为那个“一个”芯片生成一个组合的十六进制文件。这是可能的,因为唯一编号在地址(十六进制)上:200000-200007 主程序不使用这个地址。

【问题讨论】:

  • 如果您知道二进制图像的确切格式,那么您可以实现一个脚本(例如,在 Python 中)将 ID 注入到该特定地址的 hex 文件中,然后再将图像刻录到闪光。顺便说一句,为了确保该地址永远不会被使用(即,为您的特定目的保留它),您可能应该在链接器设置中添加适当的规则。
  • 感谢 barak manos,但组合十六进制不是问题。我想在写一个新的之前验证芯片中是否有固件,是否有数字。
  • 读出芯片(或至少足够让自己满意),看看你得到了什么。当然,如果您对反回读保险丝进行编程,您将无法做到这一点。也许您需要通过建立明确的工作程序和记录保存来解决这个问题。

标签: embedded pic firmware


【解决方案1】:

如果您使用支持 SQTP 的 PICKIT 3,您可能可以使用它的命令行界面(pk3cmd.exe,与 MPLAP IDE 捆绑在一起)。您可以先将 ID 内存(使用 -GI)或部分内存(使用 -GP)读取到文件中,然后验证它是否已经被烧毁。然后很容易将其集成到 JAVA/.Net 应用程序以自动化该过程。

对于其他调试器,应该有类似的 CLI。

PK3CMD command line options

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-16
    • 2022-01-07
    • 2016-08-30
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多