您好!
我将此帖子重新发布为我之前发表的文章 MSP430FR6989:由固件处理的固件更新(没有引导加载程序)。
我正在尝试找到一种方法来 实现 在应用程序本身处理的固件更新(无需进入引导加载程序状态)。 我的想法是、我的固件中可以有一个函数来处理固件验证并写入存储器地址。 让我们将此函数调用为"in-app bootloader"。 为此、"应用内引导加载程序"必须正常工作、并且在固件更新期间不能被覆盖。 有什么方法可以实现这一点吗? 或者更具体地说、如何在链接器文件中进行定义(我假设这是要编辑的区域)、从而排除或防止 覆盖"in-app bootloader "的存储器地址、同时"in-app bootloader" 仍作为完整固件映像的一部分?
我找不到这么多的论坛帖子。 非常感谢有人能与我分享 如果你发现任何论坛帖子是相关的。
我还想回答上一篇文章中向我提出的问题(很遗憾、因为我被其他项目拖了下来、没有很快回答问题):
"您谈论的是像主存储器引导加载程序这样的东西(以 MSPBoot (www.ti.com/.../slaa600)为例)。
还是其他一些内容、而不是抽象化为单独的引导加载程序和应用程序? 在向运行的同一个内存中写入数据时,你必须小心。"
我的答案是否定的。 实际上、我现在正在将 cryptobootloader 用作我的主存储器引导加载程序、我现在需要使用我当前的引导加载程序不支持的固件更新空中(FOTA)。 但是、我的器件已密封、因此我无法再访问调试端口(JTAG/SPW 端口)、从而导致 我无法访问和编辑引导加载程序。 因此、我试图找到一种方法来设计一个"应用内引导 加载程序"、其作用与主存储器引导加载程序类似、但在应用程序级别。 如果可能、请告知?
谢谢你。