FreeRTOS_Note
AWS FreeRTOS
FreeRTOS includes libraries for connectivity, security, and over-the-air (OTA) updates. FreeRTOS also includes demo applications that show FreeRTOS features on qualified boards.
FreeRTOS is an open-source project. You can download the source code, contribute changes or enhancements, or report issues on the GitHub site at https://github.com/FreeRTOS/FreeRTOS.
FreeRTOS - Architecture
FreeRTOS contains two types of repositories
- single library repositories
- Each single library repository contains the source code for one library without any build projects or examples.
- package repositories
- Package repositories contain multiple libraries, and can contain preconfigured projects that demonstrate the library’s use.
FreeRTOS Kernel concepts
The FreeRTOS kernel is a real-time operating system that supports numerous architectures.
Basic components including:
- A multitasking scheduler.
- Multiple memory allocation options (including the ability to create completely statically-allocated systems).
- Intertask coordination primitives, including task notifications, message queues, multiple types of semaphore, and stream and message buffers.
- upport for symmetric multiprocessing (SMP) on multi-core microcontrollers.
No malloc()
but pvPortMalloc
When RTOS objects are created dynamically, using the standard C library malloc()
and free()
functions is not always appropriate for a number of reasons:
- They might not be available on embedded systems.
- They take up valuable code space.
- They are not typically thread-safe.
- They are not deterministic.
- For these reasons, FreeRTOS keeps the memory allocation API in its portable layer.
Reference
[1] What is FreeRTOS? - https://docs.aws.amazon.com/freertos/latest/userguide/what-is-freertos.html
[2] What is FreeRTOS? - FreeRTOS architecture - https://docs.aws.amazon.com/freertos/latest/userguide/what-is-freertos.html#freertos-architecture
[3] FreeRTOS kernel fundamentals - https://docs.aws.amazon.com/freertos/latest/userguide/dev-guide-freertos-kernel.html
[4] Architecute Image Ref - https://blog.naver.com/kim1417/221540814246