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.

[参考译文] CC3235MODS:通过 SPI 对模块进行编程

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1063449/cc3235mods-programming-the-module-via-spi

器件型号:CC3235MODS
主题中讨论的其他器件: UNIFLASHSysConfig

尊敬的 TI:

我在 CCS IDE 上创建了一个项目、我在 TI-Launchpad 上运行代码而没有任何问题。 现在、我想将代码闪存到外部 PCB 中的模块。  

CC3235MODS 在此 PCB 中处于生产模式。

UART (引脚46和47)未连接、因此我无法使用 Uniflash 从生产模式切换到开发模式。 我也无法使用 JTAG、因为 CC3235MODS 未处于开发模式。

剩下的唯一可用选项是 SPI,我将 FLASH_SPI_*引脚与外部 SPI 适配器(Cheetah SPI 主机适配器)配合使用,我将十六进制文件刷写到4MB SPI 闪存中,但它不起作用。

我使用 Uniflash (mycode.bin + service_pack.bin)创建了十六进制文件。

您是否认为问题可能来自 MAC 地址、Uniflash 获取 Launchpad 板中模块的 MAC 地址、该模块地址与 PCB 中的模块地址不同。

此致、

布拉希姆

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

    您好、Brahim、

    您是否能够在需要适当的代码签名证书的生产模式下对 LaunchPad 进行编程? 如果是、则没有理由在您的硬件上出现问题(您需要完全擦除 SPI 闪存、并且需要使用 SOP 模式0-0-0进行映像解压缩)。

    1月

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

    您好、Jan、

    我在生产模式下刷写了 Launchpad、没有任何问题。

    当我使用 Cheetah SPI 刷写 PCB 模块时、LaunchPad 用户指南中包含的 SOP[2:0]= 010或100。

    在 CCS 中、它始终要求提供 MAC 地址、并在 Uniflash 中要求提供 MAC 地址。 由于我没有模块的 MAC 地址、因此我不知道引导加载程序在开始编程之前是否将十六进制文件中的地址与实际地址进行比较。

    我看不到代码在我的模块上无法正常工作的任何其他原因。

    此致、

    布拉希姆

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

    您好!

    对 SPI 闪存进行编程后、您需要将 SOP mod 0-0用于解压缩映像。 您使用什么受信任的根证书目录? 您不应使用 SDK 中的游乐场目录。

    1月

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

    您好、Jan、

    编程期间、我使用 SOP[2:0]=100、在编程过程后、在取消复位模块之前、我将切换到0-0。

    关于“受信任根证书目录”,我对此没有任何想法,我可以在哪里更改它? 在 Uniflash 或 CCS 中?

    布拉希姆

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

    您好!

    请阅读 NWP 用户指南的第7.4节:

    https://www.ti.com/lit/swru455 

    在对闪存进行编程之前、您是否将其清除?

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

    我还建议阅读本指南、了解有关生产线编程的其他详细信息:  

    https://www.ti.com/lit/an/swra568 

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

    您好!

    是的、我在闪存 SPI 闪存之前执行"完全擦除"。

    我仍然不明白为什么我需要"受信任的根证书目录"、我的应用只是切换 LED。 如果有任何情况需要、我可以在哪里找到 TI 提供的此文件?

    您是否还可以向我确认 生产和开发模式中都需要 MAC 地址?

    此致、

    布拉希姆

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

    您好、Brahim

    仅在开发模式下才需要编程映像中的 MAC 地址。

    生产模式下的映像应由实代码签名证书而非运动场证书签名。 您有两个选项:

    • 您可以联系认证机构获取代码签名证书(购买代码签名证书)。 但是、您可能无法获得与 CC3235兼容的代码签名证书。
    • 您可以使用自己的证书目录创建自己的证书。 但需要将证书目录编程到 SPI 闪存的 OTP 部分。 只有 Uniflash 才能通过 UART 对自己的证书目录进行编程。

    此主题可能 对您也很有用。

    1月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="231451" URL"~/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1063449/cc3235mods-programming-the-module-via-spi/3937112 #3937112"]仅可通过 UART 通过 Uniflash 对自己的证书目录进行编程

    由于我的定制 PCB 上只有 SPI、这意味着如果我创建了自己的证书、我永远不能使用自己的证书。

    [引用 userid="231451" URL"~/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1063449/cc3235mods-programming-the-module-via-spi/3937112 #3937112"]但需要将证书目录编程到 SPI 闪存的 OTP 部分。[/quot]

    请您详细说明一下吗?

    您已链接到您的答案的主题非常有用。

    我有20块 PCB 需要编程、但我仍在尝试避免将它们发送到垃圾箱。

    我在 Uniflash 中检查了配置、使用"certcatalogPlayGround.lst"、这意味着我的应用程序无法启动。

    如果您有其他选择、请告诉我、 如果您能安排一个很短的 WebEx 通话、我将不胜感激。

    此致、

    布拉希姆

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

    您好、Brahim

     此处介绍了自己证书目录的编程。 但如果没有可用的 UART、这不是您的选择。

    我不确定是否无法使用运动场目录在生产模式下创建功能图像。 但预期的方法是使用证书目录中某个 CA 提供的代码签名证书(请参阅 SDK 文件\tools\cc32xx_tools\readme.html)。 您应该联系 CA 并购买正确的代码签名证书。 但我认为您很难获得兼容的代码签名证书(正确的签名算法和签名长度)。 有关代码签名证书类型的详细信息、请参阅证书处理指南。 例如、我使用从 DigiCert 获得的代码签名证书。 但您将无法再购买相同的证书。 与其他 CA 类似。 但您需要自行检查。

    我认为您有以下选择:

    • 您可以尝试从 SDK 的列表中联系 CA、并要求提供兼容的代码签名证书(我对您是否会成功有点怀疑)
    • 尝试使用一些旧的代码签名证书。 您的公司可能有一些旧的兼容代码签名证书(如果已过期、这并不重要)
    • 重新设计您的硬件并添加 UART 编程功能

    否 我对 WebEx 电话不是很积极。 我不是 TI 员工、因此我不会这样做。

    1月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="231451" URL"~/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1063449/cc3235mods-programming-the-module-via-spi/3937112 #3937112"]生产模式下的映像应由实数代码签名证书而非运动场证书签名。

    您好、Jan、

    在 Launchpad 电路板上、我使用运动场证书在生产模式下刷写我的图像、效果很好。 为什么它不能与我的定制 PCB 实现相同的功能? 它与 LaunchPad 配合使用毫无意义。

    此致

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

    您好!

    出于安全原因、预计会在生产映像中使用代码签名证书而不是运动场证书。

    1月

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

    您好!

    我不使用安全映像、因此没有理由在 launchpad 上工作、但在具有相同证书的 PCB 上不工作。

    布拉希姆

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

    您好、Brahim、

    否 出于安全原因、我的意思是游乐场证书不应用作信任根。 应使用证书目录(请参阅证书处理指南)。

    您是否能够在生产模式下通过 SPI 编程器对 LaunchPad 进行编程? 我并不是说 SysConfig 映像创建器的 Uniflash 使用 UART。

    1月

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

    您好、Jan、

    [引用 userid="231451" URL"~/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1063449/cc3235mods-programming-the-module-via-spi/3941633 #3941633"]您是否能够在生产模式下通过 SPI 编程器对 LaunchPad 进行编程?

    是的、我成功完成了。

    我为生产模式编译工程、然后使用 Uniflash 创建十六进制文件、然后使用连接到 launchpad (SOP =0-0-0)的 J14的 SPI 适配器(totalphase 中的 cheetah)将其直接刷写到内部闪存中。 刷写过程完成后、需要几秒钟才能解压映像、然后映像运行良好。

    这就是为什么我要求它在 生产模式下使用 launchpad 并使用运动场证书、而不是在我的 PCB 上使用。

    布拉希姆

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

    您好、Brahim、

    它应以完全相同的方式在您的生产硬件上工作。 如果不是、您的硬件很可能出现问题。 我无法说出它是什么。 您可能可以在此处要求 TI 审核您的硬件

    1月

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

    好的、我会这样做。

    谢谢你   

    布拉希姆

x 出现错误。请重试或与管理员联系。