一种兼容多系统软件及其设计方法技术方案

技术编号:36111013 阅读:14 留言:0更新日期:2022-12-28 14:13
本发明专利技术涉及一种兼容多系统软件及其设计方法,在一种兼容多系统软件中,2/3/4/5G+WIFI与WIFI only系统在软件上的区别在于使用的modem镜像不一致,利用A/B分区机制,首先通过修改XML文件,把两种不同版本的NON.HLOS文件分别放在modem_a分区和modem_b分区,在烧录时实现不同modem镜像在AB分区单独存储,即modem_a分区烧录进A分区,modem_b分区烧录进B分区。版本第一次开机后,软件在abl阶段会根据版本硬件GPIO不同,实现分区的copy与copy后分区进行CRC对比校验,从而在理论上实现开机第一次的软件自适应工作。其主要采用A/B系统分区存储技术实现软件的自适应工作。区存储技术实现软件的自适应工作。

【技术实现步骤摘要】
一种兼容多系统软件及其设计方法


[0001]本专利技术涉及无线通信和软件开发
,尤其是涉及一种兼容多系统软件及其设计方法。

技术介绍

[0002]现在网络发展迅速,人们对所使用的设备有更高效及更便利的期望。然而目前在单一版本的设备上仍存在如下不足:(1)一套软件版本对应一套设备系统,应用场景单一,无法满足多系统的需求;(2)软件版本维护难度和成本较高;(3)设备功能单一,效率低。
[0003]因此随着软件开发技术的不断发展以及客户需求的不断提高,通过有效的开发模式实现对软件的开发应用及软件的自适应研究成为了软件工程领域的热点。
[0004]一套版本可以适应多个硬件系统是很有必要的,这样就可以减少软件的维护及成本,提高效率。在一个设备上有A/B两套可以工作的系统(用户数据只有一份,为两套系统共用),可以理解为一套为系统分区,另外一套为备份分区。相较于传统的分区设置,A/B系统拥有两套分区,给兼容多硬件系统的软件设计提供了思路。A/B系统主要由运行在Android后台的update_engine和两套分区

slot A



slot B

组成。Android系统从其中一套分区启动,在后台运行update_engine监测升级信息并下载升级数据。然后将数据更新到另一套分区,写入数据完成后从更新的分区启动。
[0005]软件系统是复杂的,多变的,以Internet为代表的网络化、分布式计算系统的出现和普及使计算机软件所面临的运行环境开始从封闭、静态、可控 逐步走向开放、动态、难控。所以软件在实施的过程中会遇到很多各种各样的问题,导致,软件系统要不断适应网络、位置、设备、资源和用户需求的改变。因此需要软件有一定的自适应能力,即为软件系统应对外部环境、用户需求和系统自身的频繁变化而实现自我调节的一种能力。因此可以通过实现软件自适应来完成多硬件系统的版本兼容。

技术实现思路

[0006]针对现有技术存在的不足,本专利技术的目的是提供一种兼容多系统软件及其设计方法,其设计出的一套软件版本可以适应多套硬件系统,实现软件自适应。
[0007]本专利技术的上述专利技术目的是通过以下技术方案得以实现的:一种兼容多系统软件,2/3/4/5G+WIFI与WIFI only系统在软件上的区别在于使用的modem镜像不一致,利用A/B分区机制,首先通过修改XML文件,把两种不同版本的NON.HLOS文件分别放在modem_a分区和modem_b分区,在烧录时实现不同modem镜像在AB分区单独存储,即modem_a分区烧录进A分区,modem_b分区烧录进B分区;版本第一次开机后,软件在abl阶段会根据版本硬件GPIO不同,实现分区的copy与copy后分区进行CRC对比校验,从而在理论上实现开机第一次的软件自适应工作。
[0008]本专利技术在一较佳示例中可以进一步配置为:所述软件异常断电处理策略包括以下步骤:在镜像头部加入Copy标志位和TRY次数位,设备Copy分区且校验okay后,会将该标志位置1,每次设备开机会进行该标志位的检查,如果为1,不再COPY,进行正常启动,如果为0,会重新copy,并将TRY次数位减1,设备进行重启,如果COPY一直fail,TRY次数减为0,这时弹框提示COPY分区失败,并将系统由A分区启动改为由B分区启动。
[0009]一种兼容多系统软件的设计方法,包括以下步骤:步骤1、编译5G版本的代码生成NON_HOLS(5G).bin文件;步骤2、编译WIFI版本的代码生成NON_HOLS(WIFI).bin文件;步骤3、把步骤1生成的NON_HOLS(5G).bin文件和步骤2生成的NON_HOLS(WIFI).bin文件放在5G版本中;步骤4、修改5G版本中的rawprogram0.xml文件中的modem_a分区的filename为NON_HOLS(5G).bin文件;步骤5、修改5G版本中的rawprogram0.xml文件中的modem_b分区的filename为NON_HOLS(WIFI).bin文件;步骤6、烧录5G版本到设备中的AB分区;步骤7、CPU读GPIO的值;步骤8、GPIO的值为1,则把A分区覆盖到B分区,实现5G功能;步骤9、GPIO的值为0,则把B分区覆盖到A分区,实现WIFI功能。
[0010]综上所述,本专利技术包括以下至少一种有益技术效果:1.采用基于A/B分区机制的兼容多硬件系统软件自适应方案设计,其解决了不同硬件系统的软件兼容问题,使两套硬件系统可以共用一套版本,可以降低软件版本维护难度和成本,在软件运行时实现自适应,提高设备使用效率。同时还考虑到了工厂生产过程中可能出现的异常断电问题,提高了系统的稳定性。
[0011]2.在本专利技术中,运用到了Android A/B系统分区,根据硬件版本的GPIO不同来完成A分区到B分区的覆盖,或者是B分区到A分区的覆盖,以此来完成多硬件系统的软件兼容,从而满足减少软件的维护成本和难度,实现设备的多功能和高效的操作。
附图说明
[0012]图1为本实施例一展示的兼容多系统软件设计流程图。
[0013]图2为本实施例一展示的异常断电处理逻辑框图。
[0014]图3为本实施例二的实施流程图。
具体实施方式
[0015]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述;显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0016]实施例一:参照图1,为本专利技术公开的一种兼容多系统软件, 2/3/4/5G+WIFI与WIFI only系
统在软件上的区别在于使用的modem镜像不一致,利用A/B分区机制,首先通过修改XML文件,把两种不同版本的NON.HLOS文件分别放在modem_a分区和modem_b分区,在烧录时实现不同modem镜像在AB分区单独存储,即modem_a分区烧录进A分区,modem_b分区烧录进B分区。版本第一次开机后,软件在abl阶段会根据版本硬件GPIO不同,实现分区的copy与copy后分区进行CRC对比校验,从而在理论上实现开机第一次的软件自适应工作。
[0017]参照图2,软件异常断电处理策略包括以下步骤:在镜像头部加入Copy标志位和TRY次数位,设备Copy分区且校验okay后,会将该标志位置1,每次设备开机会进行该标志位的检查,如果为1,不再COPY,进行正常启动,如果为0,会重新copy,并将TRY次数位减1,设备进行重启,如果COPY一直fail,TRY次数减为0,这时弹框提示COPY分区失败,并将系统由A分区启动改为由B分区启动。
[0018]实施例二:参照图3,一种兼容多系统软件的设计方法,包括以下步骤:步骤1、编译5G版本的代码生成NON_HOLS(5G).bi本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1. 一种兼容多系统软件,其特征在于:2/3/4/5G+WIFI与WIFI only系统在软件上的区别在于使用的modem镜像不一致,利用A/B分区机制,首先通过修改XML文件,把两种不同版本的NON.HLOS文件分别放在modem_a分区和modem_b分区,在烧录时实现不同modem镜像在AB分区单独存储,即modem_a分区烧录进A分区,modem_b分区烧录进B分区;版本第一次开机后,软件在abl阶段会根据版本硬件GPIO不同,实现分区的copy与copy后分区进行CRC对比校验,从而在理论上实现开机第一次的软件自适应工作。2.根据权利要求1所述的一种兼容多系统软件,其特征在于:所述软件异常断电处理策略包括以下步骤:在镜像头部加入Copy标志位和TRY次数位,设备Copy分区且校验okay后,会将该标志位置1,每次设备开机会进行该标志位的检查,如果为1,不再COPY,进行正常启动,如果为0,会重新copy,并将TRY次数位减1,设备进行重启,如果COPY一直fail,TRY次数减...

【专利技术属性】
技术研发人员:冯嘉仪
申请(专利权)人:众格智能科技上海有限公司
类型:发明
国别省市:

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

1