CN109857406B - 卫星嵌入式软件批处理系统和方法 - Google Patents
卫星嵌入式软件批处理系统和方法 Download PDFInfo
- Publication number
- CN109857406B CN109857406B CN201910116071.0A CN201910116071A CN109857406B CN 109857406 B CN109857406 B CN 109857406B CN 201910116071 A CN201910116071 A CN 201910116071A CN 109857406 B CN109857406 B CN 109857406B
- Authority
- CN
- China
- Prior art keywords
- software
- batch
- application software
- project
- compiling
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种卫星嵌入式软件批处理系统,支持批处理编译应用软件工程、批处理配置编译参数、批处理更新依赖关系、批处理配置调试信息,并提供了批处理操作图形用户界面。卫星嵌入式软件批处理系统包括应用软件工程,用于实现模块化功能;软件集成开发环境,被配置为批处理编译所述应用软件工程。进一步,还包括周期定时器,在每次定时器超时后,检测编译进度和启动下一个应用软件工程。本法发明还提供了一种卫星嵌入式软件批处理方法。本发明通过批处理功能极大提高了卫星嵌入式软件的编译和配置效率。
Description
技术领域
本发明涉及卫星领域,尤其是卫星嵌入式系统。
背景技术
嵌入式技术是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统技术。
嵌入式系统(Embedded system),是一种完全嵌入受控器件内部,为特定应用而设计的专用计算机系统。与个人计算机这样的通用计算机系统不同,嵌入式系统只执行特定的任务,从而设计人员能够裁剪不必要的软硬件和降低成本。
随着嵌入式系统研发周期逐渐缩短和可靠性要求逐渐提高,嵌入式系统必须模块化才能应对日益缩短的研发周期和逐步提高的可靠性要求。
在卫星嵌入式软件领域,对卫星软件功能进行模块化,对每个模块化的功能建立一个应用软件工程。
嵌入式软件工程包括一个系统软件工程和多个应用软件工程,它们一起实现卫星嵌入式软件工程所需要的功能。
龙卷风集成开发环境(Tornado IDE)是实时操作系统的集成开发环境,它提供了面向嵌入式系统的开发和调试工具。
在配置和编译多个卫星应用软件工程时,研发人员需要使用Tornado IDE进行对各个应用软件工程进行配置和编译。研发人员每次只能对一个应用软件工程进行配置和编译,但是应用软件工程数量太多,逐个配置和编译的效率很低。
发明内容
本发明所解决的技术问题是提高批量应用软件工程配置和编译效率。
为解决上述技术问题,本发明提供一种卫星嵌入式软件批处理系统,包括应用软件工程,用于实现模块化功能;软件集成开发环境,被配置为批处理编译所述应用软件工程。
进一步的,所述的卫星嵌入式软件批处理系统还包括周期定时器,所述周期定时器循环周期计时;在启动批处理编译任务时,选择一个所述应用软件工程进行编译;在所述周期定时器超时后,如果所述被选择应用软件工程没有编译完成,则继续编译所述被选择应用软件工程;在所述周期定时器超时后,如果所述被选择应用软件工程已经编译完成,则选择一个未编译的所述应用软件工程进行编译。
进一步的,所述的卫星嵌入式软件批处理系统还包括编译任务列表,所述卫星嵌入式软件批处理系统按照被编译应用软件工程对应的编译任务列表来编译所述被编译应用软件工程。
进一步的,所述编译任务列表包括获取编译参数。
进一步的,所述编译任务列表还包括软件工程状态检查、模拟器检查、调试器检查、执行编译、返回编译结果。
进一步的,所述软件集成开发环境被配置为批处理设置所述编译参数。
进一步的,所述软件集成开发环境被配置为批处理更新所述应用软件工程对系统软件工程的依赖关系。
进一步的,所述软件集成开发环境被配置为批处理设置所述应用软件工程的调试信息。
进一步的,所述软件集成开发环境包括批处理图形用户界面。
本发明还提供一种卫星嵌入式软件批处理方法,包括用软件集成开发环境批处理编译应用软件工程
综上所述,本法发明通过卫星嵌入式软件批处理系统和方法能极大提高卫星嵌入式软件的编译和配置效率。
附图说明
下面结合附图对本发明的具体实施方式做进一步详细说明,其中:
图1是本发明的一种实施方式的系统图;
图2是本发明的一种实施方式,其中包括周期定时器;
图3是批处理编译应用软件工程的图形界面;
图4是批处理更新应用软件工程依赖关系的图形界面。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变型和改进。这些都属于本发明的保护范围。
一、批处理编译应用软件工程
在系统性嵌入式软件工程编译之前,要对应用嵌入式软件工程进行编译。由于应用嵌入式软件工程数量很多,因此逐一编译耗时费力。
在一个实施例中,如图1所示,本发明的卫星嵌入式软件批处理系统,包括应用软
件工程11、12、13、14、15,用于实现模块化功能;软件集成开发环境2,被配置
为批处理编译21所述应用软件工程。
在一个实施例中,本发明通过龙卷风集成开发环境(Tornado IDE)的工作空间的项目句柄(Workspace::_projectHandles)遍历工作空间下的所有软件工程,并找出应用软件工程,然后进行编译。
在一个实施例中,如图2所示,所述的卫星嵌入式软件批处理系统还包括周期定时器,所述周期定时器循环周期计时,在启动批处理编译任务51时,选择一个所述应用软件工程进行编译;
在所述周期定时器超时52后,如果所述被选择应用软件工程没有编译完成,则继续编译所述被选择应用软件工程53;
在所述周期定时器超时52后,如果所述被选择应用软件工程已经编译完成,则选择一个未编译的所述应用软件工程进行编译54;
在所述周期定时器超时52后,如果所述应用软件工程都已经编译完成,则停止所述批处理编译任务。
使用周期定时器是实现批处理编译的一种方式。所述系统按照周期来检查被选择的应用软件工程是否编译完成,如果编译完成,则选择下一个应用软件工程继续编译,从而逐个完成所有应用软件工程的编译。
应当指出,也可以采用其它方式实现批处理编译,例如利用编译完成消息触发所述系统去选择下一个应用软件工程。
在一个实施例中,所述嵌入式软件批处理系统还包括编译任务列表,所述卫星嵌入式软件批处理系统按照被编译应用软件工程对应的编译任务列表来编译所述被编译应用软件工程。
在一个实施例中,所述编译任务列表包括获取编译参数。
在一个实施例中,所述编译任务列表还包括软件工程状态检查、模拟器检查、调试器检查、执行编译、返回编译结果。
在进行编译之前,软件人员对每一个应用软件工程定义一个对应的编译任务列表。所述编译任务列表指定在编译其对应的应用软件工程时必须执行的编译任务,软件集成开发环境在批处理过程中,执行到一个被编译的应用软件工程时,就按照其对应的编译任务列表来逐个执行编译任务。
二、批处理配置编译参数
在一个实施例中,如图1所示,所述软件集成开发环境2被配置为批处理设置所述编译参数22。
所述编译参数包括但不限于设置目标文件类型、静态链接库、可加载的目标文件、头文件的路径等。
例如,编译参数包括编译后的目标文件类型。在传统嵌入式软件开发过程中,开发人员每次仅能为一个应用软件工程设置一个目标文件类型。通过批处理配置编译参数功能,可以一次将所有应用软件工程的编译参数都配置完毕。从而在编译的时候能够按照所述编译参数批处理编译应用型软件工程。
三、批处理更新依赖关系
在一个实施例中,所述软件集成开发环境2被配置为批处理更新所述应用软件工程对系统软件工程的依赖关系23。
由于嵌入式软件进行了模块化,每个应用软件工程对应一个模块化功能。一个模块化功能必须依赖和调用系统软件工程中的系统层、管理层和服务层的功能,因此应用软件工程依赖于系统软件工程。
当系统软件工程变化时,应用软件工程中的文件需要相应更新对系统软件工程的引用和接口参数,也称之为设置依赖关系。
在一个实施例中,所述依赖关系通过编写文件来描述,在Tornado IDE中,编写文件为Makefile。
当存在大量应用软件工程时,设置依赖关系的操作就会比较复杂。人工一个一个去配置的效率低下而且容易出错。因此需要批处理更新依赖关系,以提高效率。
四、批处理设置调试信息
在一个实施例中,所述软件集成开发环境2被配置为批处理设置所述应用软件工程的调试信息24。
在一个实施例中,所述调试信息24包括:是否包含调试信息、优化等级。
所述是否包含调试信息用于指示在编译时是否包括调试信息。
所述优化等级用于平衡优化的程度,优化等级越高,则代码执行效率越高,但是优化时间更长,代码更不易故障定位。相反,如果代码优化等级越低,则执行效率越低,但是优化时间越短,也越容易故障定位。
在嵌入式软件开发过程中,开发人员需要频繁设置调试信息。通过批处理配置调试信息,从而研发人员可以通过一次操作配置所有软件工程的调试信息。
五、提供批处理图形用户界面
在一个实施例中,所述软件集成开发环境2包括批处理图形用户界面25。
在一个实施例中,如图3所示,提供批处理编译应用软件工程按钮(build allvxapp project),用户可以一键启动批处理编译。
在一个实施例中,如图4所示,提供批处理更新依赖关系按钮(updatedependencies for all projects),用户可以一键启动更新批处理更新依赖关系。
以上详细描述了本发明的较佳具体实施例。应当理解,在本发明的教导下,本领域的普通技术人员可以对本发明做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (8)
1.一种卫星嵌入式软件批处理系统,其特征在于,包括
应用软件工程,用于实现模块化功能;
软件集成开发环境,被配置为批处理编译所述应用软件工程;以及
周期定时器,其被配置为执行下列动作:
所述周期定时器循环周期计时,其中按照周期来检查被选择的应用软件工程是否编译完成,如果编译完成,则选择下一个应用软件工程继续编译;
在启动批处理编译任务时,选择一个所述应用软件工程进行编译;
在所述周期定时器超时后,如果所述被选择应用软件工程没有编译完成,则继续编译所述被选择应用软件工程;
在所述周期定时器超时后,如果所述被选择应用软件工程已经编译完成,则选择一个未编译的所述应用软件工程进行编译。
2.根据权利要求1所述的卫星嵌入式软件批处理系统,其特征在于,还包括编译任务列表,所述卫星嵌入式软件批处理系统按照被编译应用软件工程对应的编译任务列表来编译所述被编译应用软件工程。
3.根据权利要求2所述的卫星嵌入式软件批处理系统,其特征在于,所述编译任务列表包括获取编译参数。
4.根据权利要求3所述的卫星嵌入式软件批处理系统,其特征在于,所述编译任务列表还包括软件工程状态检查、模拟器检查、调试器检查、执行编译、返回编译结果。
5.根据权利要求3所述的卫星嵌入式软件批处理系统,所述软件集成开发环境被配置为批处理设置所述编译参数。
6.根据权利要求1所述的卫星嵌入式软件批处理系统,其特征在于,所述软件集成开发环境被配置为批处理更新所述应用软件工程对系统软件工程的依赖关系。
7.根据权利要求1所述的卫星嵌入式软件批处理系统,其特征在于,所述软件集成开发环境被配置为批处理设置所述应用软件工程的调试信息。
8.根据权利要求1至7任一所述的卫星嵌入式软件批处理系统,其特征在于,所述软件集成开发环境包括批处理图形用户界面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910116071.0A CN109857406B (zh) | 2019-02-15 | 2019-02-15 | 卫星嵌入式软件批处理系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910116071.0A CN109857406B (zh) | 2019-02-15 | 2019-02-15 | 卫星嵌入式软件批处理系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109857406A CN109857406A (zh) | 2019-06-07 |
CN109857406B true CN109857406B (zh) | 2022-07-12 |
Family
ID=66898017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910116071.0A Active CN109857406B (zh) | 2019-02-15 | 2019-02-15 | 卫星嵌入式软件批处理系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857406B (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8209662B2 (en) * | 2006-12-04 | 2012-06-26 | Microsoft Corporation | Application retargeting |
US9319281B2 (en) * | 2010-05-14 | 2016-04-19 | Hitachi, Ltd. | Resource management method, resource management device, and program product |
CN101916203B (zh) * | 2010-08-18 | 2012-12-26 | 优视科技有限公司 | 服务于移动通讯的终端软件平台的编译方法及系统 |
CN101963915B (zh) * | 2010-09-25 | 2016-06-15 | 中兴通讯股份有限公司 | 一种编译的构建方法及系统 |
CN102043714B (zh) * | 2010-12-10 | 2013-01-02 | 成电汽车电子产业园(昆山)有限公司 | 一种嵌入式软件自动测试系统 |
CN103176774A (zh) * | 2011-12-21 | 2013-06-26 | 中国移动通信集团广东有限公司 | 应用程序的编译方法、装置以及系统 |
CN108563442A (zh) * | 2018-02-28 | 2018-09-21 | 北京智行鸿远汽车有限公司 | 代码编译方法及装置 |
-
2019
- 2019-02-15 CN CN201910116071.0A patent/CN109857406B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109857406A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100555218C (zh) | 用于改善片上仿真系统中高级语言的仿真速度的装置和方法 | |
CN101667134B (zh) | 一种构建编译系统的方法及编译系统构建装置 | |
CN102402427B (zh) | 一种Java应用程序的更新方法及装置 | |
US9146713B2 (en) | Tool composition for supporting openCL application software development for embedded system and method thereof | |
CN101859244A (zh) | 多工具链工程构建方法及系统 | |
CN103180827A (zh) | 游戏服务器中的任务文件执行装置以及方法 | |
CN101650647A (zh) | 一种efi平台的兼容方法 | |
Ahmed et al. | Cultivating software solutions development in the scientific academia | |
CN111930398B (zh) | 应用程序更新方法、装置、系统、介质及设备 | |
US20080127061A1 (en) | Method and system for editing code | |
US20080127118A1 (en) | Method and system for dynamic patching of software | |
Tan et al. | Review on firmware | |
CN108399068B (zh) | 函数程序持久化的方法、电子设备及存储介质 | |
CN109857406B (zh) | 卫星嵌入式软件批处理系统和方法 | |
KR20110037140A (ko) | 임베디드 소프트웨어 가상 개발 환경을 제공하는 시스템 | |
Pinto et al. | Pegasus: performance engineering for software applications targeting hpc systems | |
CN103631585A (zh) | 一种用于开发应用程序的方法及系统 | |
Farina et al. | Hardware-Independent Embedded Firmware Architecture Framework | |
Boydens et al. | Test-driven development of embedded software | |
WO2015136607A1 (ja) | ソフトウェア開発支援システム、ソフトウェア開発支援方法およびソフトウェア開発支援プログラム | |
CN108984163B (zh) | 一种基于imcl模型的异构式多平台代码生成方法 | |
Parizek et al. | Assume-guarantee verification of software components in sofa 2 framework | |
Wigand et al. | Model-driven scheduling of real-time tasks for robotics systems | |
Melone et al. | Verifying functionality and performance of HPC applications with continuous integration | |
Krämer et al. | Implementing Wireless Sensor Network applications using hierarchical finite state machines |
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 |