主题:SysConfig 中讨论的其他器件
工具/软件:
您好:
我目前正在使用 MCUBoot (其第二个映像槽位位于外部闪存上)启用 OAD 固件更新。 我在培训过程中遇到了几个问题、希望获得一些指导。
系统概述 :
-
频率 :定制硬件上的 CC2340R53
-
外部闪存 :通过 SPI 连接(与另一个外设共享)
-
SDK 中找到 :
simplelink-lowpower-f3-sdk
版本8.20.00.119 -
MCUBoot 基座 :
mcuboot_app
SDK 示例
1. MCUBoot 无法引导我的应用程序
我正在按照 这个 TI 教程 、并使用该basic_ble_oad_offchip
示例来帮助配置我的应用以实现 MCUBoot 兼容性。 我已确认我的内存布局与工作示例非常相似。
在构建我的映像并使用imgtool
生成 MCUBoot 兼容二进制文件后、MCUBoot 无法启动映像。 但是、如果我手动设置vector_table
MCUBoot 内部的值、如下所示:
vector_table = 0x0 + 0x6000 + 0x100;
…成功跳转到我的应用程序。 这表明 MCUBoot 无法正确解析图像元数据来查找矢量表。 映像标题或签名步骤中是否缺少某些内容?
2. MCUBoot 中的外部闪存 GPIO 配置
我不确定 MCUBoot 如何知道将哪些 GPIO 用于外部 NVS。 根据我的理解:
-
TI_BOOT_USE_EXTERNAL_FLASH
且MCUBOOT_OVERWRITE_ONLY
必须进行定义。 -
MCUBoot 似乎
bsp_spi_lpf3.c
取代了标准 SPI 驱动程序。 -
在此文件中、GPIO 和外设配置采用了硬编码。
鉴于我的硬件使用不同的 GPIO 布局和共享 SPI 总线、我是否需要直接修改这些 SDK 源文件? 或者、是否有支持的方法可以通过特定于电路板的方式覆盖默认配置?
3.与 OAD 的共享 SPI 总线兼容性
由于我的外部闪存与另一个外设共享 SPI 总线、因此是否需要调整 OAD 服务或 MCUBoot 以安全地处理 SPI 总线共享? 是否有任何关于处理此问题的指导或示例代码?
总的来说、我很难找到有关 CC2340上 MCUBoot 和 OAD 环境中外部闪存配置的文档。 如果我错过了一些最佳实践或参考指南、如果有人告诉我正确的方向、我将不胜感激。
如果需要更多信息、请告知我。
提前感谢、
Alex Trujillo