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.

[参考译文] LP-CC1312R7:电路板启动后修改 CCFG 配置

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1197426/lp-cc1312r7-ccfg-configuration-modification-after-board-boot

器件型号:LP-CC1312R7
主题中讨论的其他器件:CC1312R7SysConfig

大家好、

目前、我们开发了包含自定义引导加载程序和应用程序的解决方案。

闪存到内部闪存中的两个固件、引导加载程序是闪存更大范围的存储器地址、直至闪存结束。

我们知道、TI 将 CCFG 保留在闪存的末尾、因此 ccfg 配置是引导加载程序的一部分(使用 ccfg.c 包含该配置)。

现在、我们需要在应用程序从自定义引导加载程序获得控制权后修改其中一个配置设置(CCFG_FORCE_VDDR_HH)。

现在、我们无法从应用程序写入闪存的最后一个扇区、因为它位于受保护的引导加载程序闪存存储器区域下、我们不想让应用程序自行修改引导程序代码。

我们是否可以使用任何解决方案来修改 ccfg 配置? 还可以额外重新加载一个引导加载项。  

谢谢、

Bhasker  

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

    任何帮助都将不胜感激!!  

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

    尊敬的 Bhasker:

    强制 VDDR 设置通常仅用于 CC1312r7上的14dBm 设置、通常在运行时不可配置。  

    这里的实际用例是什么? 它是以这种发射功率还是以基于某些逻辑的较低发射功率进行发射?  

    此致、

    SID

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

    感谢 Siddanth 的回复!!

    目前、我们使用 TI launchpad 进行开发、我们有衣板、需要将 VDDR 设置设置为14dBm。

    如上所述、我们有自定义引导加载程序、并且 ccfg 设置是此自定义引导加载程序的一部分、当我们将此引导加载程序刷写到内部闪存时、此设置还会写入闪存的最后一个扇区、然后最终写入另一个应用程序(位于闪存的低位地址) 在电路板中引导。

    如前所述-我们在一个电路板中有两个电路板、我们需要14dBm 功率、另一个电路板默认为14dBm、并且配置设置在自定义引导加载程序中完成。

    是否可以从自定义引导加载程序之后执行的其他应用程序中修改 ccfg 设置、然后重新加载电路板、以便应用新的 ccfg。

    或者、我必须维护两个不同的自定义引导加载程序、一个具有14dB 设置、另一个具有默认值??

    任何指针都很有用。

    谢谢、

    Bhasker   

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

    您好 Siddanth、

    是否可以在运行时配置 VDDR 设置、然后重新启动电路板以应用这些设置?

    谢谢、

    Bhasker  

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

    尊敬的 Bhasker:  

    很抱歉耽误你的回答。

    建议不要在运行时修改 CCFG 设置。 建议您对 CCFG 扇区进行写保护、这样它就不会被应用程序覆盖。  

    因此、考虑到 CCFG 应受写保护、无法通过应用程序对其进行修改。  

    此致、
    SID

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

    您好 Siddanth、

    感谢您的回复!!

    现在、我们有一个"ccfg.c"、使用我的自定义引导加载程序进行编译、该引导加载程序写入闪存的最后一个扇区。

    此外、我还有一个应用程序"ccfg.c"正在作为"ti_devices_config.c"的一部分进行编译、并且此应用程序正在使用"jumpToPrgEntry (uint32_t prgEntry)"调用进行加载。

    那么、我的疑问是、如果我要修改应用中的 ccfg 设置、 该设置是否会被覆盖? 如果是这种情况 、我的问题可以得到解决。

    谢谢、

    Bhasker  

     

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

    尊敬的 Bhasker:  

    所使用的 CCFG 应该是闪存最后一个扇区中的一个、在您的情况下、这个扇区是引导加载程序的一部分。  

    这不应被新映像覆盖。  

    例如、您可以查看我们的 BIM 项目以及 OAD 的工作原理。 CCFG 始终是 BIM 项目的一部分、而不是正在下载的应用程序。  

    https://dev.ti.com/tirex/explore/node?node=A__AMUyuBXNKfa6upwi5KJtuA__com.ti.SIMPLELINK_ACADEMY_CC13XX_CC26XX_SDK__AfkT0vQ__LATEST

    此致、

    SID

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

    感谢 Sid 提供参考、

    在本例中、我看到应用正在编译从SysConfig 工具生成的"ti_devices_config.c"、其中包含"ccfg.c"文件。

    BIM 加载此应用程序后、该文件是否会被忽略或将覆盖 ccfg 区域?

    谢谢、

    Bhasker  

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

    没有自动更新 CCFG 的机制。

    通常、在我们的默认工程中、链接器文件会定向到将 ccfg 对象放置在闪存的最后一个区域中。 编译并加载应用后、CCFG 位于末尾、这是引导代码所期望的位置。  

    项目中的所有内容。 CCFG 与 BIM 项目关联、即使在 OAD 之后也永远不会被覆盖。  

    在您的情况下、如果引导加载程序原始 CCFG 区域受写保护、我不会期望原始 CCFG 被覆盖。  

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

    谢谢 Sid、

    这几乎是我的问题的答案!! 毫无疑问、TI 为什么不提供某些 API 方法来在运行时更改"CCFG_FORCE_VDDR_HHH"?

    将来是否有计划这样做?

    谢谢、

    Bhasker  

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

    尊敬的 Bhasker:  

    通常在启动前就知道发射功率要求。 因此、使用升压模式(强制 vdr)或不使用升压模式的决定主要是在编译时本身完成的。  

    此外、器件修正也由器件启动代码通过读取这些 CCFG 值来执行。  可以将闪存位从1写入到0、但您必须擦除才能得到0到1的转换。 这会增加写入和擦除 CCFG 区域时的风险。

    因此、我不会看到我们在将来为此提供 API。  

    希望这对您有所帮助。

    此致、

    SID

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

    谢谢 Sid!!