一种基于vxWorks平台的应用压缩加载方法与流程


一种基于vxworks平台的应用压缩加载方法
技术领域
1.本发明属于嵌入式操作系统技术领域,具体涉及一种应用压缩加载方法。


背景技术:



2.随着技术的发展,机载航电系统越来越复杂,一个cpu模块上应用软件部署数量越来越多;且随着应用软件处理任务的增加,软件镜像大小也在增加,有时会存在应用软件存储介质(如flash)大小无法满足需要的情况。因此,通过应用软件压缩存储的方式可有效减少应用软件镜像大小,节约存储空间。
3.目前,vxworks6.9操作系统下的应用软件使用ld命令进行加载,需要通过镜像路径进行索引,因此必须依赖存储介质上的文件系统,一旦文件系统目录结构被破坏,就会造成应用无法正常运行。


技术实现要素:



4.为了克服现有技术的不足,本发明提供了一种基于vxworks平台的应用压缩加载方法,包括应用程序压缩、应用程序烧录、应用程序解压和应用程序加载四部分,将应用程序镜像压缩后烧录在存储介质固定地址上,加载时从存储介质上拷贝到内存中进行解压,然后将解压后的镜像放入临时的内存文件系统中进行加载,节约了存储空间,同时避免存储介质上的文件系统被破坏导致应用无法加载。
5.本发明解决其技术问题所采用的技术方案包括如下步骤:
6.步骤1:应用程序压缩;
7.采用vxworks压缩算法deflate在vxworks6.9平台下进行应用程序镜像压缩;
8.步骤2:应用程序烧录;
9.采用tftp传输方式进行应用程序烧录,通过嵌入式cpu模块的网口与上位机建立通信,将压缩后的应用程序镜像下载到cpu模块的内存中,通过擦写flash将应用程序镜像固化到flash上;
10.步骤3:应用程序解压;
11.先将flash中的压缩镜像拷贝到内存中后,再使用与deflate对应的inflate接口进行应用程序解压;
12.步骤4:应用程序加载;
13.使用memdrv将内存中的镜像虚拟成io设备,创建成功后在vxworks的设备列表中到应用程序的设备名称,通过ld指令+设备名称完成应用程序的加载。
14.优选地,所述通过嵌入式cpu模块的网口与上位机建立通信时建立socket通信连接。
15.本发明的有益效果如下:
16.本发明将应用程序镜像压缩后烧录在存储介质固定地址上,加载时从存储介质上拷贝到内存中进行解压,然后将解压后的镜像放入临时的内存文件系统中进行加载,节约
了存储空间,同时避免存储介质上的文件系统被破坏导致应用无法加载。
附图说明
17.图1为本发明应用程序压缩烧录流程图。
18.图2为本发明应用程序解压加载流程图。
具体实施方式
19.下面结合附图和实施例对本发明进一步说明。
20.本发明的目的是提供一种基于vxworks平台的应用压缩加载方法,节约机上存储空间,同时使得应用程序的加载脱离文件系统,提高了程序的安全性和稳定性。
21.为了实现上述目的,本发明的方法包括应用程序压缩、应用程序烧录、应用程序解压和应用程序加载四部分。
22.一种基于vxworks平台的应用压缩加载方法,包括如下步骤:
23.步骤1:应用程序压缩;
24.采用vxworks压缩算法deflate在vxworks6.9平台下进行应用程序镜像压缩,通常的vxworks6.9应用程序镜像的压缩率可达60%以上;
25.步骤2:应用程序烧录;
26.采用tftp传输方式进行应用程序烧录,通过嵌入式cpu模块的网口与上位机建立通信,将压缩后的应用程序镜像下载到cpu模块的内存中,通过擦写flash将应用程序镜像固化到flash上;
27.步骤3:应用程序解压;
28.由于cpu模块上flash一般使用local bus等低速总线接口,拷贝到内存上运行时耗时较多,为缩短应用程序加载时间,需要先将flash中的压缩镜像拷贝到内存中后,再使用与deflate对应的inflate接口进行应用程序解压,减小从flash搬运到内存的镜像大小,可有效缩短解压耗时;
29.步骤4:应用程序加载;
30.原本的vxworks应用程序加载只需要ld指令+镜像路径即可,脱离文件系统后,应用程序需要从内存中的固定地址加载。使用memdrv将内存中的镜像虚拟成io设备,创建成功后在vxworks的设备列表中到应用程序的设备名称,通过ld指令+设备名称完成应用程序的加载。
31.具体实施例:
32.构建一个上位pc机和cpu模块的应用加载系统,包括:
33.上位pc机,作为执行镜像压缩工具和网络传输的节点,实现镜像压缩和传输;
34.cpu模块,负责与pc机建立网络通信,接收压缩后的镜像、烧录镜像、解压镜像以及加载镜像。
35.烧录过程如下:
36.1)pc机通过deflate命令将应用程序镜像app.out压缩为app.gz,随后打开tftpd32.exe工具;
37.2)随后cpu端与pc端建立socket通信连接,将app.gz下载到cpu上并烧录到flash
中;
38.加载过程如下:
39.1)cpu模块上电后,从flash固定地址将app.gz拷贝到内存中;
40.2)使用inflate函数将app.gz解压到另一块内存地址;
41.3)使用memdrv将解压后app.out虚拟化为io设备,名称为/app
42.4)使用ld 1,0,“/app”即可加载应用程序。


技术特征:


1.一种基于vxworks平台的应用压缩加载方法,其特征在于,包括如下步骤:步骤1:应用程序压缩;采用vxworks压缩算法deflate在vxworks6.9平台下进行应用程序镜像压缩;步骤2:应用程序烧录;采用tftp传输方式进行应用程序烧录,通过嵌入式cpu模块的网口与上位机建立通信,将压缩后的应用程序镜像下载到cpu模块的内存中,通过擦写flash将应用程序镜像固化到flash上;步骤3:应用程序解压;先将flash中的压缩镜像拷贝到内存中后,再使用与deflate对应的inflate接口进行应用程序解压;步骤4:应用程序加载;使用memdrv将内存中的镜像虚拟成io设备,创建成功后在vxworks的设备列表中到应用程序的设备名称,通过ld指令+设备名称完成应用程序的加载。2.根据权利要求1所述的一种基于vxworks平台的应用压缩加载方法,其特征在于,所述通过嵌入式cpu模块的网口与上位机建立通信时建立socket通信连接。

技术总结


本发明公开了一种基于vxWorks平台的应用压缩加载方法,包括应用程序压缩、应用程序烧录、应用程序解压和应用程序加载四部分,将应用程序镜像压缩后烧录在存储介质固定地址上,加载时从存储介质上拷贝到内存中进行解压,然后将解压后的镜像放入临时的内存文件系统中进行加载,节约了存储空间,同时避免存储介质上的文件系统被破坏导致应用无法加载。上的文件系统被破坏导致应用无法加载。上的文件系统被破坏导致应用无法加载。


技术研发人员:

马晨南 李泽坤 朱强

受保护的技术使用者:

中国航空工业集团公司洛阳电光设备研究所

技术研发日:

2022.08.01

技术公布日:

2022/12/22

本文发布于:2024-09-22 08:32:57,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/46466.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:应用程序   镜像   加载   内存
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议