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.

[参考译文] MSPM0L1227:在生产线中使用唯一的密码锁定 SWD - API 编程访问

Guru**** 2387080 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1434819/mspm0l1227-lock-swd-with-unique-password-in-production-line---api-programming-access

器件型号:MSPM0L1227

工具与软件:

尊敬的先生/女士、

您是否能够建议在生产环境中使用特定于器件的唯一密码锁定 SWD 的方法?

您是否具有使用 API 编程访问在量产线上对器件进行编程的解决方案?

谢谢你

此致

Jayakumar Sengottuvel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jayakumar:

    这可能会变得复杂、因为您需要为每个编程的唯一器件存储密码。 SWD 访问可使用密码锁定、这可以在您对器件进行编程时进行配置、以便此部分正常。 但另一条警告是、您还需要为每个独特的器件重新生成二进制文件、这会显著减慢生产编程过程。  

    如果您的应用可以这样做、您可以做的是:

    在生产线上、读取 TRACEID、这是每个 TI 制造和编程的器件的唯一值。 然后、您可以创建一个算法、将 TRACEID 作为输入来生成密码。 这样,您就不需要存储每个密码,而只需要对哈希算法保密。  

    然后、当您需要通过 SWD 访问器件时、只需读取 TRACEID 并再次对其进行哈希运算、从而获取密码并提供密码。 您可能想知道 SWD 被锁定时如何才能得到 TRACEID -您可以设置 SEC_AP 中断来帮助进行锁定。 SEC_AP 始终可访问、即使 SWD 锁定也是如此。 您可以设置中断以便当您向 SEC_AP RX 缓冲区写入特定的值时、它会获取 TRACEID 并将其放置在其 TX 缓冲区中。 然后只需在 SEC_AP 中读取 TX 缓冲区、重新哈希 TRACEID 以获取密码、然后向 SWD 接口提供密码来解锁。

    同样、这会大幅延长您的生产时间、但允许您拥有唯一的器件 SWD 密码、而无需针对每个器件存储该密码。  

    我不清楚使用 API 编程访问在量产线中进行编程的含义、您是指您在寻找可通过命令行进行控制的调试器吗? 如果您能详细介绍、我很乐意提供帮助。