Typically, RTOS designers have left power management to the developers, providing only the basic power mode transition calls. Developers needed to choose when and how to change modes. There is minimal overhead with this approach, but it gets challenging when there are many components involved that will be affected by actions like slowing down or shutting off the processor. It also makes it difficult to utilize third-party software and incorporate that into the power management. Unfortunately, mobile and battery-operated wireless devices like those used to address the Internet of Things (IoT) fall into this category.
The profile-based approach simplifies the job of power management by having the developer specify the overall profile that is then used to manage power requirements and constraints. It also can take into account the transition times involved for both applications needs as well as power mode transitions. The transition times may make certain transitions less desirable or impractical during runtime.
The TI RTOS power management system takes constraint and status information from all enabled aspects of the application, including device drivers. This allows something like the Bluetooth Smart stack indicate that it needs to be periodically enabled to exchange information with wireless peers. The RTOS can take this into account as well as the application needs, so it could use lower power modes after the stack and application have finished their latest iteration. The software does not specify the transition, but rather lets the RTOS know when events take place (such as completion of an operation).
The profile approach also has advantages for peripheral power management that tends to be even more difficult to manage by an individual application. The same type of constraint and status exchanges affect how the system manages the peripherals that are often controller independent of the CPU for many microcontrollers.
TI RTOS is actually found in ROM for many of TI’s microcontrollers such as the CC2640 SimpleLink Bluetooth chip. Developers are not required to use the RTOS, but having it in ROM makes runtime performance more efficient. It also provides a consistent interface for third-party developers to optimize their offerings for power as well as functionality and performance.
The latest incarnation of TI RTOS, 2.12, has additional features as well as a new licensing method. TI is using a BSD open-source license that is more liberal than GPL. Open-source software has become a requirement for many developers and this makes the use of TI RTOS easier for them. The BDS license does not have the source-code release requirements of GPL. The software targets the full range of TI’s microcontroller offerings, not just those that have it in ROM.
The latest emphasis is on battery-operated, connected devices. These tend to be headless devices with wireless communication support so that features like over-the-air updates are part of the mix. The software will work with the plethora of TI Launchpad development kits and the latest platforms such as the MSP432 (see “MSP430 MCU Family Expands to 32 Bits”) as well as the TI C2000 series and Sitara family.
TI RTOS has been available for a while and it is based on the TI DSP/BIOS, which also has a long history. The platform is designed to be compact and efficient, stressing lightweight, minimal overhead support.