尊敬的 TI 团队:
我们需要对使用 MSP430F5328 MCU 的器件实施固件升级。 从先前的研究中我发现 BSL 具有2KB 大小限制、一旦我将 FW 升级逻辑和 SPI 外部闪存读/写逻辑添加到 BSL 中、我认为大小应该大于2KB。 那么、我想我是否可以在 MSPboot 中执行固件升级功能? 但是、TI 发布的 MSP430F5328没有 MSPboot 项目、因此我认为我需要自己进行自定义。
我是否可以知道应该 使用哪种示例代码、哪种代码与 MSP430F5328最相似?
实际上 、我在网上找到了一个 MSPBoot 示例并尝试了解它。 但是、在读取 App2_MSPBoot_F5529_UART 的示例后、如果要为 MSP430F5328进行定制、似乎需要执行许多操作。
首先、有一个名为 TI_MSPBoot_JumpToBoot (void)的函数、用于从 MSPboot 跳转到 BSL。我想、在这个函数中、passwd 和 StatCtrl 直接在这里使用、我找不到它们的定义、我是否知道这两个变量的定义在哪里? 另外、我在该函数中找不到任何相关代码可以从 MSPboot 跳转到 BSL。 我是否可以知道它是如何实现跳转的?
接下来、有一个 ProxyVectorTable[]、它提到的注释是一条 BRA 指令、什么是 BRA 指令? 我是否应该将这个值更改为 MSP430F5328的相应值、是否可以知道 MSP430F5328的正确值是多少?
最后、我对 BSL、MSPboot 和主应用程序跳跃有疑问。 如果 我 想在主应用程序运行期间收到一些命令后在 MSPBoot 中执行固件升级、可以使用(void (*)()) address_for_mspboot ()直接从主应用程序跳转到 MSPBoot 吗? 或者我必须先跳转至 BSL,然后从 BSL 跳转至 MSPboot? 如果我想在固件升级完成后跳回主应用程序,应该首先跳转至 BSL,或者可以使用 (void(*)地址_of_mainApp)()直接跳转至 MSPBoot? 非常感谢。
Kathy