|[What is NanoScale]||Features||Download||Purchase||Support|
NanoScale is a Real-Time Operating System designed to make the most of microcontrollers on which it runs. It is intended to serve real-time applications running on embedded devices.
NanoScale is specially developped for processors like the Microchip 16-bit and 32-bit famillies. NanoScale implements a Segmented Interrupt architecture, enabling Dual Mode behavior and True Zero Latency for interrupts management. NanoScale also supports Deterministic Memory allocation mechanisms for both flexible and efficient programming.
NanoScale has been designed by taking into account the limited resources of microcontrollers. It is a high-performance RTOS optimized for high speed achievement, along with minimum memory consumption.
The main reason is maybe to not reinvent the wheel every time. Even in simple projects, it is needed to think about scheduling the different parts of the application and how to make them communicate with each other. An RTOS includes proven mechanisms to deal with this kind of issues.
In addition, not using a RTOS often means the application is built around a "super-loop" calling the different parts of the application in sequence. This is only suitable for small applications because timing of one module directly influence timing of other modules. They are complex to maintain when becoming large because complex state machines must be used in order to cut long processes in smaller pieces. They also suffer of a lack of reactivity because a process can not be preempted.
In the case of NanoScale, another reason is its aptitude to deal with interrupts. NanoScale is a True-Zero-Latency RTOS and does not introduce any delay in interrupt processing. Despite this, Interrupt Service Routines can still communicate with the kernel in order to connect with the task world seamlessly.