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.

[参考译文] CC2541:标记 BIM 要加载的映像

Guru**** 2553430 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/581220/cc2541-flag-bim-which-image-to-load

器件型号:CC2541

你(们)好

我实施了 OAD、一切都按预期工作。
我要解决一个问题:

在映像 B 运行时、我希望发送命令来引导和运行映像 A
(因此用户将能够启动升级过程)

因此、我尝试定义一个绝对存储器位置、这对于 BIM 和图像是通用的、并在这里放置一个标志。
_NO_INIT uint16 BootAFLAG @ 0x1EFE;

当命令到达时、我会执行以下操作:

BootAFlag=0x1234;
HAL_disable_interrupts ();
asm ("LJMP 0x0000");
while (1);


我本来想在 BIM 中检查"BootAFlag"、但似乎有些东西清理了存储器。

我还尝试使用一个寄存器(如 P0)、但它不起作用

我可以使用什么来向 BIM 发出要加载哪个映像的信号?

谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    最终、这只是一个简单的错误。
    为未来的读者提供一个注意事项:

    按如下方式修复 XCL 文件:

    D-XDATA_Beg=0x0000
    -D_XDATA_END=0x1EFD
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的分享!

    祝你一切顺利