ConceRTOS is a modern development framework for embedded systems. It consists of a hard real-time operating system (RTOS) including libraries, an OS Abstraction Layer (OSAL) and a Hardware Abstraction Layer (HAL) to provide maximum flexibility and accelerate application development.
Modularity, OS- and hardware abstraction layers and dependency injection combine to provide great flexibility and continuity in your development.
Develop your prototype based on our pre-tested libraries and flexible framework to reduce time to market and required iterations.
Energy efficient by design - it is not just an afterthought. Every aspect is optimized for low power usage and optimally suited for wearables and other battery-powered applications.
The framework is being implemented in medical devices. We know the required documentation effort and are comfortable working within your existing Quality Management System.
The framework includes libraries for secure Firmware-Over-The-Air (FOTA) updates. Profit from our expertise to implement automatic rollbacks and sophisticated encryption.
You want firmware, not a framework?
How It Works.
Modular Embedded Development Framework
ConceRTOS consists of a hard-real time operating system, an OS Abstraction Layer (OSAL) and a Hardware Abstraction Layer (HAL). The OSAL and the HAL decouples the application logic from the hardware and from the actual OS implementation, giving you maximum flexibility and freedom to change specific system components.
ConceRTOS is deployed in a wide range of products ranging from wearables, therapeutic and medical devices to industry applications like process monitoring in pharma production lines or controllers for smart home applications, illumination and ultra-low power sensor nodes.
ConceRTOS Microkernel (MK)
The OSAL abstracts the implementation of building blocks of embedded operating systems (Executor, Memory Manager, SPI, etc.). When developing with ConceRTOS OSAL, developers are not bound to use any specific OS. It is possible to implement some or all the functionality (e.g. Memory Manager) from scratch (“bare metal”). Additionally, one can use implementations of an RTOS or use a combination of both: custom code and off-the-shelf modules. It is also possible to use an operating system like Linux. This allows to run and debug code directly on the host machine, which increases efficiency of the development process.
ConceRTOS MK is a ConceRTOS OSAL compatible RTOS implementation. With its modular architecture, it was uncompromisingly designed for ultra-low-power applications like wearables or IoT devices. It allows the developers to only include what is really needed resulting in lean and lightweight code.
Ecosystem components facilitate seamless integration with existing applications (e.g. Android, iOS, Python, Servers, ERP-systems). The ConceRTOS Microkernel is designed for safety-critical applications. Preemptive scheduling and advanced memory management guarantee deterministic limits for event handling.
ConceRTOS OSAL compatible implementations can be integrated into the application using dependency injection.
The modularity and the OSAL of ConceRTOS enables fast prototyping without the loss of this investment in a first development cycle. Early and simple versions of modules can easily be replaced at a later stage by injecting a more sophisticated version.
ConceRTOS contains a signal processing framework, which provides the necessary tools to efficiently handle sensor data. It includes a storage component to save results on the flash memory.
The framework is based on the publish-subscribe pattern. Subscribers can also be multicast enabled publishers, which allows building tree structures for data processing. The diagram on the right shows and example tree for the processing of data from an accelerometer.
It is often necessary to add time stamps to sensor data as basis for further analysis. The signal processing framework automatically adds the correct timestamp right after the values are received from the sensor. It also estimates the exact sample rate, since sensors are often self-timed.
Another very useful feature are gates. They allow to interrupt the data flow to their subscribers e.g. to avoid running an algorithm based on unsuitable data. The gates contain pre- and post-buffers. The pre-buffer, for example, allows processing data further down the tree, which was recorded before the activation of the gate.
ConceRTOS uses a preemptive scheduler without critical sections / locks. All core services of the RTOS are designed with lockless data structures to minimize the amount of constraints on the application. The lockless nature combined with advanced memory management prevents priority inversion, which is crucial for safety critical applications. Otherwise, a low priority task (e.g. patient data logger) could block the execution of a high priority task (e.g. patient alarm).
Some RTOS solve this problem on the thread mode level only, but not on the handler mode level, where for example data structures for tasks are managed. ConceRTOS has no critical sections on the handler mode level. This guarantees deterministic maximum latency to interrupt a running task and create a task with higher priority.
When developing an application with ConceRTOS it is still possible to make use of critical sections. The framework provides a locking mechanism, which allows the user to protect access to specific shared resources. If a task is inside the critical section, another task will have to wait entering the same critical section until the owning task has left it. However, it can still be interrupted by hardware interrupts to guarantee deterministic maximum times for task execution after an interrupt occurred.