工具/软件:TI C/C++编译器
我开发了用于远程软件更新的引导加载程序(Hercules LS1114)。
除了在我对主代码段进行更改(我使用 CRC 校验)时我的引导加载程序代码段正在更改外、一切都正常。 即引导加载程序代码与主代码无关。
第一个引导加载程序段中
闪存 API:
{
flash.obj (.text)
crc16.obj (.text)
fapi_UserDefinedFunctions.obj (.text)
--library= F021_API_CortexR4_be.lib
}
与引导加载程序关联的所有代码/库、因此在引导加载程序代码段之外没有有意引用。
我假定随附的 F021闪存库定义了一些全局变量或对 C 库的引用,当我向主代码段添加新代码时,会导致引导加载程序中的代码发生变化。
目的不是在固件更新期间更新引导加载程序、如果在闪存更新期间出现问题、我有一些智能措施来保护更新过程、 即、我首先将新固件下载到单独的闪存区域、然后在将新代码传输到主代码空间区域之前进行验证。
如何解决此问题? 欢迎提出任何建议。
Rob