FreeRTOS
The most popular and cool real time operative systems at all, yes I know almost everyone out there has a FreeRTOS tutorial but another one does not hurt. Besides our how many of them offer several examples and more exercises to reinforce what you learn
Part 1: Task
Each task is a small program on its own right. It has an entry point, will normally run forever within an infinite loop. Task are implemented as C functions. the only about them
Part 2: Queues
Application that use RTOS are structured as a set of independent task (each task is a mini program in its own right). These autonomous tasks will have to communicate with each other so
Part 3: Timers
A software timer (or just a 'timer') allows a function to be executed at a set time in the future. The function executed by the timer is called the timer’s
Part 4: Interrupts
Embedded real-time systems have to take actions in response to events that originate from the environment. Non-trivial systems will have to service events that originate from multiple sources, all of which will have
Part 5: Mutexes
In a multitasking system, there is potential for conflict if one task start to access a resource, but does not complete its access before being transitioned out of the Running State. If the
Part 6: Direct to task notifications
The direct task notification is an event sent directly to a task. It is an efficient method for communication and synchronization between tasks, unlike other methods that use intermediary objects such as queues,
Part 7: Stream and messages buffer
This buffers works as communication method as the Queues, unlike this are designed and optimized to work with one transmitter and one receiver, as pass data from an interrupt routine to a task,
Part 8: FreeRTOS Kernel Analisis
FreeRTOS Scheduler An RTOS embedded application is structured of independent tasks, each one with its own context with no dependency on other tasks. Just a task can be executed at any point in
Part 9: FreeRTOS Command Line Interface (CLI)
FreeRTOS CLI is an extensible framework that allows the user a simple way to handle command-line input, provides a structured way to handle user inputs via a command-line interface, which can be extremely