FreeRTOS

  • FreeRTOS ESP32 Cortex M7 Provides a single and independent solution for many different architectures and development tools.
  • Is known to be reliable. Confidence is assured by the activities undertaken by the SafeRTOS sister project.
  • Is feature rich and still undergoing continuous active development.
  • Has a minimal ROM, RAM and processing overhead. Typically an FreeRTOS ESP32 Cortex M7 kernel binary image will be in the region of 6K to 12K bytes.
  • Is very simple – the core of the RTOS kernel is contained in only 3 C files. The majority of the many files included in the .zip file download relate only to the numerous demonstration applications.
  • Is truly free for use in commercial applications (see license conditions for details).
  • Has commercial licensing, professional support and porting services available in the form of OPENRTOS from our partner WITTENSTEIN high integrity systems.
  • Has a migration path to SafeRTOS, which includes certifications for the medical, automotive and industrial sectors.
  • Is well established with a large and ever growing user base.
  • Contains a pre-configured example for each port. No need to figure out how to setup a project – just download and compile!
  • Has an excellent, monitored, and active free support forum.
  • Has the assurance that commercial support is available should it be required.
  • Provides ample documentation.
  • Is very scalable, simple and easy to use.
  • FreeRTOS offers a smaller and easier real time processing alternative for applications where eCOS, embedded Linux (or Real Time Linux) and even uCLinux won’t fit, are not appropriate, or are not available.
  • FreeRTOS is designed to be small and simple. The kernel itself consists of only three C files. To make the code readable, easy to port, and maintainable, it is written mostly in C, but there are a few assembly functions included where needed (mostly in architecture-specific scheduler routines).FreeRTOS provides methods for multiple threads or tasks, mutexes, semaphores and software timers. A tick-less mode is provided for low power applications. Thread priorities are supported. FreeRTOS applications can be completely statically allocated. Alternatively RTOS objects can be dynamically allocated with five schemes of memory allocation provided:
    • allocate only;
    • allocate and free with a very simple, fast, algorithm;
    • a more complex but fast allocate and free algorithm with memory coalescence;
    • an alternative to the more complex scheme that includes memory coalescence that allows a heap to be broken across multiple memory areas.
    • and C library allocate and free with some mutual exclusion protection.