[go: up one dir, main page]

CN114816491B - 用于多系统移动终端的系统升级方法、装置及终端 - Google Patents

用于多系统移动终端的系统升级方法、装置及终端

Info

Publication number
CN114816491B
CN114816491B CN202110084815.2A CN202110084815A CN114816491B CN 114816491 B CN114816491 B CN 114816491B CN 202110084815 A CN202110084815 A CN 202110084815A CN 114816491 B CN114816491 B CN 114816491B
Authority
CN
China
Prior art keywords
partition
information table
mobile terminal
name
fastboot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110084815.2A
Other languages
English (en)
Other versions
CN114816491A (zh
Inventor
韦荣伟
王创乐
胡玉杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Lan You Technology Co Ltd
Original Assignee
Shenzhen Lan You Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Lan You Technology Co Ltd filed Critical Shenzhen Lan You Technology Co Ltd
Priority to CN202110084815.2A priority Critical patent/CN114816491B/zh
Publication of CN114816491A publication Critical patent/CN114816491A/zh
Application granted granted Critical
Publication of CN114816491B publication Critical patent/CN114816491B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种用于多系统移动终端的系统升级方法、升级装置和终端,用于多系统移动终端的系统升级方法包括:创建各个内嵌式存储器对应的分区信息表,并以结构信息的方式将分区信息对应存储在分区表中,分区信息表包括分区表名及与分区唯一对应的分区全名;读取分区信息表,根据分区表名识别对应的内嵌式存储器,并按分区信息表统一对单个或多个内嵌式存储器分区;接收分区操作命令,根据分区操作命令查询分区信息表,以识别分区信息表对应需要操作的内嵌式存储器,并统一对单个或多个内嵌式存储器的分区进行操作。本发明的多系统移动终端的系统升级方法具有刷机升级过程简易、高效等特点。

Description

用于多系统移动终端的系统升级方法、装置及终端
技术领域
本发明涉及通信技术领域,主要基于在直通(passthrough)模式的虚拟化系统Hypervisor上的一机多操作系统时,各个系统各自独占一片eMMC(内嵌式存储器),在宿主机(PC)上通过fastboot刷机模式完成对多个eMMC刷机的解决方案。更具体地说,涉及一种用于多系统移动终端的系统升级方法、装置及终端。
背景技术
随着现今技术和应用需求的飞速发展,在嵌入式系统上实现一机多系统运行的需求越来越大,并且未来一定会广泛应用,例如现今智能驾驶舱上要求一机多屏多系统的解决方案(为了安全且符合车规,仪表运行QNX系统,而中控运行Android系统),该系统将会对CPU和eMMC的工作效率带来重大的考验,CPU可以根据摩尔定律不断的提升其算力,但是eMMC将会是高负荷的运行才能满足两个系统运行的读写要求。因此,市场上支持多个操作系统各自独占一片eMMC的同一SOC多eMMC Flash的解决方案得到广泛应用。
目前在运行直通(passthrough)模式的Hypervisor系统的产品上,因为同一颗SOC上运行着多个操作系统(本发明主要解决双系统模式),并且为了提升效率,每一个系统都独占一颗eMMC Flash,这样导致不能使用fastboot刷机模式实现对多操作系统进行刷机升级,即现有通过使用fastboot刷机模式进行刷机升级系统的方案中,只支持对一片eMMCFlash进行刷机升级镜像,并不支持对多片eMMC统一进行刷机。
发明内容
本发明要解决的技术问题在于,针对上述的问题,提供一种简易的用于多系统移动终端的系统升级方法、装置及终端,通过fastboot刷机模式实现对多个eMMC进行统一建立分区表、统一批量刷机升级、独立分区刷机升级、统一擦除分区和独立擦除分区。
本发明解决上述技术问题的技术方案是,提供一种用于多系统移动终端的系统升级方法,本发明的用于多系统移动终端的系统升级方法中,所述移动终端包括至少两个内嵌式存储器,所述系统存储在所述内嵌式存储器中,所述用于多系统移动终端的系统升级方法包括:
创建各个所述内嵌式存储器对应的分区信息表,并以结构信息的方式将所述分区信息对应存储在所述分区表中,所述分区信息表包括分区表名及与所述分区唯一对应的分区全名;
读取所述分区信息表,根据所述分区表名识别对应的所述内嵌式存储器,并按所述分区信息表统一对单个或多个所述内嵌式存储器分区;
接收分区操作命令,根据所述分区操作命令查询所述分区信息表,以识别所述分区信息表对应需要操作的所述内嵌式存储器,并统一对单个或多个所述内嵌式存储器的分区进行操作。
本发明的用于多系统移动终端的系统升级方法中,所述分区信息表中,按先后顺序包括所述内嵌式存储器的所有分区的struct oem_part_info结构信息:
分区名、分区别名、分区系统格式和分区长度;所述分区全名包括分区名和分区别名。
本发明的用于多系统移动终端的系统升级方法中,所述读取所述分区信息表,根据所述分区表名识别所述分区信息表对应的所述内嵌式存储器,并对所述内嵌式存储器分区包括:
识别所述移动终端的命令,根据所述移动终端的命令判断需要操作的所述内嵌式存储器,并保存判断结果;
根据所述判断结果,对所述内嵌式存储器直接分区。
本发明的用于多系统移动终端的系统升级方法中,所述读取所述分区信息表,根据所述分区表名识别所述分区信息表对应的所述内嵌式存储器,并对所述内嵌式存储器分区包括:
连接到USB主机,并根据所述移动终端的命令初始化所述移动终端的fastboot通信协议;
进入侦听数据状态的所述外设获取PC端发出的分区操作命令;
接收并解析所述分区操作命令,若获取到所述分区名,按所述分区名识别所述内嵌式存储器,对所述内嵌式存储器进行分区并对分区进行操作;若未获取到所述分区名,则退出流程。
本发明的用于多系统移动终端的系统升级方法中,所述接收分区操作命令,根据所述分区操作命令查询所述分区信息表,以识别所述分区信息表对应需要操作的所述内嵌式存储器,并统一对单个或多个所述内嵌式存储器的分区进行操作包括:
接收与所述移动终端绑定的PC端传递的所述分区名,根据所述分区名遍历所述分区信息表,识别所述分区名对应的分区信息表;
根据所述分区信息表确定判断需要操作的所述内嵌式存储器;
读取所述内嵌式存储器对应的分区表,并对分区表进行操作。
本发明还提供了一种用于多系统移动终端的系统升级装置,所述移动终端包括至少两个内嵌式存储器,所述系统存储在所述内嵌式存储器中,其特征在于,所述用于多系统移动终端的系统升级装置包括:
创建分区信息表单元,用于创建各个所述内嵌式存储器对应的分区信息表,并以结构信息的方式将所述分区信息对应存储在所述分区表中,所述分区信息表包括分区表名及与所述分区唯一对应的分区全名;
建立分区单元,用于读取所述分区信息表,根据所述分区表名识别对应的所述内嵌式存储器,并按所述分区信息表统一对单个或多个所述内嵌式存储器分区;
操作分区单元,用于接收分区操作命令,根据所述分区操作命令查询所述分区信息表,以识别所述分区信息表对应需要操作的所述内嵌式存储器,并统一对单个或多个所述内嵌式存储器的分区进行操作。
本发明的用于多系统移动终端的系统升级装置中,所述分区信息表中,按先后顺序包括所述内嵌式存储器的所有分区的struct oem_part_info结构信息:
分区名、分区别名、分区系统格式和分区长度;所述分区全名包括分区名和分区别名。
本发明的用于多系统移动终端的系统升级装置中,所述建立分区单元还用于,识别所述移动终端的命令,根据所述移动终端的命令判断需要操作的所述内嵌式存储器,并保存判断结果;根据所述判断结果,对所述内嵌式存储器直接分区;连接到USB主机,并根据所述移动终端的命令初始化所述移动终端的fastboot通信协议;进入侦听数据状态的所述外设获取PC端发出的分区操作命令;接收并解析所述分区操作命令,若获取到所述分区名,按所述分区名识别所述内嵌式存储器,对所述内嵌式存储器进行分区并对分区进行操作;若未获取到所述分区名,则退出流程;
所述操作分区单元还用于,接收与所述移动终端绑定的PC端传递的所述分区名,根据所述分区名遍历所述分区信息表,识别所述分区名对应的分区信息表;根据所述分区信息表确定判断需要操作的所述内嵌式存储器;读取所述内嵌式存储器对应的分区表,并对分区表进行操作。
本发明还提供了另一种用于多系统移动终端的系统升级终端,包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述用于多系统移动终端的系统升级方法的步骤。
本发明还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现上述任一项所述用于多系统移动终端的系统升级方法的步骤。
本发明提供的用于多系统移动终端的系统升级方法、装置及终端,在嵌入式系统的引导加载程序(u-boot)中,通过建立分区信息表,根据分区全名识别内嵌式存储器进行分区,并接收外部设备输入的分区操作指令统一对单个或多个内嵌式存储器的分区进行操作,实现通过fastboot刷机模式对多系统的刷机升级,操作过程简单高效。同时,还可通过解析fastboot命令参数,单独对内嵌式存储器的分区进行操作,即支持单独对某一eMMC刷机升级模式,可满足新型操作系统运行的单一eMMC刷机升级、多eMMC刷机升级需求。
附图说明
图1是本发明用于多系统移动终端的系统升级第一实施例的流程示意图;
图2是内嵌式存储器分区流程图示意图;
图3是分区信息表数据格式示意图;
图4是本发明u-boot端与PC端通信模型示意图;
图5是本发明用于多系统移动终端的系统升级方法第二实施例的流程示意图;
图6是本发明用于多系统移动终端的系统升级方法第三实施例的流程示意图;
图7是本发明用于多系统移动终端的系统升级装置实施例的示意图;
图8是本发明用于多系统移动终端的系统升级终端实施例的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,是用于多系统移动终端的系统升级方法第一实施例的流程示意图,该用于多系统移动终端的系统升级方法,可应用于智能驾驶舱,移动终端包括至少两个内嵌式存储器,所述系统存储在所述内嵌式存储器中,所述用于多系统移动终端的系统升级方法包括:
步骤S11:创建各个所述内嵌式存储器对应的分区信息表,并以结构信息的方式将所述分区信息对应存储在所述分区表中,所述分区信息表包括分区表名及与所述分区唯一对应的分区全名。
进一步地,所述分区信息表中,按先后顺序包括所述内嵌式存储器的所有分区的struct oem_part_info结构信息:分区名、分区别名、分区系统格式和分区长度;所述分区全名包括分区名和分区别名,关于如上分区信息表完全包括两颗eMMC的所有分区。
在上述步骤中,以已经能够使用u-boot成功驱动两片eMMC的移动终端为例,对两片eMMC分别编号0(QNX系统)和1(Android),例如输入“mmc dev 0”或“mmc dev 1”命令能够正常检测到eMMC的。根据QNX和Android系统对eMMC的使用需求,分别对eMMC 0和eMMC 1建立分区表,并且以struct oem_part_info结构信息的方式分别存储在oem_partition_table_0和oem_partition_table_1这两个表中。例如,oem_partition_table_0和oem_partition_table_1分区信息表具体信息如下:
表一分区信息表
需要注意的是,在对eMMC统一分区时,需要保证所有的分区全名是唯一的,其中,分区全名表示分区名与分区别名组成的字符串,例如system_a分区,在分区表中,分区名为“system”,分区别名为“_a”,所以分区全名为”system_a”。
步骤S12:读取所述分区信息表,根据所述分区表名识别对应的所述内嵌式存储器,并按所述分区信息表统一对单个或多个所述内嵌式存储器分区。
相应地,如图2所示为内嵌式存储器分区流程图。移动终端包括两片eMMC0和eMMC1,读取分区信息表oem_partition_table_0和oem_partition_table_1,根据分区全名,自动识别分区在哪一颗eMMC上,并将分区信息表写入对应的eMMC中,对eMMC进行分区,分区成功后,eMMC 0和eMMC 1分区表结构如图3所示。
在上述步骤中,还包括识别所述移动终端的命令,根据所述移动终端的命令判断需要操作的所述内嵌式存储器,并保存判断结果;根据所述判断结果,对所述内嵌式存储器直接分区。
在上述步骤中,还包括连接到USB主机,并根据所述移动终端的命令初始化所述移动终端的fastboot通信协议;进入侦听数据状态的所述外设获取PC端发出的分区操作命令;接收并解析所述分区操作命令,若获取到所述分区名,按所述分区名识别所述内嵌式存储器,对所述内嵌式存储器进行分区并对分区进行操作;若未获取到所述分区名,则退出流程。
步骤S13:接收分区操作命令,根据所述分区操作命令查询所述分区信息表,以识别所述分区信息表对应需要操作的所述内嵌式存储器,并统一对单个或多个所述内嵌式存储器的分区进行操作。
在上述步骤中,还包括接收与移动终端绑定的PC端传递的所述分区名,根据所述分区名遍历所述分区信息表,识别所述分区名对应的分区信息表;根据所述分区信息表确定判断需要操作的所述内嵌式存储器;读取所述内嵌式存储器对应的分区表,并对分区表进行操作。
如图4所示,为u-boot端与PC端通信模型示意图。本发明的软件程序可运行各类符合需求的BootLoader中,但本发明的实现主要是在u-boot中实现,因此本发明示例中,muti_fastboot是作为u-boot上的应用程序软件而存在。本发明遵循fastboot协议,可多维度管理多片eMMC,以满足新型操作系统运行的需求。并且在PC端的fastboot service与常规的fastboot完全兼容。本发明设计的程序以USB与PC端的fashboot service实现通信,并且自身作为USB device端。移动终端u-boot端实现的muti_fastboot通信,数据的传输协议完全遵循标准fastboot协议,与PC端的fastboot通信时,PC端fastboot作为server端,u-boot端的muti_fastboot作为client端。
在进行刷机升级过程中,muti_fastboot可支持单独对某一eMMC支持(例如只操作eMMC 0,命令:muti_fastboot mmc 0),也可以同时支持2颗eMMC,具体刷机的过程中,自动根据分区名查找到对应eMMC的编号,然后对相应的eMMC进行操作。以包括eMMC 0和eMMC 01的u-boot端刷机模式为例,命令示例如下:
1.单独刷机eMMC 0
(1)u-boot端命令:
muti_fastboot mmc 0
(2)PC端命令:
按分区刷机:
fastboot flash{partition}{image_file}
命令示例如下:
fastboot flash dos dos.img
fastboot flash qnxdisk qnxdata.img
擦除分区:
fastboot erase{partition}
命令示例如下:
fastboot erase dos
fastboot erase qnxdisk
格式化:
格式化某一分区:
fastboot format{partition}
命令示例如下:
fastboot format dos
全局格式化,重新建立分区表:
fastboot oem format
2.单独刷机eMMC 1
(1)u-boot端命令:
muti_fastboot mmc 1
(2)PC端命令:
按分区刷机:
fastboot flash{partition}{image_file}
命令示例如下:
fastboot flash dtb dtb.img
fastboot flash dtbo dtbo.img
fastboot flash boot boot.img
fastboot flash metadata metadata.img
fastboot flash system system.img
fastboot flash vendor vendor.img
fastboot flash product product.img
擦除分区:
fastboot erase{partition}
命令示例如下:
fastboot erase misc
fastboot erase pst
fastboot erase vbmeta
fastboot erase dtb
fastboot erase dtbo
fastboot erase boot
fastboot erase metadata
fastboot erase system
fastboot erase vendor
fastboot erase qnxdisk
fastboot erase product
fastboot erase userdata
格式化:
格式化某一分区:
fastboot format{partition}
fastboot format userdata
全局格式化,重新建立分区表:
fastboot oem format
需要注意的是,对于采用A/B分区的系统而言,因为A/B分区主要是为了OTA升级等使用的,所以muti_fastboot只针对A/B中的某一分区刷机,而这个选择可以在muti_fastboot的实现中选择设置。也就是意味着,假设已经设置系统启动使用的是A分区,那么当PC端执行命令:"fastboot flash system system.img"刷机时,只刷写system_a分区,而不理会system_b分区。
3.按分区自动刷机
1)u-boot端命令:
muti_fastboot mmc
(2)PC端命令:
PC端命令与1与2中的命令完全相同,执行命令后,主要工作由u-boot端自行安装传输过去的分区名进行查找eMMC的编号,然后操作对应的eMMC分区。
4.PC端fastboot公共指令
按u-boot参数加载内核运行:
fastboot boot
重启:
fastboot reboot
fastboot reboot bootloader
读取版本信息:
fastboot getver:version
从以上关于PC端fastboot与u-boot端的muti_fastboot的配合通信刷机升级可知,本实施例完全遵循fastboot协议标准,主要是针对eMMC 0和eMMC 1进行同时同步的统一管理,最大程度的减小使用的差异化,使得用户使用更简便。
如图5所示,是本发明用于多系统移动终端的系统升级方法的第二实施例,需要注意的是,第二实施例的前提条件包括:
(1)本实施例移动终端所使用的系统已经能够正常运行多系统,并且每个系统各自独占使用一颗eMMC;
(2)本实施例所使用的u-boot已经成功驱动两片eMMC(内嵌式存储器);对两片eMMC分别编号为0(QNX系统)和1(Android),例如输入“mmc dev 0”或“mmc dev 1”这样的命令是能够正常检测到eMMC的。
(3)本实施例所使用的u-boot已经支持USB OTG功能。
(4)本发明所使用的u-boot已经支持对eMMC 1刷机升级Android系统。
对eMMC分区后的继续操作流程的步骤为:
(1)从外围设备获取传递的分区名Temp-name;
(2)遍历分区信息表oem_partition_table_0和oem_partition_table_1,判断分区名对应的分区信息表,若未找到分区名对应的分区信息表,则遍历结束;
(3)识别分区信息表,根据分区表名,自动识别分区在哪一颗eMMC上;
(4)读取对应的eMMC中分区信息表,然后管理/操作对应的eMMC分区。
如图6所示,是本发明用于多系统移动终端的系统升级方法的第三实施例,需要注意的是,第三实施例的前提条件包括:
(1)移动终端所使用的系统已经能够正常运行多系统,并且每个系统各自独占使用一颗eMMC;
(2)所使用的u-boot已经成功驱动两片eMMC(内嵌式存储器);对两片eMMC分别编号为0(QNX系统)和1(Android),例如输入“mmc dev 0”或“mmc dev 1”这样的命令是能够正常检测到eMMC的。
(3)所使用的u-boot已经支持USB OTG功能。
(4)所使用的u-boot已经支持对eMMC 1刷机升级Android系统。
基于muti_fastboot进行eMMC刷机升级的步骤为:
(1)识别在u-boot端输入的muti_fastboot命令参数,判断需要操作的eMMC编号或者操作时按分区名自动寻找eMMC,并将结果保存在flash_type变量中。
(2)选择并绑定所需要使用的USB OTG外围设备,并初始化fastboot协议。
(3)USB进入侦听数据的状态,有数据时将产生中断,并获取从USB host发来的数据。
(4)解析PC端fastboot命令参数,例如flash/erase/getvar/boot/reboot/oem等。
(5)根据flash_type的取值选择要操作的eMMC。flash_type=0时,直接单独操作eMMC 0;flash_type=1时,直接单独操作eMMC 1;flash_type=2或其他值时,则按照接收到的PC端fastboot参数中所带的分区名来辨别是哪一颗eMMC,然后操作对应的eMMC,如果是不带分区名的命令参数,例如oem,则直接对两片eMMC都进行格式化操作。
(6)根据PC端fastboot命令参数flash/erase/getvar/boot/reboot/oem的功能来对eMMC进行对应功能操作,例如flash表示将镜像写入eMMC;erase表示擦除eMMC的某一个分区或全部分区。
本发明提供了一种对应的用于多系统移动终端的系统升级装置,应用于移动终端,所述移动终端包括至少两个内嵌式存储器,所述操作系统存储在所述内嵌式存储器中,该升级装置为u-boot的一个功能模块,muti_fastboot程序的设计主要在u-boot上完成,muti_fastboot程序的运行也是在u-boot上运行。如图7所示,升级装置包括创建分区信息表单元71、建立分区单元72、操作分区单元73:
创建分区信息表单元71,用于创建各个所述内嵌式存储器对应的分区信息表,并以结构信息的方式将所述分区信息对应存储在所述分区表中,所述分区信息表包括分区表名及与所述分区唯一对应的分区全名;
建立分区单元72,用于读取所述分区信息表,根据所述分区表名识别对应的所述内嵌式存储器,并按所述分区信息表统一对单个或多个所述内嵌式存储器分区;
操作分区单元73,用于接收分区操作命令,根据所述分区操作命令查询所述分区信息表,以识别所述分区信息表对应需要操作的所述内嵌式存储器,并统一对单个或多个所述内嵌式存储器的分区进行操作。
特别地,建立分区单元72还用于,识别所述移动终端的命令,根据所述移动终端的命令判断需要操作的所述内嵌式存储器,并保存判断结果;根据所述判断结果,对所述内嵌式存储器直接分区;连接到USB主机,并根据所述移动终端的命令初始化所述移动终端的fastboot通信协议;进入侦听数据状态的所述外设获取PC端发出的分区操作命令;接收并解析所述分区操作命令,若获取到所述分区名,按所述分区名识别所述内嵌式存储器,对所述内嵌式存储器进行分区并对分区进行操作;若未获取到所述分区全名,则退出流程;
特别地,操作分区单元73还用于,接收与移动终端绑定的PC端传递的所述分区名,根据所述分区名遍历所述分区信息表,识别所述分区名对应的分区信息表;根据所述分区信息表确定判断需要操作的所述内嵌式存储器;读取所述内嵌式存储器对应的分区表,并对分区表进行操作。
本发明提供了一种对应的用于多系统移动终端的系统升级终端,如图8所示,包括存储器801和处理器802,所述存储器801中存储有可在所述处理器802上运行的计算机程序,所述处理器802执行所述计算机程序时实现用于多系统移动终端的系统升级方法第一实施例的步骤。
本发明提供了一种计算机可读存储介质,述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现用于多系统移动终端的系统升级方法第一实施例的步骤。
上述移动终端通过识别外围设备(PC端)发送的分区操作指令,对移动终端中的内嵌式存储器进行分区并对分区进行读写操作,实现移动终端的多操作系统统一分区和刷机,刷机过程简单高效。同时,还可通过解析fastboot命令参数,单独对内嵌式存储器的分区进行操作,即支持单独对某一内嵌式存储器刷机升级模式,可满足新型操作系统运行的单一eMMC刷机升级、多eMMC刷机升级需求。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (7)

1.一种用于多系统移动终端的系统升级方法,应用于直通模式的虚拟化系统Hypervisor上的一机多操作系统,所述移动终端包括至少两个内嵌式存储器,所述系统存储在所述内嵌式存储器中,所述内嵌式存储器为eMMC,每一个所述系统独占一颗eMMC,其特征在于,所述用于多系统移动终端的系统升级方法包括:
创建各个所述内嵌式存储器对应的分区信息表,并以结构信息的方式将所述分区信息对应存储在所述分区信息表中,所述分区信息表包括分区信息表名及与所述分区唯一对应的分区全名;所述分区信息表中,按先后顺序包括所述内嵌式存储器的所有分区的structoem_part_info结构信息:分区名、分区别名、分区系统格式和分区长度;所述分区全名包括分区名和分区别名;
读取所述分区信息表,根据所述分区信息表名识别对应的所述内嵌式存储器,并按所述分区信息表统一对单个或多个内嵌式存储器分区;
接收分区操作命令,根据所述分区操作命令查询所述分区信息表,以识别所述分区信息表对应需要操作的所述内嵌式存储器,并统一对单个或多个所述内嵌式存储器的分区进行操作,具体包括:接收与所述移动终端绑定的PC端传递的分区名,根据所述分区名遍历所述分区信息表,识别所述分区名对应的分区信息表;根据所述分区信息表确定判断需要操作的所述内嵌式存储器;读取所述内嵌式存储器对应的分区信息表,并对分区进行操作;
所述多系统移动终端的系统升级方法被封装为u-boot中的应用程序muti_fastboot,muti_fastboot遵循fastboot协议,与PC端的fashboot service实现通信,基于muti_fastboot进行eMMC刷机升级的步骤为:
(1)识别在u-boot端输入的muti_fastboot命令参数,判断需要操作的eMMC编号或者操作时按分区名自动寻找eMMC,并将结果保存在flash_type变量中;
(2)选择并绑定所需要使用的USB OTG外围设备,并初始化fastboot协议;
(3)USB进入侦听数据的状态,有数据时将产生中断,并获取从USB host发来的数据;
(4)解析PC端fastboot命令参数;
(5)根据flash_type的取值选择要操作的eMMC;
(6)根据PC端fastboot命令参数的功能来对eMMC进行对应功能操作。
2.根据权利要求1所述的用于多系统移动终端的系统升级方法,其特征在于,所述读取所述分区信息表,根据所述分区信息表名识别所述内嵌式存储器,并按所述分区信息表统一对单个或多个内嵌式存储器分区包括:
识别所述移动终端的命令,根据所述移动终端的命令判断需要操作的所述内嵌式存储器,并保存判断结果;
根据所述判断结果,对所述内嵌式存储器直接分区。
3.根据权利要求2所述的用于多系统移动终端的系统升级方法,其特征在于,所述读取所述分区信息表,根据所述分区信息表名识别所述内嵌式存储器,并按所述分区信息表统一对单个或多个内嵌式存储器分区包括:
连接到USB主机,并根据所述移动终端的命令初始化所述移动终端的fastboot通信协议;
进入侦听数据状态的外设获取PC端发出的分区操作命令;
接收并解析所述分区操作命令,若获取到分区名,按所述分区名识别所述内嵌式存储器,对所述内嵌式存储器进行分区并对分区进行操作;若未获取到所述分区名,则退出流程。
4.一种用于多系统移动终端的系统升级装置,应用于直通模式的虚拟化系统Hypervisor上的一机多操作系统,所述移动终端包括至少两个内嵌式存储器,所述系统存储在所述内嵌式存储器中,所述内嵌式存储器为eMMC,每一个所述系统独占一颗eMMC,其特征在于,所述用于多系统移动终端的系统升级装置包括:
创建分区信息表单元,用于创建各个所述内嵌式存储器对应的分区信息表,并以结构信息的方式将所述分区信息对应存储在所述分区信息表中,所述分区信息表包括分区信息表名及与所述分区唯一对应的分区全名;所述分区信息表中,按先后顺序包括所述内嵌式存储器的所有分区的struct oem_part_info结构信息:
分区名、分区别名、分区系统格式和分区长度;所述分区全名包括分区名和分区别名;
建立分区单元,用于读取所述分区信息表,根据所述分区信息表名识别对应的所述内嵌式存储器,并按所述分区信息表统一对单个或多个内嵌式存储器分区;
操作分区单元,用于接收分区操作命令,根据所述分区操作命令查询所述分区信息表,以识别所述分区信息表对应需要操作的所述内嵌式存储器,并统一对单个或多个所述内嵌式存储器的分区进行操作;
所述操作分区单元还用于,接收与所述移动终端绑定的PC端传递的分区名,根据所述分区名遍历所述分区信息表,识别所述分区名对应的分区信息表;根据所述分区信息表确定判断需要操作的所述内嵌式存储器;读取所述内嵌式存储器对应的分区信息表,并对分区进行操作;
所述建立分区单元和操作分区单元被集成在运行于u-boot中的应用程序muti_fastboot中,muti_fastboot遵循fastboot协议,与PC端的fashboot service实现通信,根据u-boot端输入的muti_fastboot命令参数和PC端输入的fastboot命令参数实现对指定eMMC的分区操作;其中:
基于muti_fastboot进行eMMC刷机升级的步骤为:
(1)识别在u-boot端输入的muti_fastboot命令参数,判断需要操作的eMMC编号或者操作时按分区名自动寻找eMMC,并将结果保存在flash_type变量中;
(2)选择并绑定所需要使用的USB OTG外围设备,并初始化fastboot协议;
(3)USB进入侦听数据的状态,有数据时将产生中断,并获取从USB host发来的数据;
(4)解析PC端fastboot命令参数;
(5)根据flash_type的取值选择要操作的eMMC;
(6)根据PC端fastboot命令参数的功能来对eMMC进行对应功能操作。
5.根据权利要求4所述的用于多系统移动终端的系统升级装置,其特征在于,所述建立分区单元还用于,识别所述移动终端的命令,根据所述移动终端的命令判断需要操作的所述内嵌式存储器,并保存判断结果;根据所述判断结果,对所述内嵌式存储器直接分区;连接到USB主机,并根据所述移动终端的命令初始化所述移动终端的fastboot通信协议;进入侦听数据状态的外设获取PC端发出的分区操作命令;接收并解析所述分区操作命令,若获取到分区名,按所述分区名识别所述内嵌式存储器,对所述内嵌式存储器进行分区并对分区进行操作;若未获取到所述分区名,则退出流程。
6.一种用于多系统移动终端的系统升级终端,其特征在于,包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至3中任一项所述用于多系统移动终端的系统升级方法的步骤。
7.一种计算机可读存储介质,所述存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至3中任一项所述用于多系统移动终端的系统升级方法的步骤。
CN202110084815.2A 2021-01-21 2021-01-21 用于多系统移动终端的系统升级方法、装置及终端 Active CN114816491B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110084815.2A CN114816491B (zh) 2021-01-21 2021-01-21 用于多系统移动终端的系统升级方法、装置及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110084815.2A CN114816491B (zh) 2021-01-21 2021-01-21 用于多系统移动终端的系统升级方法、装置及终端

Publications (2)

Publication Number Publication Date
CN114816491A CN114816491A (zh) 2022-07-29
CN114816491B true CN114816491B (zh) 2025-10-28

Family

ID=82524721

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110084815.2A Active CN114816491B (zh) 2021-01-21 2021-01-21 用于多系统移动终端的系统升级方法、装置及终端

Country Status (1)

Country Link
CN (1) CN114816491B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116679946B (zh) * 2022-11-22 2024-07-23 荣耀终端有限公司 一种固件升级方法及终端
CN116450184B (zh) * 2023-06-09 2023-10-13 联宝(合肥)电子科技有限公司 一种系统升级方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106796507A (zh) * 2014-09-18 2017-05-31 英特尔公司 无需内容转换支持计算设备中的多操作系统环境
CN111522569A (zh) * 2020-05-09 2020-08-11 中瓴智行(成都)科技有限公司 基于Hypervisor的嵌入式多系统升级方法及计算机可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559054B (zh) * 2013-10-30 2017-10-10 华为终端有限公司 智能终端多操作系统的实现、删除方法和装置
CN107622204A (zh) * 2017-09-26 2018-01-23 北京计算机技术及应用研究所 一种基于国产操作系统的国产平板双系统存储与启动方法
US10754580B2 (en) * 2017-10-23 2020-08-25 Micron Technology, Inc. Virtual partition management in a memory device
CN111104148B (zh) * 2019-12-26 2023-06-16 红石阳光(北京)科技股份有限公司 集成有Linux和android两系统的芯片平台的升级方法、系统及可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106796507A (zh) * 2014-09-18 2017-05-31 英特尔公司 无需内容转换支持计算设备中的多操作系统环境
CN111522569A (zh) * 2020-05-09 2020-08-11 中瓴智行(成都)科技有限公司 基于Hypervisor的嵌入式多系统升级方法及计算机可读存储介质

Also Published As

Publication number Publication date
CN114816491A (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
US8296521B2 (en) Method of configuring non-volatile memory for a hybrid disk drive
US9301164B2 (en) Method, system, and terminal for performing system update between mobile communication terminals
CN103365696B (zh) Bios镜像文件获取方法及装置
CN113835644B (zh) 整机迁移方法、装置、设备及存储介质
CN101110039B (zh) 终端设备自安装及自启动系统及方法
CN103677915B (zh) 一种基于TF启动卡进行flash镜像自动烧写的方法
CN101763279A (zh) 一种BootLoader架构设计方法
US20130339718A1 (en) Information processing device and method for controlling information processing device
US8677084B2 (en) Method of configuring non-volatile memory for a hybrid disk drive
CN113900693A (zh) 一种固件升级方法、装置、系统、电子设备及存储介质
CN114816491B (zh) 用于多系统移动终端的系统升级方法、装置及终端
CN102073524B (zh) 一种无线通讯终端及其自启动的方法
CN113849272A (zh) 在虚拟机中添加gpu资源的方法及装置
CN104407890A (zh) 一种从OTG设备启动Android系统的方法
JP2013513874A (ja) データカードのアップグレーディング方法およびデバイス
CN112162794A (zh) 一种单板启动方法、装置、单板以及网络设备
US20070168905A1 (en) Networked linux machine and windows software development system
JP2002366501A (ja) 周辺デバイス、コンピュータシステム、及びインストーラプログラム
CN115033299B (zh) 一种生产测试系统启动的方法与终端
CN117393029A (zh) 一种raid卡测试方法和测试服务器
JP3693240B2 (ja) 異なる操作モードを利用してアダプタ構成ルーチンを実行する方法およびシステム
CN115794180A (zh) 一种Bootloader的升级方法及系统
CN112148376A (zh) 一种终端启动方法及装置
CN114185561B (zh) 分体式5g/v2x设备的固件烧录方法、装置及系统
CN116243994B (zh) 一种存储设备的驱动加载方法、操作系统启动方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant