一种基于QSDK设备的OTA升级实现方法与流程

文档序号:33452117发布日期:2023-03-15 01:12阅读:21来源:国知局
一种基于QSDK设备的OTA升级实现方法与流程
一种基于qsdk设备的ota升级实现方法
技术领域
1.本发明涉及qsdk设备升级技术领域,尤其涉及一种基于qsdk设备的ota升级实现方法。


背景技术:

2.ota,over-the-air technology,空中下载技术,泛指通过网络接口远程管理本地数据的技术。qsdk固件默认是不支持ota功能的,无法通过ota升级固件。现在需要一种实现qsdk设备ota升级的方法。


技术实现要素:

3.鉴于目前存在的上述不足,本发明提供一种基于qsdk设备的ota升级实现方法,通过ota方式,可以对分布在各地的qsdk设备进行软件升级,而不必让运维人员各地奔波。
4.为达到上述目的,本发明的实施例采用如下技术方案:
5.一种基于qsdk设备的ota升级实现方法,所述方法包括以下步骤:
6.在qsdk设备上预设功能接口用于应用程序调用;
7.应用程序检测到有更新,设置ota标记;
8.从服务器下载升级镜像;
9.应用程序调用重启接口,重新启动目标设备;
10.目标设备重新启动后,进入引导程序,若检测到重启之前设置的ota标记;
11.则启动内核,为烧录做必要的准备,并启动ram disk准备烧录;
12.应用程序将升级镜像烧录到目标设备并在烧录完成后清除ota标记,再次调用重启接口重启目标设备。
13.依照本发明的一个方面,所述方法包括:在应用程序检测到有更新后,进行目标镜像的下载,镜像下载完成后,应用程序设置ota标记。
14.依照本发明的一个方面,所述方法包括:先启动内核0,为烧录做必要的准备;如果启动成功,则启动ram disk准备烧录;如果启动内核0失败,则启动内核1,为烧录做必要的准备。
15.依照本发明的一个方面,所述方法包括:先启动ram di sk0,准备烧录;如果启动ram disk0成功,则由应用程序将升级镜像烧录到目标设备;如果启动ram disk0失败,则启动ram disk1,准备烧录。
16.依照本发明的一个方面,所述方法包括:所述步骤从服务器下载升级镜像在启动ram disk后再执行,直接将升级镜像下载到内存。
17.依照本发明的一个方面,所述ram disk中有网络支持。
18.依照本发明的一个方面,所述方法包括:应用程序检测到镜像有更新,从服务器下载镜像;清理系统应用进程,并把根文件系统切换到内存;应用程序将升级镜像烧录到目标设备;镜像烧录完成后,应用程序调用重启接口,重启目标设备。
19.依照本发明的一个方面,所述功能接口由libupgrade和libsys提供。
20.依照本发明的一个方面,所述libupgrade设置为qsdk的可选组件,当用户没有ota升级需求时,能在配置选项里禁用该组件。
21.依照本发明的一个方面,所述目标设备重新启动后,进入引导程序,若没有检测到ota标记,则直接进入系统。
22.本发明实施的优点:ota应用程序通过调用libupgrade和libsys提供的功能接口,最终实现对存储设备的数据访问。通过ota方式,可以对分布在各地的设备进行软件升级,而不必让运维人员各地奔波。物联网平台支持通过ota方式进行设备固件升级,是智能设备修复系统漏洞、实现系统升级的手段。在迅速变化和发展的物联网市场,新的产品需求不断涌现,因此对于智能硬件设备的更新需求就变得空前高涨,设备不再像传统设备一样一经出售就不再变更。通过固件升级用户提供更好的服务。进一步的,libupgrade是qsdk的可选组件,当用户没有ota升级需求时,可以在配置选项里禁用该组件。
附图说明
23.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1为本发明所述的基于qsdk设备的ota升级实现方法方式1流程示意图;
25.图2为本发明所述的基于qsdk设备的ota升级实现方法方式2流程示意图;
26.图3为本发明所述的基于qsdk设备的ota升级实现方法方式3流程示意图;
27.图4为本发明所述的基于qsdk设备的ota升级实现方法方式4流程示意图。
具体实施方式
28.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.提供了四种ota的实现方式来供用户根据自身产品情况进行选择。这4种方式在储存介质占用,内存占用,以及安全性上均有所区别,用户可以根据具体的产品情况进行选择。
30.实施例一
31.方式1,如图1所示,其中,步骤





是放在一个应用程序中实现的,我们称之为downloader;步骤





是放在另一个应用程序中实现的,我们称之为updater。downloader和updater需要用户自行开发。一种基于qsdk设备的ota升级实现方法,通过如下步骤方式实现:
32.1.应用程序检测到镜像有更新,从服务器下载升级镜像;
33.2.镜像下载完成后,应用程序设置ota flag;
34.3.应用程序调用重启接口,重启目标设备;
35.4.目标设备重新启动,进入bootloader,检测到重启之前设置的ota flag;
36.5.启动kernel0,为烧录做必要的准备;
37.6.启动ramdisk,准备烧录;
38.7.应用程序将升级镜像烧录到目标设备;
39.8.镜像烧录完成后,应用程序清除ota flag,然后再次调用重启接口,重启目标设备。
40.实施例二
41.方式2,如图2所示,当bootloader检查到ota flag后,会先加载启动kernel0。如果kernel0启动失败,则会启动kernel0的备份镜像kernel1。因为要在储存介质中保存kernel1和ramdisk,所以方式2对储存介质的容量有一定要求。这种方式的安全性较高,在以32m spi flash或者emmc为储存介质的产品上,推荐使用此种方案。具体过程如下:
42.1.应用程序检测到镜像有更新,从服务器下载升级镜像;
43.2.镜像下载完成后,应用程序设置ota flag;
44.3.应用程序调用重启接口,重启目标设备;
45.4.目标设备重新启动,进入bootloader,检测到重启之前设置的ota flag;
46.5.启动kernel0,为烧录做必要的准备,如果启动成功,则跳转到第7步;
47.6.如果启动kernel0失败,则启动kernel1,为烧录做必要的准备;
48.7.启动ramdisk0,准备烧录,如果启动成功,则跳转到第9步;
49.8.如果启动ramdisk0失败,则启动ramdisk1,为烧做必要的准备;
50.9.应用程序将升级镜像烧录到目标设备;
51.10.镜像烧录完成后,应用程序清除ota flag,然后再次调用重启接口,重启目标设备。
52.实施例三
53.方式3,如图3所示,从服务器下载升级镜像这个步骤是在ramdisk启动以后才开始的。因此,方式3不需要下载升级包到储存介质,而是直接下载到内存,如果下载不成功,下次会重新下载。在本地储存介质空间紧张的产品(例如采用spi flash并且没有tf卡的产品)上,可以考虑采用此种方式。另外需要注意的是,使用方式3,ramdisk中需要有网络支持。具体流程如下:
54.1.应用程序检测到镜像有更新,然后设置ota flag;
55.2.应用程序调用重启接口,重启目标设备;
56.3.目标设备重新启动,进入bootloader,检测到重启之前设置的ota flag;
57.4.启动kernel0,为烧录做必要的准备;
58.5.启动ramdisk,准备烧录;
59.6.应用程序从服务器下载升级镜像;
60.7.应用程序将升级镜像烧录到目标设备;
61.8.镜像烧录完成后,应用程序清除ota flag,然后再次调用重启接口,重启目标设备。
62.实施例四
63.方式4,如图4所示,由于不需要在储存介质中烧录ramdisk.img,所以对产品储存
介质空间的需求最低,但也极其不安全。除非用户充分了解并可以承担其中的风险,否则不要采用方式4。具体流程如下:
64.1.在文件系统中,应用程序检测到镜像有更新,从服务器下载镜像;
65.2.清理系统应用进程,并把根文件系统切换到内存;
66.3.应用程序将升级镜像烧录到目标设备;
67.4.镜像烧录完成后,应用程序调用重启接口,重启目标设备。
68.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域技术的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1