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.
工具与软件:
我正在尝试使用密码限制软件调试访问。 但是、当我使用 JFlash 7.96刷写器件时、我收到以下关于 NONMAIN 中 CRC 值的问题:
重现步骤:
1.根据1.5.2设置串行线调试锁定策略
2.根据1.5.4设置 SWD 密码
作为测试、我使用虚拟口令:00010203 04050607 08090A0B 0C0D0E0F
3、以下是编译后的映像中位于正确地址的值:
4.尝试擦除器件、但失败、因为 NONMAIN 扇区已锁定
5.尝试对设备进行编程、但 CRC 不正确
6.尝试反向工程的默认 CRC32摘要值发现在1.5.15 ,但这是几乎不可能的,如果你不知道你使用的地址范围或确切的算法方案。
问题:
1.如何在不中断器件的情况下使用 JFlash 擦除 NONMAIN?
2.分别使用哪个确切地址范围来计算 BCR 和 BSL 的 CRC?
3.您使用哪种确切的 CRC32算法来计算校验和?
4. TI 如何期望我们自己计算这些 CRC 值?
5.我们想要随机设定密码并在 CI/CD 部署过程中自动执行该过程,是否有一个 python 库/脚本,您建议使用完全相同的 CRC 方案? 如果不是、我们如何能够随机化密码、然后在编译/链接时使用随机化字填充这些字段?
尊敬的 Edward:
您是否正在使用我们的 SysConfig 工具? 此操作将为您找到具有给定设置和密码的 CRC。 您可以在此处执行所有设置、然后如果不想使用我们的 SysConfig、请将文件复制到您的程序中。
此致、
Luke
嗨、Luke!
因此、此 SysConfig 工具似乎很有用、我一定要查看它、但它位于哪里? 功能? 似乎在开发时验证 CRC 会很有用、但这对我们有关问题5的原因没有帮助
我们需要一种随机设置密码的方法、然后将该密码放入 NONMAIN 中。 也必须相应地更新 CRC。 具体思路是、我们要运行相同的 CRC32算法并将它们本身放置到 NONMAIN 中。 在部署过程中、这似乎不能自动完成(Jenkins / Cloudbess)
我们不使用 CCS 进行开发、因为我们运行 WSL 和 Docker 来管理我们拥有的所有不同构建环境。 所以 CCS 并非对我们最佳。 我们已经将其用于您建议的示例代码
问题4、这是你们期望我们生成 CRC 的唯一方式吗?
另外、请回答问题1、2、3和5。
我们能否安排一次通话、我认为知识的转让比电话沟通要快得多、这对我和我的团队来说是高度优先的事项。
谢谢!
Eddie Devlin
尊敬的 Edward:
我来检查多项式和配置、这样我得到的结果就不会错误。
此致、
Luke
非常感谢您的回复、期待您的参与。
问题2.
特别是对于 BCR、我知道0x41C0005C 是 BOOTCRC 摘要值(请按照步骤查看#6、在原始文章中重现)。 默认值为0x1879DAC3、我一直在努力独自获取它。 不知道你们使用的确切地址范围,我只是在黑暗中拍摄,感觉我在浪费我的时间。 可能我看不到手册的正确位置、或者手册中没有。 我还想了解有关 BSL 配置数据的信息、以防万一
我需要:
a)你们用来计算 BOOTCRC 值的起始地址和结束地址
b)你们用来计算 BSLCONFIGCRC 值的起始和结束地址
尊敬的 Edward:
这是 BCR 和 BSL 的存储器地址
长度是从 ID 寄存器开始的、直到相同的 CRC。 这是 G 系列技术参考手册 NONMAIN 寄存器中的内容。
此致、
Luke
尊敬的 Edward:
以下是 CRC 的参数。 (初始值和最终值是输入和输出、具体取决于您的设置)
此致、
Luke
感谢 CRC32的详细介绍- XOR 值正是我们所需要的!
关于问题1
我们仍在努力擦除 NONMAIN。 在 SEGGER JFlash 中、我们同时启用了 MAIN 和 NONMAIN 这两个扇区并运行了擦除扇区(F3)和擦除芯片(F4)命令。 这两种情况都会导致此错误:
所以似乎不像编程 main 那么简单。 我们如何解锁这个扇区以便我们可以擦除它?
尊敬的 Eddie:
我采用 gpio_toggle_output 示例并将其调整为执行快速引导选项(以生成新的 NONMAIN)。 在刷写 NON-MAIN 时没有遇到任何问题。 我的 J-Flash 版本为8.12、而不是7.96、我通常会选择量产编程选项、而不是对扇区进行单独擦除。