Real-time operating systems
Our modern world is unimaginable without microprocessors and microcontrollers. In practically every area of our daily life they perform their tasks reliably and silently. They control and monitor, they switch and protect.
However, these little chips get their intelligence from software: sophisticated applications and powerful operating systems.
EUROS is one of those operating systems and represents the latest development of a family of real-time operating systems for all kinds of microprocessors and microcontrollers.
The realtime operating system EUROS is a modular system. The core component is the Microkernel with its I/O system. Additional base components are the Process Manager and the C Library.
Building on top of these base components EUROS can be extended by other components like TCP/IP and device drivers (eg. CAN).
The Microkernel contains a collection of routines for basic functions. These include services for interrupt state transitions, interrupt handler management, timer services, console services, watchdog services and object management. Furthermore, the Microkernel contains a number of functions used by the other EUROS components.
The I/O System contains the driver interface and forms the interface to the hardware. The I/O systems offers a uniform API to access device drivers, manages I/O requests for them and notifies tasks when I/O requests are completed.
The Process Manager contains a set of system services like task management, inter-task communication, coordination, synchronisation and memory management. Signal objects, event-flag objects, mailboxes, pipelines and semaphores are available for inter-task operations. The application can choose among Mega-Pools, Memory Pools and fixed-size Buffers for suitable types of memory management. Bit-processing services allow comfortable access to simple peripherals.
The C Library complies with the ANSI-C standard and is reentrant. It's installed once in a system and is used by all tasks simultaneously. The C stream functions allow access to device drivers and to the file system. The C Library also allows the stream functions to interface to other components.
The EUROS core functionality can be extended by additional components. The following sections introduce some of the available components:
The Filesystem Manager allows access to block devices, eg. hard disks and Compact Flash devices. Currently the file system formats FAT12, FAT16 and FAT32 are supported. Long file names are supported for these formats.
The Network Manager implements a TCP/IP protocol stack with BSD sockets. The Network Manager is the base for additional products like the Web Server, FTP Server, SMTP, SNMP and DHCP. On the link layer the Network Manager supports Ethernet interfaces and PPP over serial lines and ISDN.
The Graphic Subsystem offers a hardware-independent API for graphics output on LCD displays and screens.
Another connection to the "outside world" is the IrDA component. It implements the two variations IrDA and IrDA Lite.
Using device drivers can shorten the development time for an application considerably. Furthermore, a uniform driver interface increases portability. A number of device drivers
are available for EUROS, supporting a variety of peripheral controllers, eg. serial controllers, CAN, Profibus, AS-i, SPI, I2C, ARCNET, Ethernet, IDE.