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.

[参考译文] CC2652R7:将来自 ST 的 M95P32外部闪存用于片外 OAD。

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1481585/cc2652r7-using-m95p32-external-flash-from-st-for-offchip-oad

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

工具与软件:

您好!

我想在定制设计中使用 ST 的 M95P32外部 SPI 闪存、并实现片外 OAD。 目前、我已经使用 Launchpad 上的 macronix 闪存实现了 OAD。

有人可以指导我如何更改固件以与 M95P32 SPI 闪存配合使用吗?

我已经开发了适用于 M95P32的 SPI 驱动程序、用于读取、写入和擦除闪存。 我相信我可以将"flash_inteface_ext_rtos.c"文件添加到项目中、并在"ExtFlash.c/h"文件中实现我的 SPI 驱动程序。 此外、我应该修改引导加载程序中的哪些文件以便与外部闪存通信?

我应该在 OAD 相关文件中进行哪些更改?

任何指导都很有帮助。

此致、

Royce

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

    尊敬的 Royce:

    我认为最简单的方法是:

    1. 将文件 NVSSPI25X.c (可在 C:\ti\simplelink_cc13xx_cc26xx_sdk_7_40_00_77\source\ti\drivers\NVS 中找到)复制/粘贴到项目中。
    2. 修改步骤1中的文件以匹配您的新外部闪存(例如您的 SPI 代码)
    3. 更新 SysConfig 中的各种外部闪存参数(例如扇区大小、地址等)

    您不需要对 OAD 相关文件进行任何更改。

    谢谢!
    Toby

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

    尊敬的 Toby:

    感谢您的答复。

    如果我错了、请更正我。

    所以我 应该将 NVSSPI25X.c 和.h 文件复制/粘贴到项目中。 修改这些文件中的 SPI 接口部分。 更新外部闪存的 SysConfig 参数。 最后、将 NVSSPI25X.h 头文件添加到"flash_interface_ext_rtos_NVS.c"中、并将此文件中的 NVS 驱动程序调用更改为 NVSSPI25X.c 驱动程序函数。

    此致、

    Royce

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

    尊敬的 Royce:

    无需更新 flash_interface_ext_rtos_NVS.c、因为其中的函数最终生成 NVSSPI25X.c

    例如、请注意  FLASH_interface_ext_rtos_NVS ->  FLASH_open 调用 NVS_open ( CONFIG_NVSEXTERNAL 和此 CONFIG_NVSEXTERNAL (以及相关内容)是从 SysConfig 生成的、其中还包括 NVS_CONFIG --> NVSSPI25X_fxnTable --> NVSSPI25X_OPEN 。

    谢谢!
    Toby

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

    尊敬的 Toby:

    是的、明白。 我是按照你的建议去做的。 现在、OAD 块被写入 M95P32 外部闪存、但 OAD 过程完成后、BIM 无法从外部闪存读取新映像、并将新映像复制到内部闪存并启动新应用程序。

    您能告诉我、为了使 BIM 片外项目能够与外部闪存配合使用、我必须对该项目进行哪些更改吗?

    我已经更改了  bim 项目中"Bsp.h"文件中的 SPI 引脚定义(BSP_IOID_FLASH_CS、BSP_SPI_MOSI、BSP_SPI_MISO、BSP_SPI_CLK_FLASH)。

    此致、

    Royce

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

    尊敬的 Toby:

    带有外部闪存的 OAD 现在可以工作了。 我必须在 BIM 项目中"ext_flash.c"文件中的 ExtFlashInfo_t 结构中添加有关 ST 闪存的信息。 此外、我必须更改指令操作码宏"BLS_CODE_MDID"以读取制造商器件 ID、从而匹配 ST 闪存。 完成这些更改后、引导加载程序会读取外部闪存的制造商 ID 并对其进行验证、然后将新映像从 OAD 复制到内部闪存并启动应用程序。

    感谢您的支持。

    此致、

    Royce