CN104123123A - 一种非相似三余度飞控软件开发方法 - Google Patents
一种非相似三余度飞控软件开发方法 Download PDFInfo
- Publication number
- CN104123123A CN104123123A CN201310146093.4A CN201310146093A CN104123123A CN 104123123 A CN104123123 A CN 104123123A CN 201310146093 A CN201310146093 A CN 201310146093A CN 104123123 A CN104123123 A CN 104123123A
- Authority
- CN
- China
- Prior art keywords
- configuration
- cpu
- project
- subregion
- flight control
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明属于航空嵌入式安全关键软件应用技术,涉及到一种非相似三余度飞控软件开发方法。所述方法为硬件平台为相似余度的飞控系统或硬件单余度飞控系统的软件提供一种非相似余度软件开发方法。所述方法通过操作系统分区来实现非相似余度的飞控应用软件设计,有效减小因软件设计缺陷而导致软件共性故障的机率,提高了系统可靠性。
Description
技术领域
本发明属于航空嵌入式安全关键软件应用技术,涉及到一种非相似三余度飞控软件开发方法。
背景技术
无人机飞控计算机机载软件属于无人机机载软件的核心控制软件,可靠性要求非常高。但以往的无人机飞控计算机机载软件只采用了相似多余度设计,没有采用软件非相似多余度设计,原因在于没有设计一种专用的嵌入式实时操作系统支持非相似多余度的飞控应用软件运行。
采用相似余度软件设计,容易导致因软件设计缺陷而导致软件共性故障,从而引发整个系统失效。通过相似余度飞控计算机的嵌入式实时操作系统分区方法设计,有利于实现非相似余度的飞控应用软件设计,从而提高飞控系统机载软件的容错性。
发明内容:
本发明的目的:提供一种非相似三余度飞控软件开发方法,为硬件平台为相似余度的飞控系统或硬件单余度飞控系统的软件提供一种非相似余度软件开发方法,从软件角度提高飞控系统的可靠性。
本发明的技术方案:
一种非相似三余度飞控软件开发方法,本方法包括以下步骤:
第一步:在集成开发环境中建立一个OS项目,该项目可在飞控系统已选型且预分区的CPU板上运行,并在该OS项目中进行如下配置:
链接配置:对OS驻留在该CPU板的内存中的代码段text、数据段data和bss段的起始地址和大小进行配置;
映像配置:对OS加载地址和运行位置进行配置;
OS配置:
a目标板设备配置:对板卡的CPU及外围设备进行配置;
b对象配置:将要在该CPU板上运行的飞控系统应用程序配置为3个分区,配置每个分区的复位、停止特权接口,并指定和配置每个分区的分区看门狗;为OS配置虚拟外部中断与硬件中断的映射表,并为已配置好的每个分区派发已配置好的虚拟外部中断,并配置系统看门狗;为已配置好的每个分区配置调度策略、时间调度表、起始地址和访问属性;
c空间配置:
对该CPU板上的FLASHROM、RAM以及IO存储器的物理空间的起始地址和大小进行配置;对OS可访问的空间的访问属性进行配置;
第二步:在集成开发环境中针对第一步中的CPU板建立一个TA项目,并在该TA项目中进行如下配置:
CPU配置:对CPU体系、类型和大小端进行配置;
链接配置:对第一步配置好的每个分区分别驻留在内存中的text、data和bss段的起始地址和大小进行配置;
映像配置:对第一步配置好的每个分区的加载地址和运行位置进行配置;
第三步:在集成开发环境中针对第一步中的CPU板建立一个KBSP项目,并在该KBSP项目中进行如下配置:
CPU配置:对CPU体系、类型和大小端进行配置;
第四步:在集成开发环境中针对第一步中的CPU板建立三个应用项目,并在该应用项目中进行如下配置:
CPU配置:对CPU体系、类型和大小端进行配置;
链接配置:对第一步配置好的分区分别驻留在内存中的text、data和bss段的起始地址和大小进行配置;
映像配置:对第一步配置好的分区的加载地址和运行位置进行配置;
第五步:在上述第一至第三步建立的项目中各自源文件夹下,对根据系统需求和基于该CPU板的OS、TA和KBSP源代码进行手工开发;
第六步:在第四步建立的三个项目中的源文件夹下分别开发功能相同但实现方式不同的应用源代码;
第七步:在集成开发环境中对上述六步已开发好的项目分别进行编译链接;
第八步:通过加载工具将第七步中编译链接好的二进制文件都加载到飞控计算机CPU板中运行。
本发明的优点:
1、有利于实现软件非相似余度设计
通过嵌入式操作系统分区设计,为非相似余度的软件提供不同的存放空间,并管理非相似余度的软件的运行,为非相似余度的软件的实现提供了平台。
2、提高系统可靠性
通过操作系统分区来实现非相似余度的飞控应用软件设计,有效减小因软件设计缺陷而导致软件共性故障的机率,提高了系统可靠性。
附图说明:
图1相似余度的飞控计算机体系结构示意图
图2嵌入式实时操作系统分区示意图(单CPU板)
具体实施方式:
下面一个实施例对本发明作进一步详细说明,本实施例使用的集成开发环境为LambdaTOOL-SVM,建模工具为Scade suite和Matlab/Simulink,加载工具为LambdaTOOL-DIF,针对CPU芯片为PowerPC755的CPU板运行的应用程序进行开发,方法如下:
第一步:在LambdaTOOL-SVM集成开发环境中建立一个OS项目,并在该OS项目中进行如下配置:
1链接配置:对操作系统驻留在内存中的text、data和bss段的起始地址和大小进行配置;
2映像配置:对OS加载地址配置好,运行位置配置为FlashROM;
3OS配置:
a目标板设备配置:对CPU板的CPU体系配置为PPC、类型配置为755、大小端配置为big、频率配置为210MHz,硬件中断个数配置为15个、定时器tick为1000微妙,触发方式为one-shot;
b对象配置:
b1将用户分区配置为3个分区,指定分区看门狗,为分区看门狗选择最大喂狗时间、回调函数最大执行时间、看门狗超时处理策略,配置分区的复位、停止等特权接口;
b2为操作系统内核配置虚拟外部中断与硬件中断的映射表、并为b1中已配置好的3个分区分别派发已配置好的虚拟外部中断;配置系统看门狗的最大喂狗时间,并为b1中配置好的3个分区分别指定该分区看门狗的时钟源;
b3为b1中已配置好的3个分区分别配置调度策略为基于时间调度表并配置时间调度表的调度起点以及时间窗口长度,配置3个分区为可自动启动;
c空间配置:
c1对FLASHROM、RAM以及IO存储器的物理空间的起始地址和大小进行配置;
c2对OS可访问的空间的访问属性配置为使能CACHE、CACHE方式为写回、读写权限为用户态可读;对b项中配置好的分区的起始地址配置好,RAM空间访问属性配置为使能CACHE、CACHE方式为写回、读写权限为可读可写,IO空间访问属性配置为禁止CACHE、读写权限为用户态可读可写;
第二步:在LambdaTOOL-SVM集成开发环境中针对该CPU板建立一个TA项目,并在该TA项目中进行如下配置:
1CPU配置:对CPU板的CPU体系配置为PPC、类型配置为755、大小端配置为big;
2链接配置:对第一步配置好的3个分区分别驻留在内存中的text、data和bss段的起始地址和大小进行配置;
3映像配置:对第一步配置好的3个分区的加载地址配置好,运行位置均配置为FlashROM;
第三步:在LambdaTOOL-SVM集成开发环境中针对该CPU板建立一个KBSP项目,并在该KBSP项目中进行如下配置:
1CPU配置:对CPU板的CPU体系配置为PPC、类型配置为755、大小端配置为big;
第四步:在LambdaTOOL-SVM集成开发环境中针对该CPU板建立一个应用项目,并在该应用项目中进行如下配置:
1CPU配置:对CPU板的CPU体系配置为PPC、类型配置为755、大小端配置为big;
2链接配置:对第一步配置好的3个分区分别驻留在内存中的text、data和bss段的起始地址和大小进行配置;
3映像配置:对第一步配置好的3个分区的加载地址配置好,运行位置均配置为FlashROM;
第五步:在上述第一到第三步建立的项目中各自源文件夹下,对根据系统需求对需运行在该CPU板上的OS、TA和KBSP进行手工编码开发;
第六步:在上述第四步建立的应用项目中的源文件夹下,根据相同的软件需求规格说明对第一个分区的应用程序进行手工编码开发,第二个分区的应用程序采用Scade suite建模并自动产生代码,第三个分区采用Matlab/Simulink建模并自动产生代码;
第七步:在LambdaTOOL-SVM集成开发环境中对上述六步已开发好的项目分别进行编译链接;
第八步:通过LambdaTOOL-DIF加载工具将第七步中编译链接好的二进制文件加载到飞控计算机该某CPU板中。
Claims (1)
1.一种非相似三余度飞控软件开发方法,其特征是,本方法包括以下步骤:
第一步:在集成开发环境中建立一个OS项目,该项目可在飞控系统已选型且预分区的CPU板上运行,并在该OS项目中进行如下配置:
链接配置:对OS驻留在该CPU板的内存中的代码段text、数据段data和bss段的起始地址和大小进行配置;
映像配置:对OS加载地址和运行位置进行配置;
OS配置:
a目标板设备配置:对板卡的CPU及外围设备进行配置;
b对象配置:将要在该CPU板上运行的飞控系统应用程序配置为3个分区,配置每个分区的复位、停止特权接口,并指定和配置每个分区的分区看门狗;为OS配置虚拟外部中断与硬件中断的映射表,并为已配置好的每个分区派发已配置好的虚拟外部中断,并配置系统看门狗;为已配置好的每个分区配置调度策略、时间调度表、起始地址和访问属性;
c空间配置:
对该CPU板上的FLASHROM、RAM以及IO存储器的物理空间的起始地址和大小进行配置;对OS可访问的空间的访问属性进行配置;
第二步:在集成开发环境中针对第一步中的CPU板建立一个TA项目,并在该TA项目中进行如下配置:
CPU配置:对CPU体系、类型和大小端进行配置;
链接配置:对第一步配置好的每个分区分别驻留在内存中的text、data和bss段的起始地址和大小进行配置;
映像配置:对第一步配置好的每个分区的加载地址和运行位置进行配置;
第三步:在集成开发环境中针对第一步中的CPU板建立一个KBSP项目,并在该KBSP项目中进行如下配置:
CPU配置:对CPU体系、类型和大小端进行配置;
第四步:在集成开发环境中针对第一步中的CPU板建立三个应用项目,并在该应用项目中进行如下配置:
CPU配置:对CPU体系、类型和大小端进行配置;
链接配置:对第一步配置好的分区分别驻留在内存中的text、data和bss段的起始地址和大小进行配置;
映像配置:对第一步配置好的分区的加载地址和运行位置进行配置;
第五步:在上述第一至第三步建立的项目中各自源文件夹下,对根据系统需求和基于该CPU板的OS、TA和KBSP源代码进行手工开发;
第六步:在第四步建立的三个项目中的源文件夹下分别开发功能相同但实现方式不同的应用源代码;
第七步:在集成开发环境中对上述六步已开发好的项目分别进行编译链接;
第八步:通过加载工具将第七步中编译链接好的二进制文件都加载到飞控计算机CPU板中运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310146093.4A CN104123123A (zh) | 2013-04-24 | 2013-04-24 | 一种非相似三余度飞控软件开发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310146093.4A CN104123123A (zh) | 2013-04-24 | 2013-04-24 | 一种非相似三余度飞控软件开发方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104123123A true CN104123123A (zh) | 2014-10-29 |
Family
ID=51768549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310146093.4A Pending CN104123123A (zh) | 2013-04-24 | 2013-04-24 | 一种非相似三余度飞控软件开发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104123123A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016106933A1 (zh) * | 2014-12-30 | 2016-07-07 | 北京兆易创新科技股份有限公司 | 一种基于若干分区的mcu芯片信息保护方法和装置 |
CN106125821A (zh) * | 2016-06-17 | 2016-11-16 | 中国电子科技集团公司第十研究所 | 供awg生成数字调制信号波形数据的方法 |
CN108614698A (zh) * | 2016-12-14 | 2018-10-02 | 中国航空工业集团公司西安航空计算技术研究所 | 一种适用于机载余度计算机的分区加载方法 |
CN112363385A (zh) * | 2020-09-30 | 2021-02-12 | 成都飞机工业(集团)有限责任公司 | 一种多余度发动机数字电子控制系统 |
-
2013
- 2013-04-24 CN CN201310146093.4A patent/CN104123123A/zh active Pending
Non-Patent Citations (6)
Title |
---|
ANN T. TAI等: ""performability enhancement of fault-tolerant software"", 《IEEE TRANSACTIONS ON RELIABILITY》 * |
专业娱乐文档: ""COS-II实验指导书"", 《HTTP://WWW.DOCIN.COM/P-18544277.HTML》 * |
无: ""软件容错方法--软件冗余"", 《HTTP://WWW.EEPW.COM.CN/ARTICLE/218621.HTM》 * |
杨飞: ""余度飞控计算机的设计和仿真技术研究"", 《万方在线网络数据库》 * |
陈宗基等: ""非相似余度飞控计算机"", 《航空学报》 * |
高航等: ""RTEMS上基于软件重算的容错支撑设计研究"", 《微电子学与计算机》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016106933A1 (zh) * | 2014-12-30 | 2016-07-07 | 北京兆易创新科技股份有限公司 | 一种基于若干分区的mcu芯片信息保护方法和装置 |
US10592644B2 (en) | 2014-12-30 | 2020-03-17 | Gigadevice Semiconductor (Beijing) Inc. | Information protection method and device based on a plurality of sub-areas for MCU chip |
CN106125821A (zh) * | 2016-06-17 | 2016-11-16 | 中国电子科技集团公司第十研究所 | 供awg生成数字调制信号波形数据的方法 |
CN106125821B (zh) * | 2016-06-17 | 2019-03-19 | 中国电子科技集团公司第十研究所 | 供awg生成数字调制信号波形数据的方法 |
CN108614698A (zh) * | 2016-12-14 | 2018-10-02 | 中国航空工业集团公司西安航空计算技术研究所 | 一种适用于机载余度计算机的分区加载方法 |
CN112363385A (zh) * | 2020-09-30 | 2021-02-12 | 成都飞机工业(集团)有限责任公司 | 一种多余度发动机数字电子控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9678666B2 (en) | Techniques to configure a solid state drive to operate in a storage mode or a memory mode | |
US9665386B2 (en) | Method for leveraging hypervisor functionality for maintaining application consistent snapshots in a virtualization environment | |
CN102279766B (zh) | 并行模拟多个处理器的方法及系统、调度器 | |
US20140137121A1 (en) | Job management system and job control method | |
US20100083038A1 (en) | Method and systems for restarting a flight control system | |
CN104123122A (zh) | 一种非相似三余度飞控计算机的非相似余度软件开发方法 | |
CN104123123A (zh) | 一种非相似三余度飞控软件开发方法 | |
CN105740139B (zh) | 一种基于虚拟环境的嵌入式软件调试方法 | |
CN103425612A (zh) | 低功耗的皮卫星星载计算机系统 | |
US10802998B2 (en) | Technologies for processor core soft-offlining | |
CN103473156A (zh) | 一种基于实时操作系统的星载计算机三机热备份容错方法 | |
Hilbrich et al. | Model-based generation of static schedules for safety critical multi-core systems in the avionics domain | |
EP4394603A1 (en) | Vehicle-mounted operating system, debugging system and method, electronic device and storage medium | |
EP2672388B1 (en) | Multi-processor parallel simulation method, system and scheduler | |
Nguyen et al. | PR-HMPSoC: A versatile partially reconfigurable heterogeneous Multiprocessor System-on-Chip for dynamic FPGA-based embedded systems | |
US20150200805A1 (en) | Dynamic server to server configuration and initialization | |
US20150287157A1 (en) | Data processing system for a graphical interface and graphical interface comprising such a data processing system | |
CN103890713A (zh) | 用于管理处理系统内的寄存器信息的装置及方法 | |
CN101308521A (zh) | 模拟器和模拟方法 | |
CN102141915B (zh) | 一种基于RTLinux的设备实时控制方法 | |
Fuchsen | Preparing the next generation of IMA: A new technology for the scarlett program | |
Hilbrich et al. | Deploying safety-critical applications on complex avionics hardware architectures | |
KR101376690B1 (ko) | 다기종 비행 시뮬레이터의 다중 프로세서 시스템 및 그 제어 방법 | |
Insaurralde | Modeling standard for distributed control systems: IEC 61499 from industrial automation to aerospace | |
CN108255538B (zh) | 一种分布异构系统机上原位加载二级控制器软件的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141029 |
|
RJ01 | Rejection of invention patent application after publication |