User's Manual

TagBoard
3.2 Device Drivers
The operating system integrates the drivers for all devices on the Tag Board.
The device drivers are provided as modules and are also compatible with the GPLv2 license. In the
event that it is necessary to design and implement a new driver, will be evaluated from time to time
with the type of license which can be distributed, in accordance with the client.
3.3 Real-Time constraints
To ensure to processes desired real-time constraints, in addition to the Linux traditional preemptive
scheduler, is also present a further scheduler called Xenomai. This solution provides a set of APIs that
allow you to create processes with real-time characteristics entirely in userspace, greatly simplifying
the implementation and debugging of the entire project. To manage priorities between tasks in real
time, Xenomai scheduler supports both FIFO and Round-Robin policies.
Xenomai makes the Linux kernel a "hard real time" operating system. This allows the designer to
develop real-time tasks as abstract cells, independent from the non real time system part, so that
those have no coexistence issues (race conditions, starvation, ...).
In the practice Xenomai provides determinism on the scheduling of real-time tasks and interrupt re-
sponse with acceptable latency for real time applications, in the order of 100us.
Xenomai also solves the problem of the microprocessor overload caused by the real-time scheduler,
which may impair the ability to perform communication with, for example, other peripheral devices,
serial ports or on the CAN bus.
It is therefore possible to develop real-time device drivers (RTDM API) providing deterministic access
to the communication pipes, maximizing the speed.
The architecture and implementation of the Xenomai APIs follow the logic diagram shown in figure
Figure 3.1: Architecture
The implementation of real-time tasks and communication with the core functions, occur using inter-
faces compatible with:
VxWorks
Sirius Electronic Systems s.r.l. 25