Skip to content

airbus/a653lib

Repository files navigation

a653lib

Introduction

The liba653 LIBRARY is an arinc 653 scheduler for Linux (uses POSIX standard), standardized by the A653.

License

Refer to LICENCE file.

Limitations

  • not all functionality is implemented now, but partitions with Processes using sampling and queueing ports is shown by the demonstration code.
  • not implemented function are implemented as empty functions and will be added if needed step by step.
  • The implementation is compliant only with A653.

Operating system and compilers

The liba653 LIBRARY can be built for the following operating systems and compilers:

  • Linux 32 bits (RHEL7)
  • Linux 64 bits (RHEL7)

Dependencies

LDLIBS   = -lpthread -lrt -lm -ldl

Logging

The logging strategy can be controlled through by

setDebug(int level)

call and

printDebug(int level, const char *format, ... ){

can by used with the same interface as printf() with a leading debug level

Compilation

call Make in base directory to build liba653.a and bind to demo implementation. Result will be located at ~/bin in your home directory. There will be the files:

  • a635_main
  • partition_a
  • partition_b

Run Demo

go to ~/bin and start ./a653_main

this will generate following output:

pid: 578773 <1702486050.317812578>: Current local time and date: Wed Dec 13 17:47:30 2023

pid: 578773 <1702486050.318212993>: a653_shm id: 0x63801e ptr: 0x7f5e57802000

pid: 578773 <1702486050.318233554>: > taskset --cpu-list 0 ./partition_a & :

pid: 578773 <1702486050.349241033>: a653 start (other pid) 578775

pid: 578773 <1702486050.349254883>: > taskset --cpu-list 1 ./partition_b & :

......

Useful targets

target Purpose
all Build everything. This is the default target.
amain Only build the main program (scheduler a653_main).
part_a Only build the partition a.
part_b Only build the partition b.
alib Only build the liba653.a.

Handle version

Tests debugging

Build with Make

About

ARINC 653 POSIX based library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published