基于闪存微控制器的固件升级方法和系统及闪存微控制器技术方案

技术编号:20241961 阅读:49 留言:0更新日期:2019-01-29 23:13
本发明专利技术公开了一种基于闪存微控制器的固件升级方法和系统及闪存微控制器。所述方法包括:闪存微控制器上电后运行引导升级程序,判断是否收到进入升级指令;若没有收到进入升级指令,则进一步判断闪存的特定地址是否存储有特定代码;若收到进入升级指令或者所述闪存的特定地址没有存储特定代码,则对应用程序进行升级,并于升级即将完成时在所述闪存的特定地址写入特定代码。本发明专利技术通过在闪存的特定地址存储特定代码来指示升级完整性,如因意外情况导致升级失败,可确保重新上电后进入升级过程,继续完成升级,可有效避免升级中断后无法恢复正常使用的问题,提升了产品的安全性、稳定性和实用性。

【技术实现步骤摘要】
基于闪存微控制器的固件升级方法和系统及闪存微控制器
本专利技术涉及固件升级
,具体涉及一种基于闪存微控制器的固件升级方法和系统及闪存微控制器。
技术介绍
随着用户需求的增加,为了增加已出货产品的竞争力和降低产品生产成本等原因,需要对原有产品开放更多的资源给用户,允许用户将原有产品升级。不过,烧写在原有产品中的固件可能满足不了现阶段产品升级的需求。比如:用户在对USB设备进行升级的时候,强制对USB设备进行拔插或断电等意外情况,会造成升级失败,从而会导致整个设备固件受损而无法使用。这就意味着产品的安全性和稳定性功能很差,从而也增加了产品的生产成本。现有技术急需一种对USB设备进行任意拔插或其他中断升级操作的场景下,仍能在硬件不受损的前提下继续正常升级的技术。
技术实现思路
本专利技术实施例提供一种基于闪存微控制器的固件升级方法和系统及闪存微控制器,用于解决USB设备在固件升级过程中遇到无法正常升级的各种意外情况,导致固件受损和产品不能正常使用的问题。本专利技术第一方面提供一种基于闪存微控制器的固件升级方法,所述闪存微控制器包括处理器和闪存,所述闪存中存储有应用程序和引导升级程序,所述本文档来自技高网...

【技术保护点】
1.一种基于闪存微控制器的固件升级方法,其特征在于,所述闪存微控制器包括处理器和闪存,所述闪存中存储有应用程序和引导升级程序,所述引导升级程序用于启动或升级所述应用程序;所述方法包括:所述闪存微控制器上电后运行所述引导升级程序,判断是否收到进入升级指令;若没有收到进入升级指令,则进一步判断所述闪存的特定地址是否存储有特定代码;若收到进入升级指令或者所述闪存的特定地址没有存储特定代码,则对所述应用程序进行升级,并于升级即将完成时在所述闪存的特定地址写入特定代码。

【技术特征摘要】
1.一种基于闪存微控制器的固件升级方法,其特征在于,所述闪存微控制器包括处理器和闪存,所述闪存中存储有应用程序和引导升级程序,所述引导升级程序用于启动或升级所述应用程序;所述方法包括:所述闪存微控制器上电后运行所述引导升级程序,判断是否收到进入升级指令;若没有收到进入升级指令,则进一步判断所述闪存的特定地址是否存储有特定代码;若收到进入升级指令或者所述闪存的特定地址没有存储特定代码,则对所述应用程序进行升级,并于升级即将完成时在所述闪存的特定地址写入特定代码。2.根据权利要求1所述的方法,其特征在于,还包括:若没有收到进入升级指令且所述闪存的特定地址中存储有特定代码,则启动所述应用程序。3.根据权利要求2所述的方法,其特征在于,对所述应用程序进行升级,并于升级即将完成时在所述闪存的特定地址写入特定代码,包括:通过USB端口与上位机通信,获取所述应用程序的更新数据;以页为单位,逐页擦除所述闪存中存储的应用程序并写入更新数据。4.根据权利要求3所述的方法,其特征在于,在逐页擦除所述闪存中存储的应用程序并写入更新数据的步骤中,首先擦除包含所述特定代码的特定页,然后逐页改写其它页,最后写所述特定页,并在写所述特定页时将特定代码写入特定地址。5.根据权利要求3所述的方法,其特征在于,逐页擦除所述闪存中存储的应用程序并写入更新数据包括:执行擦除命令,将当前页的原始数据擦除;执行写入命令,在当前页写入更新数据;执行校验命令,读取当前页写入的更新数据,计算出校验码,将校验码发送给上位机,以便上位机对所述校验码进行验证。6.一种闪存微控制器,其特征在于,包括闪存和处理器,所述闪存中存储有应用程序和引导升级...

【专利技术属性】
技术研发人员:林云胜王树东
申请(专利权)人:深圳市慧嘉智科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1