1.一种固件升级方法,其特征在于,应用于VR头戴式显示器,所述方法包括:
将所述VR头戴式显示器包括的非易失性存储器划分为固件暂存区、固件参数区、BootLoader区以及固件应用区;
接收主机发送的多个分包数据,将各所述分包数据写入至所述固件暂存区,并更新所述固件参数区的升级标记;
启动所述BootLoader区的BootLoader程序,将所述固件应用区当前的应用固件擦除,并将所述固件暂存区中的分包数据烧写至所述固件应用区以得到更新应用固件;
执行所述更新应用固件以完成固件升级。
2.根据权利要求1所述的固件升级方法,其特征在于,所述接收主机发送的多个分包数据,将各所述分包数据写入至所述固件暂存区的步骤,包括:
接收主机发送的分包数据,将接收到的分包数据暂存在缓存池;
在所述缓存池已满时,将所述缓存池中暂存的分包数据写入至所述固件暂存区,再继续接收所述主机发送的分包数据并暂存在所述缓存池,直至所述更新应用固件所需的所有分包数据接收并保存完毕为止。
3.根据权利要求1所述的固件升级方法,其特征在于,所述将各所述分包数据写入至所述固件暂存区的步骤,包括:
将接收到的分包数据暂存在缓存池,在所述更新应用固件所需的所有分包数据接收并暂存完毕后,将所述缓存池中暂存的所有分包数据写入至所述固件暂存区。
4.根据权利要求1所述的固件升级方法,其特征在于,所述接收主机发送的多个分包数据的步骤之前,所述方法还包括:
在接收到主机发送的固件升级请求后,从当前工作模式切换为升级模式,并向所述主机反馈第一回应报文,以使所述主机返回升级固件信息;
接收所述主机发送的升级固件信息,将所述升级固件信息保存并向所述主机反馈第二回应报文,以使所述主机发送分包数据至所述VR头戴式显示器。
5.根据权利要求4所述的固件升级方法,其特征在于,所述将各所述分包数据写入至所述固件暂存区的步骤之后,所述方法还包括:
在接收到所述主机发送的数据传输完毕报文后,检测写入至所述固件暂存区中的分包数据的信息是否与接收到的升级固件信息一致,若一致则执行更新所述固件参数区的升级标记的步骤,若不一致,则退出升级模式。
6.根据权利要求1所述的固件升级方法,其特征在于,所述启动所述BootLoader区的BootLoader程序的步骤之后,所述方法还包括:
读取所述固件参数区的升级标记,在所述升级标记表征为真时,执行将所述固件应用区当前的应用固件擦除的步骤,否则直接跳转至所述固件应用区以执行所述固件应用区当前的应用固件。
7.根据权利要求1所述的固件升级方法,其特征在于,所述启动所述BootLoader区的BootLoader程序的步骤之后,所述方法还包括:
读取所述固件暂存区中的分包数据,并验证所述分包数据的正确性,若验证通过,则执行将所述固件应用区当前的应用固件擦除的步骤,若验证未通过,则直接跳转至所述固件应用区以执行所述固件应用区当前的应用固件。
8.一种固件升级装置,其特征在于,应用于VR头戴式显示器,所述固件升级装置包括:
划分模块,用于将所述VR头戴式显示器包括的非易失性存储器划分为固件暂存区、固件参数区、BootLoader区以及固件应用区;
接收模块,用于接收主机发送的多个分包数据,将各所述分包数据写入至所述固件暂存区,并更新所述固件参数区的升级标记;
启动模块,用于启动所述BootLoader区的BootLoader程序,将所述固件应用区当前的应用固件擦除,并将所述固件暂存区中的分包数据烧写至所述固件应用区以得到更新应用固件;
执行模块,用于执行所述更新应用固件以完成固件升级。
9.一种VR头戴式显示器,其特征在于,包括:
存储器;
处理器;及
固件升级装置,包括一个或多个存储于所述存储器中并由所述处理器执行的软件功能模块,所述固件升级装置包括:
划分模块,用于将VR头戴式显示器包括的非易失性存储器划分为固件暂存区、固件参数区、BootLoader区以及固件应用区;
接收模块,用于接收主机发送的多个分包数据,将各所述分包数据写入至所述固件暂存区,并更新所述固件参数区的升级标记;
启动模块,用于启动所述BootLoader区的BootLoader程序,将所述固件应用区当前的应用固件擦除,并将所述固件暂存区中的分包数据烧写至所述固件应用区以得到更新应用固件;
执行模块,用于执行所述更新应用固件以完成固件升级。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令被执行时,实现权利要求1-7任意一项所述的固件升级方法。