Connected devices are now wearable, portable and are found in the home, in the automobile, and in the factory. Many of these devices have key requirements that an RTOS such as Nucleus addresses.
Requirements of IoT devices include:
- The use of small and memory constrained system on chips (SoC) such as 32 bit microcontrollers
- Seamless network connectivity without user intervention
- Inclusion of secure connectivity through Bluetooth low energy or WiFi
- Isolation of key processes and functionality from non-safety critical features
- Low power consumption for battery operation and increased system reliability
It is necessary for an RTOS to provide a minimal footprint that scales with the need of an individual device. The kernel in the Nucleus RTOS for example can be deployed at a size of 3kb and scales in size based on the application. As features such as a user interface, storage, secure communication via SSL are added it is important an RTOS only add the minimal necessary memory footprint. This provides greater flexibility for SoC selection to the designer and also increased the memory available for the application and end user data.
Devices such as smart meters must be able to automatically connect to networks through zero configuration networking through the use of Multicast Domain Name Service (mDNS) and describe their functionality to other devices through Domain Name System Service Discovery (DNS-SD). By providing libraries to support these standards a robust RTOS can simplify this part of system development.
Once connected to a network, devices from activity tracking wearables, to smart meters, to portable medical devices must transmit and receive information. In all of these cases it is important to provide embedded system designers easy access to multiple communication protocols such as Bluetooth low energy or WiFi, as well as the ability to secure data transmissions through support of encryption libraries and secure data transfer through SSL.
When connectivity or user interfaces are introduced into devices that perform critical functionality, such as a portable medical device, it’s very important to be able to isolate the desired functionality from the required functionality such as health monitoring or control. The use of hypervisors is one possible method to address this. It is also important for an RTOS to provide a process model that provides task and library isolation as well as memory protection. By using a process model framework, developers are able to isolate the different functions of the connected device from each other, increasing the stability of the entire system. It also allows device functions to be updated and validated without rebuilding the entire software stack.
The final important characteristic of IoT devices is the need to minimize power use. Whether a device is battery operated, rechargeable or connected via a plug to an outlet, minimizing power consumption is important. By keeping power consumption and the corresponding heat generation lower, designers are able to improve system reliability while reducing power consumption.
Although semiconductor providers have introduced capabilities such as dynamic voltage frequency scaling, power saving modes such as hibernate and standby, and the ability to turn peripherals on and off, taking advantage of these features can be daunting and chip specific. By making use of a power management framework and API that is provided with an RTOS, developers are able to focus on the end application requirements while allowing intelligent RTOS to perform the necessary steps to minimize power consumption.
From intelligent device connectivity, to process models and power management, the RTOS has come a long way from a simple scheduler to meet the challenges introduced by IoT devices and will continue to evolve in the future.
Read the Italian version on EONews 572-February