尊敬的专家:
我的客户制作自己的串行闪存编程工具。 他们希望在闪存内核中读取器件系列、以确认内核在正确的器件上运行。
通常、一个系列的闪存内核无法在其他系列的器件上正常运行、 他们想要的特性更像是失效防护、以防内核与不正确的器件发生某种程度的兼容。
如何从闪存内核中获取器件系列?
C2000 唯一器件编号(修订版 B)(TI.com) 唯一器件编号似乎不包括该系列。
此致、
挂起。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
尊敬的专家:
我的客户制作自己的串行闪存编程工具。 他们希望在闪存内核中读取器件系列、以确认内核在正确的器件上运行。
通常、一个系列的闪存内核无法在其他系列的器件上正常运行、 他们想要的特性更像是失效防护、以防内核与不正确的器件发生某种程度的兼容。
如何从闪存内核中获取器件系列?
C2000 唯一器件编号(修订版 B)(TI.com) 唯一器件编号似乎不包括该系列。
此致、
挂起。
尊敬的 Hang:
由于存在闪存内核、因此无法获取器件系列。 可以实现的方法 是在内核和主机之间进行检查、以查看 发送的器件命令是否在主机编程器和闪存内核之间匹配(如果使用的是对 SCI 闪存内核/主机编程器的修改)。 这个器件可以是一个被发送的命令、此命令包含一个系列的编号器件、如果此系列在器件上看到的器件内核中不匹配、程序应该终止。
相关指导、您可以查看串行闪存主机编程器数据包构造中的命令(例如 DFU CPU1)、并了解 SCI 闪存内核如何接受此命令。
谢谢。此致、
查尔斯
尊敬的 Charles:
感谢您的建议。 此方法可以确保内核文件与主机编程器匹配。 不过、在另一种情况 下、器件与内核不匹配。 例如、当在主机编程器和 f2807x 内核与 app 上使用 f807x 设置时、他们抓取错误的板并将 f28p65x 连接到串行端口、通过这种方法、如果内核与 f28p65x 以某种方式兼容、主机和内核之间的检查将通过、 而 f2807x 应用程序将刷写到 f28p65x。 有没有办法防止这种情况?
谢谢。
挂起、
尊敬的 Charles:
在刷写应用程序时中止闪存也是可以接受的、在内核执行/失败之前不必中止。 如果内核出现故障、没问题、因为应用程序不会刷新、可通过对主机进行一些超时检查来检测。
简而言之、我们只需要确保在不正确的器件上刷写失败。 内核通常会在不正确的器件上发生故障、这很好、但无法100%确定、因此我们必须确保它在以后的过程中发生故障。 有什么方法可以做到这一点吗?
此致、
挂起
尊敬的 Hang:
正如 上面在我的原始答复中所建议的那样,在内核方面(CCS) 你可以首先编辑 SCI_GetFunction (),然后调用任何函数,以查找该器件的 UID 位置的 UID 值,并将该值放入变量中。 然后应将 UID 数据发送回主机编程器。 在在提示符处接收用户命令之前、还需要修改主机以将命令与作为命令数据包一部分的已知 UID 位置数据进行比较。 如果两者不匹配、主机可以打印错误消息(例如"不兼容的器件")并退出。
谢谢。
查尔斯