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.

[参考译文] CC1312R7:闪存中具有配置数据的 MCUBoot。

Guru**** 657930 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/1285113/cc1312r7-mcuboot-with-configuration-data-in-flash

器件型号:CC1312R7
主题中讨论的其他器件: SysConfig

您好!

我将 ´m MCUBoot 为 CC1312R7编写一个引导加载程序、并且我想知道是否可以通过 syscfg 在闪存空间计算之外保留 NVS 保留空间。

我的应用程序大小为100KB、并使用大约80KB 的配置数据空间(它必须在闪存中写入大量内容、因此我留出了大量闪存空间、以避免频繁擦除)。

问题是、我想使用 MCUBoot 闪烁示例中提供的命令生成一个.bin 文件、但我不知道如何将在 syscfg 中分配的 NVS 空间保留在.bin 创建或闪存空间计算之外、

显然、配置空间将位于映像空间之外、并会通过 NVS 驱动程序寻址到应用程序中的固定位置)。

此致 Javier。

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

    Javier、您好!

    我会将该主题分配给专家。 他们今天就会回复给您。  

    此致、

    SID

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

    Javier、您好!

    在 SysConfig 中创建 NVS 区域时、此部分将在相应地址处填充未初始化的数组。
    您可以使用 CC1312R7的 SDK 中的 nvsinternal 示例尝试执行此操作。
    初始化 NVS 区域将不会显示在链接器文件中、但仍会阻止链接器在分配的空间中放置任何其他内容。

    您能否说明您希望使用 MCUBoot 闪烁示例的哪些命令?

    此致
    曼努埃尔

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

    您好,我´m 使用:

    ${CG_TOOL_HEX}-Order MS --memwidth=8 --romwidth=8 - Intel -o ${ProjName}.hex ${ProjName}
    ${CG_TOOL_ROOT}/bin/tiarmobjcopy -o 二进制${ProjName}.out ${ProjName}-noheader.bin
    ${COM_TI_SIMPLELINK_CC13XX_CC26XX_SDK_INSTALL_DIR}/tools/common/mcuboot/imgtool 符号--header-size 0x80 --align 4 --slot-size 0x40000 --version 1.0.1 --pad-header --pad --key --key ${COM_TI_SIMPLELINK_CC13XX_CC26XX_SDK_INSTALL_ProjDIR}/source/third_party/mcuboot/root-ec-p256.pem}${COM_ProjName}-noheader.bin

    主要思路是创建一个.bin 映像在映像空间中进行刷写、该映像将使用配置数据空间、因此即使程序已更新、配置也会保持不变。

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

    Javier、您好!

    根据您所描述的内容、我认为最好的方法是使用我们的一个 OAD 示例作为参考。
    在这些示例中、MCUBoot 部分是恒定的、在更新软件其余部分时不会更新。
    NS_CoAP_OAD_offchip (TI.com)

    然后、所描述的配置数据空间应该是闪存中不会更新的此区域的一部分、并且可以实现为一个 NVS 区域。
    刷写新程序时、您只需确保不要在 MCUBoot + NVS 区域所在的区域进行刷写。

    此致
    曼努埃尔