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-EM-CC2340R5:用于片上 OAD 的 MCU 引导会直接引导持久应用

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1440269/lp-em-cc2340r5-mcu-boot-for-oad-on-chip-is-directly-booting-the-persistent-application

器件型号:LP-EM-CC2340R5
主题中讨论的其他器件:CC2340R5

工具与软件:

大家好、我正在使用 CC2340R5并尝试实现片上 OAD 示例。 正在使用的 CCS 版本为12.8.1。 我用来刷新的刷新过程是:-

https://software-dl.ti.com/simplelink/esd/simplelink_lowpower_f3_sdk/8.20.00.119/exports/examples/rtos/LP_EM_CC2340R5/ble5stack/basic_ble_oad_onchip/README.html

2.在我使用 IOS 连接到设备之后、设备将显示设备名称为持久应用程序、但根据我的理解、MCU 引导应该加载 ble_oad_onchip 固件、根据我的 IOS、我应该能够看到设备名称为基本 BLE 项目。  

PS:-我使用了电路板上的红色和绿色 LED 来验证上述行为、结果符合预期。 mcuboot 在复位后直接引导持久应用。  

如果澄清这一点就会有所帮助。

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

    您好、Sushant、

    感谢您的咨询。 请按照以下培训材料中所述的步骤操作: https://dev.ti.com/tirex/explore/node?node=A__AbMoFvWD.bZAg65tD.7NsQ__SIMPLELINK-ACADEMY-CC23XX__gsUPh5j__LATEST
    此外、您能否直接尝试使用\examples\rtos\LP_EM_CC2340R5\ble5stack\hexfiles 中的 mcuboot 十六进制文件、以快速进行完整性检查。

    此致、

    David。

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

    David、您好!  
    感谢您的快速响应。 我已经学习了培训材料、但实际上我无法理解为什么要通过 mcuboot 加载持久性应用程序。

    但是、当我尝试直接使用 mcuboot_on_chip 十六进制文件时、可以很好地工作。  

    但我仍然想为我的应用开发修改 mcuboot、我不知道从哪里可以找到特定十六进制文件的源代码。  

    如果有什么可以做、请告诉我。

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

    您好、Sushant、

    明白了、感谢您的尝试。

    此处可能会发生的情况是为 OAD 映像定义的时隙大小与 MCUBoot 项目中配置的时隙大小不同。 请确保 flash_map_backend.h (mcuboot 工程内部)中的时隙大小(boot_secondary_1_size)与片上负载示例的编译后步骤中定义的时隙大小相同。

    BR、

    David

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

    尊敬的 David:

    我确实更改了片上 oAD 示例的编译后步骤中定义的插槽大小、使其与 flash_map_backend.h 中定义的 boot_secondary_1_size 相同、但仍然不幸运。  

    下面是一些屏幕截图、以便更好地理解。:-

    如果还可以做其他事情、请告诉我。 感谢您的持续支持。

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

    您好、Sushant、

    请确保刷写应用程序 bin 文件的地址与辅助插槽的地址相同。 我想在您的案例中、这是0x00043000。

    BR、

    David。

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

    感谢 David、感谢您的一贯支持。 问题已解决。

    必须在 mcuboot 示例中的闪存映射 backend.h 中更新 OAD 应用和持久应用的基址。

    因此、持久性应用程序的基址为0x00006000、必须在 mcuboot 示例的闪存映射 backend.h 文件中更新同样的地址。

    因此、OAD_ON_CHIP 应用的基址为0x00032000、同样必须在 mcuboot 示例的闪存映射 backend.h 文件中进行更新。