基于SD卡和EEPROM的固件程序更新方法及系统与流程

文档序号:26228529发布日期:2021-08-10 16:28阅读:来源:国知局

技术特征:

1.一种基于sd卡和eeprom的固件程序更新方法,其特征在于,包括:

s1.嵌入式系统的mcu启动运行引导程序并初始化加载sd卡和eeprom存储器;其中所述sd卡用于存储更新固件程序的关联文件,所述eeprom存储器用于存储系统硬件版本信息;

s2.分析从eeprom存储器读取的第一系统硬件版本信息是否有效;若有效,则通过sha256认证加密算法验证mcu内部已存储的待更新固件程序是否完整;

s3.若所述待更新固件程序完整,则读取所述待更新固件程序的第一软件版本信息,并根据所述第一软件版本信息分析sd卡内是否含有能够对所述待更新固件程序进行更新的完整的新版固件程序;若sd卡内含有能够对所述待更新固件程序进行更新的完整的新版固件程序,则将所述新版固件程序写入mcu后,执行s4;

s4.读取mcu中当前的固件程序的数字签名信息,运用sha256认证加密算法验证当前的固件程序是否完整;

s5.若当前的固件程序完整,则启动mcu中当前的固件程序;否则,结束更新流程。

2.根据权利要求1所述的方法,其特征在于,所述s3包括:

s31.检测sd卡内是否存在所述第一软件版本信息的锁定文件;

s32.若sd卡内存在所述第一软件版本信息的锁定文件,则分析所述第一软件版本信息与所述锁定文件指定的第二软件版本信息是否相同;

s33.若所述第一软件版本信息与所述第二软件版本信息不相同,则检测sd卡内是否存在与所述第一系统硬件版本信息和所述第二软件版本信息均相同的第一程序文件;否则,继续执行s4;

s34.若sd卡内存在与所述第一系统硬件版本信息和所述第二软件版本信息均相同的第一程序文件,则分析所述第一程序文件所含的第三软件版本信息与所述第一软件版本信息是否相同;

s35.若所述第一程序文件所含的第三软件版本信息与所述第一软件版本信息相同,则将所述继续执行s4。

3.根据权利要求2所述的方法,其特征在于,所述s3还包括:

s36.若所述第一程序文件所含的第三软件版本信息与所述第一软件版本信息不相同,则解析所述第一程序文件的文件名所含的第二系统硬件版本信息和第三软件版本信息,分析所述第二系统硬件版本信息和第三软件版本信息是否与所述第一系统硬件版本信息和所述第一程序文件内部数据所含的第四软件版本信息相同;

s37.若所述第二系统硬件版本信息和第三软件版本信息与所述第一系统硬件版本信息和所述第一程序文件内部数据所含的第四软件版本信息相同,则从sd卡中获取所述第一程序文件内部所含的数字签名信息和所有数据值,利用sha256认证加密算法验证所述第一程序文件是否完整;否则,则继续执行s4;

s38.若所述第一程序文件完整,则读取所述第一程序文件内部所含的所有数据,然后继续执行s4。

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

s6.若所述待更新固件程序不完整,则检测sd卡内是否存在与所述第一系统硬件版本信息相同、版本信息任意的第三程序文件;若sd卡内存在所述第三程序文件,则执行s36。

5.根据权利要求2所述的方法,其特征在于,所述方法还包括:

s39.若sd卡内不存在所述第一软件版本信息的锁定文件,则检测sd卡内是否存在与所述第一系统硬件版本信息相同并且比所述第一软件版本信息更新的第二程序文件;若sd卡内存在所述第二程序文件,则执行s34。

6.根据权利要求1所述的方法,其特征在于,所述s1与s2之间还包括;

检测加载sd卡内的固件程序文件存储分区是否成功;

若加载sd卡内的固件程序文件存储分区成功,则检测是否能够成功读取eeprom存储器所含的系统硬件版本信息;

若能够成功读取eeprom存储器所含的系统硬件版本信息,则继续执行s2。

7.一种基于sd卡和eeprom的固件程序更新系统,其特征在于,包括:mcu、sd卡和eeprom存储器;所述sd卡用于存储更新固件程序的关联文件,所述eeprom存储器用于存储系统硬件版本信息;

所述mcu用于启动运行引导程序并初始化加载sd卡和eeprom存储器;分析从eeprom存储器读取的第一系统硬件版本信息是否有效;若有效,则通过sha256认证加密算法验证mcu内部已存储的待更新固件程序是否完整;若所述待更新固件程序完整,则读取所述待更新固件程序的第一软件版本信息,并根据所述第一软件版本信息分析sd卡内是否含有能够对所述待更新固件程序进行更新的完整的新版固件程序;若sd卡内含有能够对所述待更新固件程序进行更新的完整的新版固件程序,则将所述新版固件程序写入mcu后,读取mcu中当前的固件程序的数字签名信息,运用sha256认证加密算法验证当前的固件程序是否完整;若当前的固件程序完整,则启动mcu中当前的固件程序;否则,结束更新流程。


技术总结
本发明提供一种基于SD卡和EEPROM的固件程序更新方法及系统,通过MCU与外部SD卡和EEPROM存储器等硬件设备配合存储嵌入式系统的硬件版本信息和待更新固件程序的软件版本信息,同时将系统的硬件版本信息和待更新固件程序的软件版本信息加入到待更新固件程序的内部数据中和固件程序的文件名中,保证了引导程序将正确软件版本的固件程序升级进入正确硬件版本的MCU;同时在引导程序升级固件程序过程中,利用标准的SHA256安全哈希算法对升级前固件程序文件所含内部数据、MCU内已更新的固件程序的所有数据,均进行了数据完整性认证检查,保证了引导程序将待更新固件程序文件的所有数据正确升级写入MCU内,提高了固件程序写入MCU的准确性。

技术研发人员:张爱;黄盛刚
受保护的技术使用者:成都新易盛通信技术股份有限公司;四川新易盛通信技术有限公司
技术研发日:2021.05.28
技术公布日:2021.08.10
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1