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:使用修改后的 BIM 加载程序

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1215885/cc2652r7-program-loading-using-a-modified-bim

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

我们将用 CC2652替代 MSP430F2272。  前一个产品是单线程的、包括代码的程序更新部分、因此我们可以将第二个程序映像存储在闪存中、并通过主程序复制。  在 CC2652版本中、我们实现了 TI RTOS7并使用修改后的双映像 BIM 将第二个映像传输到位置0。  我们已验证所有代码、但似乎无法在映像传输后让程序重新启动。  如果我们重新加载 BIM、新程序将正常运行、这样我们就知道新程序映像就位了。  有没有人对要寻找什么或要小心什么有任何建议?  我们使用 BIM 中的配置文件、以便程序在 BIM 中启动。  当加载新映像时、我们跳转到 BIM 复位矢量。  一旦进入 BIM、新映像就会被移动和擦除、如果有新映像、则调用 BIM 复位矢量、以便当没有新映像时、它返回到主程序的复位矢量。

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

    您好、Gary、

    请确认您使用的是片上 BIM 项目的 Dual_image 构建配置。   除非 定义了 BIM_ERASE_INVALID_image、否则不应启用通过 BIM_EraseOnChipFlashPages 进行映像擦除。  新程序的 BIM 标头(imgHdr.fixedHdr)可能不会显示为"存在"(IMG_TYPE_IMAGE_PRESENT)和/或"有效"(IMG_TYPE_VALID_APPSTACKLIB_IMG)的图像状态。  您可以尝试将映像加载到其中一个/两个应用程序存储器空间中、然后打开 BIM 调试会话以逐步执行代码并确定问题的根本原因。

    此致、
    Ryan

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

    我调试了主 BLE 项目、而不是 BIM、一旦控制权从 BIM 传递回、它就会转到 Hwi_excHandlerMin。  我将讨论为什么,但任何建议都将受到欢迎。  此产品上有一些大电容器、一旦它们放电导致正常上电复位、产品就会正常工作、因此我不确定 BIM 跳到主项目复位向量时没有复位什么。

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

    BIM 的输入方式会导致 HWI 有效。  已加载的应用(片上/片外 simple_peripheral 或 simple_mesh_node)执行软系统复位(SysCtrlSystemReset)以在完成映像更新后进入 BIM、并准备好 执行 新应用。   

    此致、
    Ryan

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

    我在加载新映像的位置添加了系统重置、然后我们就可以转到 BIM 了。  此时、无论仿真程序还是 BIM、仿真器都会失去控制。  始终未达到 BIM。  如果我在图像的加载位置设置一个断点、然后切换到 BIM 仿真、一切就会正常重新启动。  BIM 是最后加载的、因此我们使用 BIM 的配置文件。  没有图像标头、我们的 BIM 已简化为检查新映像、未擦除、将其复制到位置0、擦除新映像的第一个扇区并转到位置0处的新复位矢量。  原始代码跳转到 BIM、并且一直工作到在程序更改后调用复位矢量为止。  在系统复位前是否需要停止任何操作?

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

    请理解、在器件复位期间、IDE 的调试器将失去对器件的控制。   观察到的是什么、您说"始终未达到 BIM "?  这意味着 BIM 应用程序符号未加载、BIM 未包含正确的复位矢量地址、或者 CCFG 不正确。 有关调试 BIM 功能的更多说明、请参阅 BLE 增强型 OAD 高级 SimpleLink Academy 实验。  在系统复位之前无需停止任何内容、您可以参考前面提到的 persistent_app 和启用 OAD 的应用中的 SystemReset 用法。

    此致、
    Ryan