CN101620535B - General frame design method of airborne computer software - Google Patents

General frame design method of airborne computer software Download PDF

Info

Publication number
CN101620535B
CN101620535B CN200910090176XA CN200910090176A CN101620535B CN 101620535 B CN101620535 B CN 101620535B CN 200910090176X A CN200910090176X A CN 200910090176XA CN 200910090176 A CN200910090176 A CN 200910090176A CN 101620535 B CN101620535 B CN 101620535B
Authority
CN
China
Prior art keywords
task
message
initialization
output
function
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
Application number
CN200910090176XA
Other languages
Chinese (zh)
Other versions
CN101620535A (en
Inventor
祝明
郑泽伟
姜光泰
吕明云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN200910090176XA priority Critical patent/CN101620535B/en
Publication of CN101620535A publication Critical patent/CN101620535A/en
Application granted granted Critical
Publication of CN101620535B publication Critical patent/CN101620535B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

The invention discloses a general frame design method of airborne computer software , which comprises seven steps as follows: step1, establishing software development environment and construction; step2, establishing a time drive task; step3, establishing an event drive task; step4, establishing a background operation task; step5, establishing a clock interrupt service program; step6, establishing an interface program; and step7, establishing an initialization program. The invention abstracts all related functions of the prior airborne computer application software to obtain a general frame so as to realize corresponding tasks according to different requests during developing specific software so that the purpose of rapidly developing is achieved, and effectively improves the portability, the reliability and the standardability of the prior direct development method. The general frame design method is successfully applied to the contractible-scaled testing aircraft of an aircraft and has wide practical value and application prospect.

Description

A kind of general frame design method of airborne computer software
(1) technical field:
The present invention provides a kind of general frame design method of airborne computer software, belongs to the airborne computer software technical field, is specifically related to task division, priority, intertask communication design of software etc.
(2) background technology:
Airborne computer software is divided into system's executive software and application software two parts according to function; System's executive software mainly is for system's operation basic-level support programs such as interface drive program, task dispatch to be provided; Application software is the concentrated reflection of systemic-function, and it is used for the various control function of realization system, measuring ability, fault handling function etc.
At present in the airborne computer software performance history; System's executive software is many to be realized by embedded real-time operating system; Application software is then directly developed based on operating system with developer's experience, and portable difference of the application software of this kind mode development and reliability are difficult to guarantee.Be head it off, a kind of general frame design method of airborne computer software of the present invention as the buffering between operating system and concrete application software, has strengthened the portability and the reliability of application software.
Designed software general framework of the present invention belongs to the part of application software, and system's executive software is then realized by vxworks operating system and corresponding plate level support package (BSP).
(3) summary of the invention:
(1) purpose: the object of the present invention is to provide a kind of general frame design method of airborne computer software; Use this framework; The software developer can develop practicality, reliable airborne computer application software according to real needs rapidly; Reduce the software design time effectively, improve standardization, the reliability of software development.
(2) technical scheme: the present invention is a kind of general frame design method of airborne computer software; Its main contents and program are: set up development environment based on VxWorks earlier; Task with airborne computer software designs according to time driving task, event-driven task, running background task three generic tasks respectively then; Design initialization, clock interrupt service routine, interface handling procedure etc. at last, in the whole operation step, embodied the design of aspects such as software task division, task priority setting, intertask communication.
A kind of general frame design method of airborne computer software of the present invention, these method concrete steps are following:
Step 1: set up software development environment, set up engineering
1) foundation is based on the applied software development environment of vxworks operating system
Ordinary PC is made host, and airborne computer is made target machine.Host is installed Tornado, and target machine can move vxworks operating system, and both sides connect through Ethernet or serial ports.
2) on the Tornado IDE, set up application software engineering.
Establishment step: operation Tornado → selection File menu → selection New Project ... Menu item → selection is created engineering type → be provided with engineering name and path → be provided with Development Tool Chain → generation project file → completion engineering establishment.
Step 2: drive generic task Time Created
Time drives generic task by the binary signal amount cycle driving execution that clock interrupts transmission, is embodied as periodic duty, realizes that navigation data conversion, control law calculating, telemetry renewal etc. need the correlation function of cycle execution.
The concrete realization: set up PeriodOperate.c and PeriodOperate.h file; And set up periodic duty entrance function (void TaskPeriod ()); This function at first carries out the initialization of periodic duty internal data; Get into infinite loop then; In circulation, obtain the binary signal amount earlier, if obtain the unsuccessful then blocked realization of after obtaining the semaphore success, obtaining successfully, carrying out concrete functions such as control law calculating, navigation data conversion, telemetry renewal of this task of binary signal amount; If have data to export then send corresponding output message to the output message formation.
Step 3: set up the event-driven generic task
The event-driven generic task mainly is to trigger carrying out of task by some inside or external event, by corresponding message queue message driving execution, comprises incoming task, output task, fault comprehensive task.
1) incoming task: incoming task is accomplished the input processing capacity of each interface data.
The concrete realization: set up InputOperate.c and InputOperate.h file; And set up incoming task entrance function (void TaskInputManage ()); This function at first carries out the initialization of incoming task internal data, gets into infinite loop then, in circulation, obtains input message queue message earlier; If it is unsuccessful then this task is blocked until obtaining the message success to obtain message; Read the corresponding standard data structure data of message after obtaining successfully, import data processing then, if the back that disposes has data to export then sends corresponding output message to the output message formation.
2) output task: the output task is accomplished the data output processing function.
The concrete realization: set up OutputOperate.c and OutputOperate.h file; And set up output task entrance function (void TaskOutputManage ()); This function is at first exported the initialization of task internal data, gets into infinite loop then, in circulation, obtains the output message queue message earlier; If it is unsuccessful then this task is blocked until obtaining the message success to obtain message; Read the corresponding standard data structure data of message after obtaining successfully, carry out the specific operation of standard data structure then according to physical interface, call the output interface program and accomplish data output.
3) fault comprehensive task: the fault comprehensive task is accomplished record, the processing capacity of fault.
The concrete realization: set up ErrOperate.c and ErrOperate.h file; And set up fault comprehensive task entrance function (void TaskErrManage ()); This function at first carries out the initialization of fault comprehensive task internal data, gets into infinite loop then, in circulation, obtains the failure message queue message earlier; If it is unsuccessful then this task is blocked until obtaining the message success to obtain message, obtains successfully the back and carry out failure logging and fault handling according to concrete system.
Step 4: set up the running background generic task
The running background generic task is mainly less demanding to real-time, carry out the task of gaps operation in other tasks, is embodied as the detection task.
The concrete realization: set up BitOperate.c and BitOperate.h file; And set up detection task entrance function (void TaskBIT ()); This function at first detects the initialization of task internal data, gets into infinite loop then, carries out computer mode detection, other external equipment state-detection etc. in circulation; If the fault of detecting then send failure message to the failure message formation detects and accomplishes laggard line delay.
Step 5: set up clock interrupt service routine
In clock interrupt service routine, discharge binary signal amount task activation cycle.
The concrete realization: realize setting up clock interrupt service routine (void TimerISR ()) among file PeriodOperate.c and the PeriodOperate.h at periodic duty, discharge the binary signal amount in this function.Step 6: set up interface routine
1) input interface program: be the interrupt service routine of the corresponding interface, accomplish the corresponding interface data input function.
The concrete realization: realize setting up input interface program (void InputISR_XXX () among file InputOperate.c and the InputOperate.h in incoming task; Concrete equipment is specifically named); After getting into this program; At first carry out standardization of data, send corresponding input message then and handle to incoming task.
2) output interface program: accomplish the interface data output function.
The concrete realization: realize setting up output interface program (void Output_XXX () among file OutputOperate.c and the OutputOperate.h in the output task; Concrete equipment is specifically named); After getting into this program; At first standard data structure is specialized, and then called the output interface function completion data output of concrete equipment.
Step 7: set up initialize routine
Carry out global data initialization, equipment interface initialization, semaphore establishment and initialization, message queue establishment and initialization, clock interruption setting and initialization, task creation and initialization etc.
The concrete realization: set up Initializtion.c and Initializtion.h file; And set up initialization function (void Ini ()); This function at first carries out global data initialization, equipment interface initialization according to concrete system, carries out semaphore establishment and initialization, message queue establishment and initialization, clock interruption setting and initialization, task creation and initialization then.
(3) advantage and effect: a kind of general frame design method of airborne computer software of the present invention; This method and prior art ratio; Its advantage is: will have the related all functions of airborne computer application software now and carry out abstract this general framework that draws; Make that carrying out corresponding task according to different demands in exploitation during concrete software realizes reaching the purpose of quick exploitation, and effectively strengthened portability, reliability and the standardization of existing direct development scheme.This software generic frame design method certain aircraft contract than proof machine on the application of succeeding.
(4) description of drawings:
Fig. 1 periodic duty flowchart
Fig. 2 incoming task flowchart
Fig. 3 exports the task flowchart
Fig. 4 fault comprehensive task flowchart
Fig. 5 detects the task flowchart
Fig. 6 initialize routine flowchart
Fig. 7 task priority distribution diagram
Fig. 8 intertask communication figure
Fig. 9 FB(flow block) of the present invention
All English symbol implication explanations are as follows in this instructions:
VxWorks: a kind of embedded real-time operating system of Wind River company (Wind River) exploitation is widely used in fields such as national defence, Aero-Space, communication, consumer electronics, Industry Control, automotive electronics.
Tornado: the powerful graphical embedded IDE of a cover of Wind River company (Wind River) exploitation, can realize creating and management engineering, develop and manage communicating by letter and functions such as operation, debugging and the application of monitoring VxWorks between host and the target machine.
BSP: the abbreviation of class's support package (Board Support Package), one deck software in the middle of hardware layer and the application layer software for application layer software provides standard interface, strengthens the portability of application layer software.
PeriodOperate.c, PeriodOperate.h, InputOperate.c, InputOperate.h, OutputOperate.c, OutputOperate.h, ErrOperate.c, ErrOperate.h, BitOperate.c, BitOperate.h, Initializtion.c, Initializtion.h: recommend the source files of program title of foundation when building the software generic framework among the present invention, each file is realized inter-related task and program.
TaskPeriod (), TimerISR (), TaskInputManage (), InputISR_XXX (), TaskOutputManage (), Output_XXX (), TaskErrManage (), TaskBIT (), Ini (): the function of each task and relative program is realized title among the present invention.
File, New Project ...: the menu item of Tornado development environment.
(5) embodiment:
Below in conjunction with accompanying drawing, the each several part method for designing among the present invention is further described:
A kind of general frame design method of airborne computer software of the present invention, these method concrete steps are following:
Step 1: set up software development environment, set up engineering
1) foundation is based on the applied software development environment of vxworks operating system
Ordinary PC is made host, and airborne computer is made target machine.Host is installed Tornado, and target machine can move vxworks operating system, and both sides connect through Ethernet or serial ports.
2) on the Tornado IDE, set up application software engineering.
Establishment step: operation Tornado → selection File menu → selection New Project ... Menu item → selection is created engineering type → be provided with engineering name and path → be provided with Development Tool Chain → generation project file → completion engineering establishment.
Step 2: drive generic task Time Created
Time drives generic task by the binary signal amount cycle driving execution that clock interrupts transmission, is embodied as periodic duty, realizes the relevant function that needs the cycle execution such as control law calculating, telemetry collection.The task quantity of periodic duty maybe be more than cycle of one and each self-operating also maybe be different; So in concrete design with the highest common factors of all periodic duty performance periods as the clock time between interruptions; And in clock break in service function, select to activate the respective cycle task through counting mode, with this big or small periodic method that realizes adopting in the common machine borne computer software design or the implementation of fixed rate group method.
The concrete realization: set up PeriodOperate.c and PeriodOperate.h file; And set up periodic duty entrance function (void TaskPeriod ()); This function at first carries out the initialization of periodic duty internal data; Get into infinite loop then; In circulation, obtain the binary signal amount earlier, if obtain the unsuccessful then blocked realization of after obtaining the semaphore success, obtaining successfully, carrying out concrete functions such as control law calculating, navigation data conversion, telemetry renewal of this task of binary signal amount; If have data to export then send corresponding output message to the output message formation.It is as shown in Figure 1 that periodic duty is carried out flow process.
Periodic duty is realized the function code example:
void?TaskPeriod()
{
The initialization of // periodic duty internal data
Unsigned int Output_Code=0; // output message code
……
while(1)
{
// obtain the binary signal amount
semTake(semBID_PeriodTime,WAIT_FOREVER);
// realize concrete function according to concrete system: navigation data conversion, control law calculating etc.
……
// judge and export
If (data output is arranged)
{
msgQSend(msgID_SendData,(char*)&Output_Code,sizeof(Outp
ut_Code),NO_WAIT,MSG_PRI_NORMAL);
}
}
}
Step 3: set up the event-driven generic task
The event-driven generic task mainly is to trigger carrying out of task by some inside or external event, by corresponding message queue message driving execution, comprises incoming task, output task, fault comprehensive task.Be in the obstruction wait for resource state under the event-driven task normal condition, have only when in the related news formation message being arranged just can be in ready or running status.
For strengthening the portability of software; Need according to distinct interface design corresponding standard data structure; Peripheral data could supply incoming task to handle after needing to convert standard data structure into by other programs earlier, could export after the standard data structure of the output of output task in like manner need be specialized earlier.
Standard data structure is given an example:
The definition of // normal data frame CAN message standard data structure
typedef?struct
{
Unsigned short m_msgID; // identifier
Unsigned char m_data [8]; // data
}_CANPACKET;
1) incoming task: incoming task is accomplished the input processing capacity of each interface data.
The concrete realization: set up InputOperate.c and InputOperate.h file; And set up incoming task entrance function (void TaskInputManage ()); This function at first carries out the initialization of incoming task internal data, gets into infinite loop then, in circulation, obtains input message queue message earlier; If it is unsuccessful then this task is blocked until obtaining the message success to obtain message; Read the corresponding standard data structure data of message after obtaining successfully, import data processing then, if the back that disposes has data to export then sends corresponding output message to the output message formation.It is as shown in Figure 2 that incoming task is carried out flow process.
Incoming task realizes the function code example:
void?TaskInputManage()
{
The initialization of // incoming task internal data
Unsigned int Output_Code=0; // output message code
_ CANPACKET CanPacket_R; // standard CAN message structure (as example)
……
while(1)
{
// obtain and import message queue message
msgQReceive(msgID_InputManage,(char*)&CanPacket_R,sizeof(_
CANPACKET),WAIT_FOREVER);
// processing standard CAN message structure CanPacket_R data
……
// judge and export
If (data output is arranged)
{
msgQSend(msgID_SendData,(char*)&Output_Code,sizeof(Outp
ut_Code),NO_WAIT,MSG_PRI_NORMAL);
}
}
}
2) output task: the output task is accomplished the data output processing function.
The concrete realization: set up OutputOperate.c and OutputOperate.h file; And set up output task entrance function (void TaskOutputManage ()); This function is at first exported the initialization of task internal data, gets into infinite loop then, in circulation, obtains the output message queue message earlier; If it is unsuccessful then this task is blocked until obtaining the message success to obtain message; Read the corresponding standard data structure data of message after obtaining successfully, carry out the specific operation of standard data structure then according to physical interface, call the output interface program and accomplish data output.It is as shown in Figure 3 that the output task is carried out flow process.
The output task realizes the function code example:
void?TaskOutputManage()
{
The initialization of // output task internal data
_ CANPACKET CanPacket_S; // standard CAN message structure (as example)
……
while(1)
{
// obtain the output message queue message
msgQReceive(msgID_OutputManage,(char*)&CanPacket_S,sizeof(
_CANPACKET),WAIT_FOREVER);
// standard data structure is specialized
……
// call output function to accomplish output
……
}
}
3) fault comprehensive task: the fault comprehensive task is accomplished record, the processing capacity of fault.
The concrete realization: set up ErrOperate.c and ErrOperate.h file; And set up fault comprehensive task entrance function (void TaskErrManage ()); This function at first carries out the initialization of fault comprehensive task internal data, gets into infinite loop then, in circulation, obtains the failure message queue message earlier; If it is unsuccessful then this task is blocked until obtaining the message success to obtain message, obtains successfully the back and carry out failure logging and fault handling according to concrete system.It is as shown in Figure 4 that the fault comprehensive task is carried out flow process.
The fault task realizes the function code example:
void?TaskErrManage()
{
The initialization of // incoming task internal data
Unsigned int Err_Code=0; // output message code
……
while(1)
{
// obtain and import message queue message
msgQReceive(msgID_ErrManage,(char*)&Err_Code,sizeof(Err_Co
de),WAIT_FOREVER);
// failure logging
……
// fault handling
……
}
}
Step 4: set up the running background generic task
The running background generic task is mainly less demanding to real-time, carry out the task of gaps operation in other tasks, is embodied as the detection task.The detection task mainly realizes functions such as this machine testing, peripheral hardware detection, and testing result is carried out record, if the fault of detecting then need send failure message and handle with the driving malfunction comprehensive task.
The concrete realization: set up BitOperate.c and BitOperate.h file; And set up detection task entrance function (void TaskBIT ()); This function at first detects the initialization of task internal data, gets into infinite loop then, carries out computer mode detection, other external equipment state-detection etc. in circulation; If the fault of detecting then send failure message to the failure message formation detects and accomplishes laggard line delay.It is as shown in Figure 5 that the detection task is carried out flow process.
The detection task realizes the function code example:
void?TaskBIT()
{
The initialization of // detection task internal data
……
while(1)
{
// computer mode detects
……
// other Equipment Inspections
……
// time-delay
TaskDelay (100); // time-delay 100tick sets delay time according to real system
}
}
Step 5: set up clock interrupt service routine
In clock interrupt service routine, discharge binary signal amount task activation cycle.
The concrete realization: realize setting up clock interrupt service routine (void TimerISR ()) among file PeriodOperate.c and the PeriodOperate.h at periodic duty, discharge the binary signal amount in this function.
Step 6: set up interface routine
1) input interface program: be the interrupt service routine of the corresponding interface, accomplish the corresponding interface data input function.
The concrete realization: realize setting up input interface program (void InputISR_XXX () among file InputOperate.c and the InputOperate.h in incoming task; Concrete equipment is specifically named); After getting into this program; At first carry out standardization of data, send corresponding input message then and handle to incoming task.
2) output interface program: accomplish the interface data output function.
The concrete realization: realize setting up output interface program (void Output_XXX () among file OutputOperate.c and the OutputOperate.h in the output task; Concrete equipment is specifically named); After getting into this program; At first standard data structure is specialized, and then called the output interface function completion data output of concrete equipment.
Step 7: set up initialize routine
Carry out global data initialization, equipment interface initialization, semaphore establishment and initialization, message queue establishment and initialization, clock interruption setting and initialization, task creation and initialization etc.
The concrete realization: set up Initializtion.c and Initializtion.h file; And set up initialization function (void Ini ()); This function at first carries out global data initialization, equipment interface initialization according to concrete system, carries out semaphore establishment and initialization, message queue establishment and initialization, clock interruption setting and initialization, task creation and initialization then.It is as shown in Figure 6 that initialize routine is carried out flow process, and the priority of each task of wherein creating during task creation is set up according to Fig. 7.
Initialization function code example:
void?Ini()
{
The initialization of // global data
……
The initialization of // equipment interface
……
// semaphore is created and initialization
semBID_PeriodTime=semBCreate(SEM_Q_PRIORITY,SEM_EMPTY);
if(semBID_PeriodTime==NULL)
return?ERROR;
……
// message queue is created and initialization
msgID_ErrManage=msgQCreate(100,sizeof(int),MSG_Q_FIFO);
msgID_SendData=msgQCreate(100,sizeof(int),MSG_Q_IFO);
msgID_InputManage=msgQCreate(100, sizeof(_CANPACKET)
,MSG_Q_FIFO);
// clock interrupts being provided with and initialization
SysClkRateSet (50); // 20ms one-period is revised according to real system
sysClkConnect(FUNCPTR)TimerISR,0);
sysClkEnable();
// task creation and initialization
taskID_BIT=taskSpawn(″BIT_Task″,140,0,1024*10,(FUNCPTR)TaskBIT
,0,0,0,0,0,0,0,0,0);
taskID_Period=taskSpawn(″Period_Task″,130,0,1024*10,(FUNCPTR)T
askPeriod,0,0,0,0,0,0,0,0,0);
taskID_OutputManage=taskSpawn(″Output_Task″,120,0,1024*10,(FUN
CPTR)TaskOutputManage,0,0,0,0,0,0,0,0,0);
taskID_InputManage=taskSpawn(″Input_Task″,110,0,1024*10,(FUNCP
TR)TaskInputManage,0,0,0,0,0,0,0,0,0);
taskID_ErrManage=taskSpawn(″ErrManage_Task″,100,0,1024*10,(FUN
CPTR)TaskErrManage,0,0,0,0,0,0,0,0,0);
}
The intertask communication explanation
Adopt communication modes such as binary signal amount, mutex amount, shared drive and message queue in the software design framework of the present invention.Wherein import and the communication mode of output task and other tasks is a message queue, and periodic duty is mainly through shared drive mode and other task communications.Detected failure message notifies the fault comprehensive task to handle by the message queue mode in all tasks and the program operation process.Concrete design of communication figure between each task and program is as shown in Figure 8.Wherein global data is protected by the mutex amount.

Claims (1)

1. general frame design method of airborne computer software, it is characterized in that: these method concrete steps are following:
Step 1: set up software development environment, set up engineering
(1) foundation is based on the applied software development environment of vxworks operating system
Ordinary PC is made host, and airborne computer is made target machine, and host is installed Tornado, and target machine can move vxworks operating system, and both sides connect through Ethernet, serial ports;
(2) on the Tornado IDE, set up application software engineering
Establishment step: operation Tornado → selections File menu → selections New Project menu item → selection establishment engineering type → be provided with engineering name and path → be provided with Development Tool Chain → generation project file → completion engineering establishment;
Step 2: drive generic task Time Created
The binary signal amount cycle driving execution that time driving generic task is sent by the clock interruption is embodied as periodic duty, realizes that navigation data conversion, control law calculating and telemetry renewal need the correlation function of cycle execution;
The concrete realization: set up PeriodOperate.c and PeriodOperate.h file; And to set up the periodic duty entrance function be void TaskPeriod (); This function at first carries out the initialization of periodic duty internal data; Get into infinite loop then; In circulation, obtain the binary signal amount earlier, if obtain that unsuccessful then this task of binary signal amount blockedly carries out after obtaining the semaphore success, obtaining successfully that control law calculates, realization that navigation data conversion and telemetry are upgraded concrete function; If have data to export then send corresponding output message to the output message formation;
Step 3: set up the event-driven generic task
The event-driven generic task is to trigger carrying out of task by inner, external event, by corresponding message queue message driving execution, comprises incoming task, output task, fault comprehensive task;
(1) incoming task: incoming task is accomplished the input processing capacity of each interface data
The concrete realization: set up InputOperate.c and InputOperate.h file; And to set up the incoming task entrance function be void TaskInputManage (); This function at first carries out the initialization of incoming task internal data, gets into infinite loop then, in circulation, obtains input message queue message earlier; If it is unsuccessful then this task is blocked until obtaining the message success to obtain message; Read the corresponding standard data structure data of message after obtaining successfully, import data processing then, if the back that disposes has data to export then sends corresponding output message to the output message formation;
(2) output task: the output task is accomplished the data output processing function
The concrete realization: set up OutputOperate.c and OutputOperate.h file; And to set up output task entrance function be void TaskOutputManage (); This function is at first exported the initialization of task internal data, gets into infinite loop then, in circulation, obtains the output message queue message earlier; If it is unsuccessful then this task is blocked until obtaining the message success to obtain message; Read the corresponding standard data structure data of message after obtaining successfully, carry out the specific operation of standard data structure then according to physical interface, call the output interface program and accomplish data output;
(3) fault comprehensive task: the fault comprehensive task is accomplished record, the processing capacity of fault
The concrete realization: set up ErrOperate.c and ErrOperate.h file; And to set up fault comprehensive task entrance function be void TaskErrManage (); This function at first carries out the initialization of fault comprehensive task internal data, gets into infinite loop then, in circulation, obtains the failure message queue message earlier; If it is unsuccessful then this task is blocked until obtaining the message success to obtain message, obtains successfully the back and carry out failure logging and fault handling according to concrete system;
Step 4: set up the running background generic task
The running background generic task is less demanding to real-time, carry out the task of gaps operation in other tasks, is embodied as the detection task;
The concrete realization: set up BitOperate.c and BitOperate.h file; And to set up detection task entrance function be void TaskBIT (); This function at first detects the initialization of task internal data, gets into infinite loop then, in circulation, carries out computer mode detection, external equipment state-detection; If the fault of detecting then send failure message to the failure message formation detects and accomplishes laggard line delay;
Step 5: set up clock interrupt service routine
In clock interrupt service routine, discharge binary signal amount task activation cycle;
The concrete realization: realize that at periodic duty setting up clock interrupt service routine among file PeriodOperate.c and the PeriodOperate.h is void TimerISR (), discharge the binary signal amount in this function;
Step 6: set up interface routine
(1) input interface program: the interrupt service routine that is the corresponding interface; Accomplish the corresponding interface data input function; The concrete realization: in incoming task realizes file InputOperate.c and InputOperate.h, setting up the input interface program is void InputISR_XXX (), and specifically equipment is specifically named, get into this program after; At first carry out standardization of data, send corresponding input message then and handle to incoming task;
(2) output interface program: accomplish the interface data output function
The concrete realization: realize that in the output task setting up the output interface program among file OutputOperate.c and the OutputOperate.h is void Output_XXX (); Concrete equipment is specifically named; After getting into this program; At first standard data structure is specialized, and then called the output interface function completion data output of concrete equipment;
Step 7: set up initialize routine
Carry out global data initialization, equipment interface initialization, semaphore establishment and initialization, message queue establishment and initialization, clock interruption setting and initialization and task creation and initialization;
The concrete realization: set up Initializtion.c and Initializtion.h file; And to set up the initialization function be void Ini (); This function at first carries out global data initialization, equipment interface initialization according to concrete system, carries out semaphore establishment and initialization, message queue establishment and initialization, clock interruption setting and initialization, task creation and initialization then.
CN200910090176XA 2009-07-29 2009-07-29 General frame design method of airborne computer software Active CN101620535B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910090176XA CN101620535B (en) 2009-07-29 2009-07-29 General frame design method of airborne computer software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910090176XA CN101620535B (en) 2009-07-29 2009-07-29 General frame design method of airborne computer software

Publications (2)

Publication Number Publication Date
CN101620535A CN101620535A (en) 2010-01-06
CN101620535B true CN101620535B (en) 2012-06-06

Family

ID=41513785

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910090176XA Active CN101620535B (en) 2009-07-29 2009-07-29 General frame design method of airborne computer software

Country Status (1)

Country Link
CN (1) CN101620535B (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739601B (en) * 2008-11-12 2013-03-06 长春工程学院 Frame and method for developing reinforcement learning system
CN101853348B (en) * 2010-05-17 2012-05-23 清华大学 Method and system for enhancing human-computer interaction security
CN101847123B (en) * 2010-05-26 2012-11-21 北京航空航天大学 Construction method of airborne computer software testing general system
CN102650954B (en) * 2011-12-13 2014-12-10 中国航空工业第六一八研究所 Method for driving multi-frequency data to communicate by multiple events based on real-time task
CN103777963A (en) * 2014-02-24 2014-05-07 武汉大学 Method for achieving software reuse
CN105867412A (en) * 2016-04-15 2016-08-17 平玉兰 On-vehicle computer software system of miniature unmanned aerial vehicle
CN109901820B (en) * 2019-01-17 2022-03-04 西北工业大学 Optimization method of airborne software agile development process conforming to DO-178B/C
CN109960589B (en) * 2019-03-25 2021-07-09 上海富士施乐有限公司 Method and device for realizing system software layer of embedded system and readable medium
CN110390568A (en) * 2019-07-03 2019-10-29 北京旋极百旺科技有限公司 A kind of billing system and its loading method based on layer-stepping principle
CN112988144B (en) * 2019-12-02 2023-09-12 北京华航无线电测量研究所 Universal embedded event driven software development framework and use method
CN111061233B (en) * 2019-12-10 2021-05-14 北京慧虹远航科技有限公司 Design method and device for industrial control system and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1725177A (en) * 2004-07-21 2006-01-25 中国科学院软件研究所 Built-in equipment integrated development system and using method thereof
CN1831760A (en) * 2005-03-08 2006-09-13 光宝科技股份有限公司 Method and device for quickly developing embedded system using automatic compilation frame
US7191445B2 (en) * 2001-08-31 2007-03-13 Texas Instruments Incorporated Method using embedded real-time analysis components with corresponding real-time operating system software objects
CN1928816A (en) * 2006-09-26 2007-03-14 武汉大学 Model drive for embedded system software and component development method
US7458081B2 (en) * 2003-03-27 2008-11-25 Microsoft Corporation Configurable event handling for an interactive design environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7191445B2 (en) * 2001-08-31 2007-03-13 Texas Instruments Incorporated Method using embedded real-time analysis components with corresponding real-time operating system software objects
US7458081B2 (en) * 2003-03-27 2008-11-25 Microsoft Corporation Configurable event handling for an interactive design environment
CN1725177A (en) * 2004-07-21 2006-01-25 中国科学院软件研究所 Built-in equipment integrated development system and using method thereof
CN1831760A (en) * 2005-03-08 2006-09-13 光宝科技股份有限公司 Method and device for quickly developing embedded system using automatic compilation frame
CN1928816A (en) * 2006-09-26 2007-03-14 武汉大学 Model drive for embedded system software and component development method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄廷辉等.构造嵌入式系挽软件的构件模型研究.《微计算机信息》.2005,第21卷(第8-2期),第39-41页. *

Also Published As

Publication number Publication date
CN101620535A (en) 2010-01-06

Similar Documents

Publication Publication Date Title
CN101620535B (en) General frame design method of airborne computer software
CN101847123B (en) Construction method of airborne computer software testing general system
CN100440157C (en) Detecting correctable errors and logging information relating to their location in memory
CN103034578B (en) A kind of application data method for supervising and device
CN111291503B (en) Satellite navigation system model integration system and establishment method thereof
CN102662112A (en) Aircraft avionics ground test system based on PXI bus and Lab Windows Cvi
CN102722434A (en) Performance test method and tool aiming at Linux process scheduling
CN105446164A (en) Semi-physical simulation test system
Zhifang et al. Test automation on mobile device
US10255127B2 (en) Optimized diagnostic data collection driven by a ticketing system
CN101727388B (en) Remote debugging method and device for system behavior of network computer
CN101387977A (en) Server software regeneration method for maximizing task throughput
CN100481093C (en) System for verifying target and verification method thereof
Babazadeh et al. Highly-distributed sensor processing using IoT for critical infrastructure monitoring
CN202305806U (en) Embedded multi-kernel processing satellite navigation receiver
CN113031969B (en) Equipment deployment inspection method and device, computer equipment and storage medium
US8966500B2 (en) Local event infrastructure
Schoeberl Application experiences with a real-time Java processor
CN102819508B (en) Method for responding to signals from security monitoring subsystem
Kim et al. A decentralized approach for monitoring timing constraints of event flows
Ihirwe et al. A domain-specific modeling and analysis environment for complex IoT applications
Girault et al. Modeling fault-tolerant distributed systems for discrete controller synthesis
Blom et al. TTCN-3 for distributed testing embedded software
Li et al. Application availability measurement in computational grid
CN113778860B (en) Model detection-based system runtime verification method, system and computer equipment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20100106

Assignee: Beijing Heng Long Eagle Polytron Technologies Inc

Assignor: Beihang University

Contract record no.: 2016990000310

Denomination of invention: General frame design method of airborne computer software

Granted publication date: 20120606

License type: Common License

Record date: 20160802

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model