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.

[参考译文] CC1310:未输入 ROM 引导加载程序

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1487910/cc1310-rom-bootloader-not-entered

器件型号:CC1310

工具与软件:

我正在尝试让 CC1310保留在 ROM 引导加载程序中、以便可以通过 UART 刷写新固件。 我将使用 TI 15.4收集器示例。

我启用了 必要的功能:

我已为 ESP32芯片"主站"的 UART 选择9600波特率。

我已经使 CC 芯片在应用程序启动时发送一些随机字节、并且还使当 ESP 发送某些字节时、CC 芯片将重置:

当我尝试将 CC 芯片推入引导加载程序时、会发生以下情况(ESP - ESP TX;CC - cc TX;BTL -引导加载程序使能引脚):

在图像中可以看到、CC 芯片会复位、但它未卡在引导加载程序中、而是应用程序启动。 我稍后发送0x55 0x55用于

自动波特率检测、但不发回任何响应(它不在引导加载程序中)。

我是不是做错了什么?

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

    尊敬的 Jernej:

    请查看引导和8中的 TRM 5.6 Halt。 引导加载程序: https://www.ti.com/lit/swcu117i

    您需要将正确的信号 BL_LEVEL 应用于 BL_ENABLE 以启用引导加载程序后门。

    此致、
    等等

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

    您好、您可以在我的屏幕截图中看到、我已将 BL_ENABLE 引脚配置为高电平有效、并且在逻辑分析仪输出的屏幕截图中、该引脚在复位时为高电平、但芯片仍会引导至固件。 我缺少什么吗?

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

    尊敬的 Jernej:

    如何将引脚12设置为高电平?

    您可以按照以下示例进行操作并检查其是否有效: https://www.ti.com/lit/swra466

    此致、
    等等

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

    该引脚连接到 ESP32引脚、该引脚被配置为输出引脚、因此我在该引脚处将其设置为高电平、逻辑分析仪测量结果会确认它确实为高电平。 我现在已经检查了发送的文档、可以确认我已正确执行了这些步骤。

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

    尊敬的 Jernej:

    请以2字节十六进制格式0x0B 定义引脚编号。

    此致、
    等等

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

    您希望我尝试引脚11 (0x0B)而不是12 (0x0C)吗?

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

    尊敬的 Jernej:

    这是我这边的错字。 引脚12 = 0x0C 没有问题。 但请尝试将其定义为十六进制两个字节。

    此致、
    等等

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

    那么您是指0x000C? (2个字节)

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

    尊敬的 Jernej:

    否、0x0C。

    原始模板建议为0xFF、0x 之后的每个字符/位置都是十六进制0至 D 的一个字节
    这就是引脚12对应于0x0C 的原因。

    谢谢!
    等等

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

    十六进制数的一个字母是一个半字节(4位)每个半字节具有16个可能的值这就是为什么2个字母形成一个字节的原因。 您的建议不会有任何区别、因为在使用此 rvalue 时将其解析为无符号32位数字:

    我已经尝试了它的目的,它没有任何区别。

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

    尊敬的 Jernej:  

    很抱歉出现混淆、感谢您以任何方式进行测试。

    我使用了 CC1310 LaunchPad 和 Sensor 项目来进一步调查、以便能够重现您的体验。
    由于未拉入更改、生成 ccfg 似乎是一个问题。
    您能否打开 .cproject 文件并应用如下所示的更改:

    为了完整起见:这是我的 ccfg 文件:

    如果您使用修改后的项目刷写芯片、您将看到当引脚12上拉或保持悬空时、器件在复位后卡在引导加载程序中。

    请告诉我这是否也适合您。

    此致、
    等等

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

    是的、这确实是问题所在。 在手动更新 CC 芯片卡在引导加载程序中的值后、未更新.cproject。 感谢你的帮助。

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

    尊敬的 Jernej:  

    很高兴听到它现在起作用。

    此致、
    等等