TI工程师你好:最近在做28035的二次BOOTLOADER,在flash A区和B区存储引导程序,在其他区存储用户程序,我需要在引导程序中检查用户程序是否有效,如果有效则跳入正常用户程序,如果正常客户程序无效则在引导程序需中等待下载,请问程序有效性检查用什么方法?谢谢
Susan Yang:
假定辅助引导程序二次BOOTLOADER位于扇区A中。主应用程序位于其他扇区中,并且在扇区A中没有内容。 重置后,ROM Bootloader跳到扇区A(地址0x3F7FF6),然后您的辅助Bootloader运行。为此,辅助引导程序将其“codestart”部分链接到0x3F7FF6。 辅助引导程序随后需要做的是确定它是否应该跳转到主应用程序,或者是否需要刷新主应用程序。为此,我建议使用校验和或CRC来验证主应用程序。 如果辅助引导加载程序在其他闪存扇区(不是扇区A)中找到有效的主应用程序,它将跳转到主应用程序。您需要在主应用程序使用的闪存中选择一个硬地址,然后在其中链接主应用程序的“ codestart”部分(来自文件CodeStartBranch.asm)。建议使用扇区B中的最后两个地址(0x3F 5FFE和0x3F5FFF)。这使它们远离您的主应用程序的其余部分。所以,您的辅助引导程序将执行asm(“ LB 0x3F5FFE”); 将控制权转移到主应用程序。
naughty boy:
回复 Susan Yang:
请问有没有相关校验的资料分享一下?
Susan Yang:
回复 naughty boy:
您可以参考下
C:\ti\c2000\C2000Ware_3_01_00_00\device_support\f2803x\examples\cla
的 crc8table1 和 crc8