Hardware Reference
In-Depth Information
12.4.1
ERIKA ENTERPRISE
Erika Enterprise 10 is a real-time operating system that proposes a free of charge open-
source implementation of the OSEK/VDX API. Erika Enterprise is supported by RT-
Druid, a set of Eclipse plug-ins implementing an OSEK OIL compiler, able to produce
an OSEK ORTI file compatible with Lauterbach Trace32 debuggers. The kernel is
characterized by a minimal memory footprint of 1-4 Kb flash and an easy-to-use API.
ERIKA Enterprise also supports stack sharing, allowing all basic tasks in the system
to share a single stack, so reducing the overall RAM memory used for this purpose.
Several examples are available and maintained by the online community of developers.
In addition to the standard OSEK/VDX conformance classes, Erika Enterprise pro-
vides other customized conformance classes implementing EDF and soft real-time
resource reservations with the IRIS algorithm [MLBC04]. It also supports a subset
of the AUTOSAR Scalability Class SC4, including memory protection support and
OS Applications. Erika Enterprise supports a number of third-party libraries, includ-
ing TCP/IP, 802.15.4, CMOS cameras, analog and digital sensors, encoders, DACs,
ADCs, 3-axis accelerometers, DC motors, and many others. It also provides direct
support for code generation from ScicosLab 11 models, useful for implementing model-
driven data-flow control loops by the CAL 12 open dataflow language. As a result of
its compliancy to the OSEK/VDX standard, ERIKA Enterprise is now used by var-
ious companies for automotive applications and white goods systems (e.g., washing
machines, air conditioners, refrigerators, and stoves).
EFFICIENT EDF IMPLEMENTATION
ERIKA Enterprise contains an efficient implementation of the EDF scheduler, imple-
mented as an extension to the OSEK/VDX specification.
There are two problems that need to be solved to implement an EDF scheduler on an
OSEK system. The first is to provide a lightweight internal timing reference, since
OSEK only exports an alarm interface, leaving the counter objects unspecified and
implementation dependent. ERIKA Enterprise resolved the issue by adding an inter-
nal timing support that is implicitly used by the kernel primitives that follow the EDF
specification. The second problem is to provide a timing reference with both high res-
olution (to handle short and fast activities with deadlines in the order of tens/hundreds
of microseconds) and long lifetime (to handle absolute deadlines).
10 Erika Enterprise: http://erika.tuxfamily.org
11 ScicosLab: http://www.scicos.org
12 CAL: http://embedded.eecs.berkeley.edu/caltrop/language.html
Search WWH ::




Custom Search