头戴虚拟现实设备及其引导加载程序的升级方法与流程

文档序号:13512746阅读:175来源:国知局
头戴虚拟现实设备及其引导加载程序的升级方法与流程

本发明涉及虚拟现实技术,尤其涉及一种头戴虚拟现实设备的引导加载程序的升级方法、一种头戴虚拟现实设备、以及一种计算机存储介质。



背景技术:

引导加载程序是虚拟现实设备上电启动后首先运行的程序,用以加载控制器应用软件。目前,引导加载程序会在虚拟现实设备出厂前烧录到控制器的存储区中,在虚拟现实设备出厂后,如果发现引导加载程序有缺陷或漏洞需要对引导加载程序(bootloader程序)进行升级,只能将虚拟现实设备召回,将主控制板拆出,再通过仿真器或下载器在控制器的存储区中重新烧录引导加载程序。这种方式非常繁琐,不利于用户自行升级引导加载程序。



技术实现要素:

本发明的目的在于提供一种头戴虚拟现实设备的引导加载程序的升级方案,使得用户可以自行升级头戴虚拟现实设备的引导加载程序。

根据本发明的第一方面,提供了一种头戴虚拟现实设备的引导加载程序的升级方法,包括以下步骤:

头戴虚拟现实设备接收升级命令,其中,该升级命令指示所述头戴虚拟现实设备上的主控制器的引导加载程序升级,所述引导加载程序的第一引导程序存储在所述头戴虚拟现实设备的存储区;

所述主控制器从主控制器的应用软件的升级机制文件中获取所述引导加载程序的第二引导程序;

将所述第二引导程序存储在所述引导加载程序的所述第一引导程序的所述存储区,替换所述第一引导程序。

可选地,在所述主控制器从主控制器的应用软件的升级机制文件中获取所述引导加载程序的第二引导程序之前,还包括:

将所述第二引导程序存放到所述主控制器的所述应用软件的升级机制文件中。

可选地,所述将所述第二引导程序存放到所述主控制器的所述应用软件的升级机制文件中,包括以下步骤:

编译出所述引导加载程序代码对应的二进制文件;

将所述二进制文件转换成计算机编程语言文件的数组;

将所述数组拷贝到所述主控制器的所述应用软件的升级机制文件中。

根据本发明的第二方面,提供了一种头戴虚拟现实设备,包括存储器和主控制器,所述存储器存储有计算机程序,所述计算机程序被主控制器执行时实现以下步骤:

接收升级命令,其中,该升级命令指示所述主控制器的引导加载程序升级,所述引导加载程序的第一引导程序存储在所述头戴虚拟现实设备的存储区;

所述主控制器从主控制器的应用软件的升级机制文件中获取所述引导加载程序的第二引导程序;

将所述第二引导程序存储在所述引导加载程序的所述第一引导程序的所述存储区,替换所述第一引导程序。

可选地,所述计算机程序被主控制器执行时实现的步骤还包括:在所述主控制器从主控制器的应用软件的升级机制文件中获取所述引导加载程序的第二引导程序之前,将所述第二引导程序存放到所述主控制器的所述应用软件的升级机制文件中。

可选地,所述将所述第二引导程序存放到所述主控制器的所述应用软件的升级机制文件中,包括:

编译出所述引导加载程序代码对应的二进制文件;

将所述二进制文件转换成计算机编程语言文件的数组;

将所述数组拷贝到所述主控制器的所述应用软件的升级机制文件中。

根据本发明的第三方面,提供了一种虚拟现实设备的升级系统,包括:上位机和头戴虚拟现实设备;

所述上位机用于向所述头戴虚拟现实设备发送引导加载程序升级命令;

所述头戴虚拟现实设备,包括存储器和主控制器,所述存储器存储有计算机程序,所述计算机程序被主控制器执行时实现以下步骤:

接收所述引导加载程序升级命令,其中,所述引导加载程序升级命令指示所述主控制器的引导加载程序升级,所述引导加载程序的第一引导程序存储在所述头戴虚拟现实设备的存储区;

所述主控制器从主控制器的应用软件的升级机制文件中获取所述引导加载程序的第二引导程序;

将所述第二引导程序存储在所述引导加载程序的所述第一引导程序的所述存储区,替换所述第一引导程序。

可选地,所述计算机程序被主控制器执行时实现的步骤还包括:

在所述主控制器从主控制器的应用软件的升级机制文件中获取所述引导加载程序的第二引导程序之前,将所述第二引导程序存放到所述主控制器的所述应用软件的升级机制文件中。

可选地,所述上位机还用于向所述头戴虚拟现实设备发送主控制器应用软件升级命令;

所述计算机程序被主控制器执行时实现以下步骤:

接收所述主控制器应用软件升级命令,获取主控制器的应用软件的升级机制文件;

重启主控制器,完成主控制器的应用软件的升级工作。

根据本发明的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被控制器执行时实现前述任一项所述方法的步骤。

本发明提供的头戴虚拟现实设备的引导加载程序的升级方案,使得用户可以自行升级头戴虚拟现实设备的引导加载程序。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例提供的引导程序的升级方法的流程示意图。

图2示出了本发明实施例提供的头戴虚拟现实设备的硬件配置的框图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

参考图1所示,说明本发明实施例提供的头戴虚拟现实设备的引导加载程序的升级方法,包括以下步骤:

s1、头戴虚拟现实设备接收升级命令,其中,该升级命令指示所述头戴虚拟现实设备上的主控制器的引导加载程序升级,所述引导加载程序的第一引导程序存储在所述头戴虚拟现实设备的存储区。

在一个示例中,所述升级命令可以是上位机发送给头戴虚拟现实设备的,或者,所述升级命令可以是头戴虚拟现实设备内置的定期自动升级机制产生的。

在一个示例中,主控制器的应用软件的升级机制文件具有触发所述升级命令的机制,主控制器在利用所述升级机制文件对主控制器的应用软件升级后,会自动生成指示所述主控制器的引导加载程序升级的升级命令。

在一个示例中,所述引导加载程序存储在所述头戴虚拟现实设备的固定的存储区中。

s2、所述主控制器从主控制器的应用软件的升级机制文件中获取所述引导加载程序的第二引导程序。

在一个示例中,在步骤s2之前,预先通过下载等方式获取主控制器的应用软件的升级机制文件。

在一个示例中,在步骤s2之前,预先将第二引导程序,也就是更新后的引导加载程序,存放到头戴虚拟现实设备的主控制器的应用软件的升级机制文件中。

在一个示例中,在步骤s2之前,预先生成第二引导程序。第二引导程序的语法格式和主控制器的应用软件文件的语法格式一致,例如,主控制器的应用软件文件为c语言文件,则第二引导程序也要为c语言文件。如果第二引导程序的语法格式和主控制器的应用软件文件的语法格式不一致,可以通过文件转换工具等手段,将第二引导程序转换成和主控制器的应用软件文件一致的语法格式。将与所述应用软件文件语法格式一致的第二引导程序加入到应用软件文件中,然后对应用软件文件进行重新编译。

在一个示例中,所述将所述第二引导程序存放到所述主控制器的所述应用软件的升级机制文件中,包括以下步骤:编译出所述引导加载程序代码对应的二进制文件;将所述二进制文件转换成计算机编程语言文件的数组;将所述数组拷贝到所述主控制器的所述应用软件的升级机制文件中。

s3、将所述第二引导程序存储在所述引导加载程序的所述第一引导程序的所述存储区,替换所述第一引导程序。

本发明实施例中,引导加载程序的第一引导程序是指头戴虚拟现实设备原有的引导加载程序,引导加载程序的第二引导程序是指更新后的引导加载程序。

在这一步骤中,用第二引导程序替换所述第一引导程序,即用更新后的引导加载程序替换原有的加载引导程序,从而实现对头戴虚拟现实设备的引导加载程序的升级。

本发明实施提供的头戴虚拟现实设备的引导加载程序的升级方案,使得用户可以自行升级头戴虚拟现实设备的引导加载程序。本发明实施提供的头戴虚拟现实设备的引导加载程序的升级方案,无需召回头戴虚拟现实设备,提高了引导加载程序的升级效率,降低了升级成本。

下面以一个具体的例子,说明本发明实施例提供的头戴虚拟现实设备的主控制器的应用软件的升级机制文件的形成方法。头戴虚拟现实设备的主控制器的应用软件为c语言格式,引导加载程序bootloader存储在主控制的rom的固定区域中,通过以下步骤形成主控制器的应用软件的升级机制文件:

101、更新bootloader程序代码,以形成第二引导程序。

102、对bootloader程序代码进行编译,获得二进制“.bin”文件。

103、采用文件转换工具将“.bin”文件转换成c语言的数组形式。

104、将转换后的数组拷贝到主控制器的应用软件的升级机制文件中。

105、重新编译含有转换后数组的主控制器的应用软件的升级机制文件。

经过以上步骤101-105,生成主控制器的应用软件的升级机制文件,并且所述升级机制文件中含有所述第二引导程序。

下面以一个具体的例子来说明头戴虚拟现实设备的引导加载程序的升级方法:

201、通过上位机对主控制器发送主控制器应用软件升级命令;主控制器接收到主控制器应用软件升级命令后,获取主控制器的应用软件的升级机制文件,重启主控制器,完成应用软件升级工作。

202、通过上位机对主控制器发送bootloader程序升级命令,主控制器接收到bootloader程序升级命令后,从所述升级机制文件中获取更新后的bootloader程序(第二引导程序)。

203、将更新后的bootloader程序(第二引导程序)存放到存放原有bootloader程序(第一引导程序)的存储区中,以替换掉原有bootloader程序(第一引导程序),重启主控制器,完成引导加载程序升级工作。

本发明实施提供的头戴虚拟现实设备的引导加载程序的升级方案,使得用户可以自行升级头戴虚拟现实设备的引导加载程序。本发明实施提供的头戴虚拟现实设备的引导加载程序的升级方案,无需召回头戴虚拟现实设备,提高了引导加载程序的升级效率,降低了升级成本。

基于同一发明构思,参考图2介绍本发明实施例提供的头戴虚拟现实设备。图2是显示可用于实现本发明的实施例的头戴虚拟现实设备的硬件配置的例子的框图。头戴虚拟现实设备300包括主控制器3010、存储器3020、接口装置3030、通信装置3040、显示装置3050、输入装置3060、扬声器3070、麦克风3080,等等。

主控制器3010例如可以是中央控制器cpu、微控制器mcu等。存储器3020例如包括rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置3030例如包括usb接口、耳机接口等。通信装置3040例如能够进行有线或无线通信。显示装置3050例如是液晶显示屏、触摸显示屏等。输入装置3060例如可以包括触摸屏、键盘等。用户可以通过扬声器3070和麦克风3080输入/输出语音信息。

存储器3020用于存储命令,所述命令用于控制主控制器3010进行操作以执行以下步骤:

接收升级命令,其中,该升级命令指示所述主控制器的引导加载程序升级,所述引导加载程序的第一引导程序存储在所述头戴虚拟现实设备的存储区;

所述主控制器从主控制器的应用软件的升级机制文件中获取所述引导加载程序的第二引导程序;

将所述第二引导程序存储在所述引导加载程序的所述第一引导程序的所述存储区,替换所述第一引导程序。

其中,所述计算机程序被主控制器执行时实现的步骤还包括:在所述主控制器从主控制器的应用软件的升级机制文件中获取所述引导加载程序的第二引导程序之前,将所述第二引导程序存放到所述主控制器的所述应用软件的升级机制文件中。

其中,所述将所述第二引导程序存放到所述主控制器的所述应用软件的升级机制文件中,包括:编译出所述引导加载程序代码对应的二进制文件;将所述二进制文件转换成计算机编程语言文件的数组;将所述数组拷贝到所述主控制器的所述应用软件的升级机制文件中。

可选地,所述控制器为mcu。

本发明实施例提供的头戴虚拟现实设备,使得用户可以自行升级头戴虚拟现实设备的引导加载程序。

图2所示的头戴虚拟现实设备仅是解释性的,并且决不是为了要限制本发明、其应用或用途。本领域技术人员应当理解,尽管在图2中示出了多个装置,但是,本发明可以仅涉及其中的部分装置。本领域技术人员可以根据本发明所公开方案设计命令,命令如何控制控制器进行操作是本领域公知技术,故在此不再详细描述。

本发明实施例还提供给了一种虚拟现实设备的升级系统,其特征在于,包括:上位机和头戴虚拟现实设备;

所述上位机用于向所述头戴虚拟现实设备发送引导加载程序升级命令;

所述头戴虚拟现实设备,包括存储器和主控制器,所述存储器存储有计算机程序,所述计算机程序被主控制器执行时实现以下步骤:

接收所述引导加载程序升级命令,其中,所述引导加载程序升级命令指示所述主控制器的引导加载程序升级,所述引导加载程序的第一引导程序存储在所述头戴虚拟现实设备的存储区;

所述主控制器从主控制器的应用软件的升级机制文件中获取所述引导加载程序的第二引导程序;

将所述第二引导程序存储在所述引导加载程序的所述第一引导程序的所述存储区,替换所述第一引导程序。

可选地,所述计算机程序被主控制器执行时实现的步骤还包括:在所述主控制器从主控制器的应用软件的升级机制文件中获取所述引导加载程序的第二引导程序之前,将所述第二引导程序存放到所述主控制器的所述应用软件的升级机制文件中。

可选地,所述将所述第二引导程序存放到所述主控制器的所述应用软件的升级机制文件中,包括:编译出所述引导加载程序代码对应的二进制文件;将所述二进制文件转换成计算机编程语言文件的数组;将所述数组拷贝到所述主控制器的所述应用软件的升级机制文件中。

可选地,所述上位机还用于向所述头戴虚拟现实设备发送主控制器应用软件升级命令;所述计算机程序被主控制器执行时实现以下步骤:接收所述主控制器应用软件升级命令,获取主控制器的应用软件的升级机制文件;重启主控制器,完成主控制器的应用软件的升级工作。

本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被控制器执行时实现上述头戴虚拟现实设备的引导加载程序的升级方法的步骤,包括:

头戴虚拟现实设备接收升级命令,其中,该升级命令指示所述头戴虚拟现实设备上的主控制器的引导加载程序升级,所述引导加载程序的第一引导程序存储在所述头戴虚拟现实设备的存储区;

所述主控制器从主控制器的应用软件的升级机制文件中获取所述引导加载程序的第二引导程序;

将所述第二引导程序存储在所述引导加载程序的所述第一引导程序的所述存储区,替换所述第一引导程序。

其中,在所述主控制器从主控制器的应用软件的升级机制文件中获取所述引导加载程序的第二引导程序之前,还包括:将所述第二引导程序存放到所述主控制器的所述应用软件的升级机制文件中。

其中,所述引导加载程序为bootloader程序。

本发明实施提供的头戴虚拟现实设备的引导加载程序的升级方案,使得用户可以自行升级头戴虚拟现实设备的引导加载程序。本发明实施提供的头戴虚拟现实设备的引导加载程序的升级方案,无需召回头戴虚拟现实设备,提高了引导加载程序的升级效率,降低了升级成本。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。但本领域技术人员应当清楚的是,上述各实施例可以根据需要单独使用或者相互结合使用。另外,对于装置实施例而言,由于其是与方法实施例相对应,所以描述得比较简单,相关之处参见方法实施例的对应部分的说明即可。以上所描述的系统实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可是不是物理上分开的。

另外,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行命令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机命令的组合来实现。

本发明实施例所提供的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的命令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

虽然已经通过例子对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上例子仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1