Hello,
As part of our lab’s research on Energy Harvesting Intermittent Computing Systems, we have designed and implemented modifications to the FreeRTOS kernel to enable multitasking on intermittently-powered IoT devices (making IoT devices battery-less and intermittence transparent to programmers).
- Run multiple tasks concurrently to improve computation progress
- Achieve consistency between data and computing progress
- Recover the system instantly from power failures
- Accumulatively preserve computation progress across power cycles to avoid progress stagnation
We have developed and tested our design on the Texas Instruments MSP430FRxx and Cypress PSoC 6 platforms.
You can find the open-source code at: https://github.com/EMCLab-Sinica/Intermittent-OS
Do bear in mind that this is not production code and requires significant further development before it can be used in a live product. Having said this, if you are interested in a FreeRTOS extension with Intermittent Power support, you should hopefully find it useful!
Kind Regards,
Wei-Ming
EMCLab - Academia Sinica, Taiwan