防止固件无法升级的BootRom实现方法、装置和计算机设备制造方法及图纸

技术编号:36351556 阅读:22 留言:0更新日期:2023-01-14 18:07
本申请涉及一种防止固件无法升级的BootRom实现方法、装置、计算机设备和存储介质,其中该方法包括:待芯片上电后,启动BootRom程序;待BootRom程序开始运行时直接进入timeout机制,在所述timeout机制时间内不管flash中是否存在固件BootRom都会等待判断是否与上位机通讯成功;若在timeout机制时间内与上位机通讯成功,则直接执行固件更新流程;若在timeout机制时间内与上位机通讯失败,则先查看flash中是否存在符合规则的产品固件程序,若存在则执行固件加载流程,若不存在则执行固件更新流程。本发明专利技术可以解决传统BootRom流程中可能出现的无法升级的问题。流程中可能出现的无法升级的问题。流程中可能出现的无法升级的问题。

【技术实现步骤摘要】
防止固件无法升级的BootRom实现方法、装置和计算机设备


[0001]本专利技术涉及固态硬盘
,特别是涉及一种防止固件无法升级的BootRom实现方法、装置、计算机设备和存储介质。

技术介绍

[0002]BootRom是固化在芯片内部一段启动代码,它的主要功能分为下载功能和加载功能。芯片做成产品后,若产品flash中没有固件,BootRom会将产品固件下载到flash中;当flash中存在产品固件时,BootRom会将flash的产品固件运行起来。BootRom的主要工作流程是先去flash中查看是否存在产品固件,如果有符合规则的产品固件,就将其运行起来;若不存在产品固件,就会进入下载流程,一直等待上位机将产品固件下载到flash中。
[0003]若产品固件是一个符合BootRom加载规则、但功能有缺陷的固件,量产时将其下载到flash中,再次上电后BootRom发现flash中存在加载规则的固件,BootRom将其运行起来,但固件功能有缺陷,导致此产品无法工作,这时将会导致产品变砖,也无法通过BootRom进行产品固件的更新。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种防止固件无法升级的BootRom实现方法、装置、计算机设备和存储介质。
[0005]一种防止固件无法升级的BootRom实现方法,所述方法包括:
[0006]待芯片上电后,启动BootRom程序;
[0007]待BootRom程序开始运行时直接进入timeout机制,在所述timeout机制时间内不管flash中是否存在固件BootRom都会等待判断是否与上位机通讯成功;
[0008]若在timeout机制时间内与上位机通讯成功,则直接执行固件更新流程;
[0009]若在timeout机制时间内与上位机通讯失败,则先查看flash中是否存在符合规则的产品固件程序,若存在则执行固件加载流程,若不存在则执行固件更新流程。
[0010]在其中一个实施例中,所述待BootRom程序开始运行时直接进入timeout机制的步骤还包括:
[0011]待BootRom程序开始运行时进入时长为20ms的timeout机制,在20ms内BootRom程序判断是否与上位机通讯成功。
[0012]在其中一个实施例中,所述执行固件更新流程的步骤包括:
[0013]上位机与BootRom程序按照约定的固件更新协议进行产品固件的更新,并将新的产品固件存储到flash中;
[0014]待更新成功后进行下电再上电,BootRom程序运行新的产品固件。
[0015]在其中一个实施例中,所述执行固件加载流程的步骤包括:
[0016]将flash中的产品固件拷贝到RAM,然后跳转到RAM中去运行产品固件。
[0017]一种防止固件无法升级的BootRom实现装置,所述防止固件无法升级的BootRom实
现装置包括:
[0018]启动模块,所述启动模块用于待芯片上电后,启动BootRom程序;
[0019]超时机制模块,所述超时机制模块用于待BootRom程序开始运行时直接进入timeout机制,在所述timeout机制时间内不管flash中是否存在固件BootRom都会等待判断是否与上位机通讯成功;
[0020]第一执行模块,所述第一执行模块用于若在timeout机制时间内与上位机通讯成功,则直接执行固件更新流程;
[0021]第二执行模块,所述第二执行模块用于若在timeout机制时间内与上位机通讯失败,则先查看flash中是否存在符合规则的产品固件程序,若存在则执行固件加载流程,若不存在则执行固件更新流程。
[0022]在其中一个实施例中,所述超时机制模块还用于:
[0023]待BootRom程序开始运行时进入时长为20ms的timeout机制,在20ms内BootRom程序判断是否与上位机通讯成功。
[0024]在其中一个实施例中,所述装置还包括固件更新模块,所述固件更新模块用于:
[0025]上位机与BootRom程序按照约定的固件更新协议进行产品固件的更新,并将新的产品固件存储到flash中;
[0026]待更新成功后进行下电再上电,BootRom程序运行新的产品固件。
[0027]在其中一个实施例中,所述装置还包括固件加载模块,所述固件加载模块用于:
[0028]将flash中的产品固件拷贝到RAM,然后跳转到RAM中去运行产品固件。
[0029]一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。
[0030]一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。
[0031]上述防止固件无法升级的BootRom实现方法、装置、计算机设备和存储介质,在原来BootRom查看flash中是否存在产品固件的步骤前面加入一个的timeout(超时)机制,在这超时机制的时间段内不管flash中是否存在固件,BootRom都会等待上位机与其通讯,然后再将固件下载到flash中,以此解决现有技术中产品可能出现的无法升级问题。
附图说明
[0032]图1为传统技术中BootRom工作的流程示意图;
[0033]图2为一个实施例中防止固件无法升级的BootRom实现方法的流程示意图;
[0034]图3为另一个实施例中防止固件无法升级的BootRom实现方法的流程示意图;
[0035]图4为一个实施例中防止固件无法升级的BootRom实现装置的结构框图;
[0036]图5为另一个实施例中防止固件无法升级的BootRom实现装置的结构框图;
[0037]图6为再一个实施例中防止固件无法升级的BootRom实现装置的结构框图;
[0038]图7为一个实施例中计算机设备的内部结构图。
具体实施方式
[0039]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对
本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0040]参考图1所示的传统技术中BootRom工作的流程示意图,具体地:BootRom首先,查看Flash中是否存在符合加载规则的产品固件,若不存在产品固件,BootRom进入固件更新流程,等待上位机与其通讯,将产品固件下载到Flash中;若Flash中存在产品固件,BootRom进入固件加载流程,将Flash中的产品固件拷贝到RAM中,然后跳转到RAM中运行产品固件。若Flash中的固件是一个符合BootRom加载规则、存在功能缺陷的固件,BootRom仍然会运行此固件,但由于固件功能有缺陷,导致此产品无法正常工作,这时产品就变砖了,也无法通过Boo本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种防止固件无法升级的BootRom实现方法,所述方法包括:待芯片上电后,启动BootRom程序;待BootRom程序开始运行时直接进入timeout机制,在所述timeout机制时间内不管flash中是否存在固件BootRom都会等待判断是否与上位机通讯成功;若在timeout机制时间内与上位机通讯成功,则直接执行固件更新流程;若在timeout机制时间内与上位机通讯失败,则先查看flash中是否存在符合规则的产品固件程序,若存在则执行固件加载流程,若不存在则执行固件更新流程。2.根据权利要求1所述的防止固件无法升级的BootRom实现方法,其特征在于,所述待BootRom程序开始运行时直接进入timeout机制的步骤还包括:待BootRom程序开始运行时进入时长为20ms的timeout机制,在20ms内BootRom程序判断是否与上位机通讯成功。3.根据权利要求2所述的防止固件无法升级的BootRom实现方法,其特征在于,所述执行固件更新流程的步骤包括:上位机与BootRom程序按照约定的固件更新协议进行产品固件的更新,并将新的产品固件存储到flash中;待更新成功后进行下电再上电,BootRom程序运行新的产品固件。4.根据权利要求3所述的防止固件无法升级的BootRom实现方法,其特征在于,所述执行固件加载流程的步骤包括:将flash中的产品固件拷贝到RAM,然后跳转到RAM中去运行产品固件。5.一种防止固件无法升级的BootRom实现装置,其特征在于,所述防止固件无法升级的BootRom实现装置包括:启动模块,所述启动模块用于待芯片上电后,启动BootRom程序;超时机制模块,所述超时机制模块用于待BootRom程序开始运行时直接进入...

【专利技术属性】
技术研发人员:李华赛程曼臧鑫
申请(专利权)人:苏州忆联信息系统有限公司
类型:发明
国别省市:

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

1