Just saw that the topic title has changed, so I put my observations so far just below…
First things first, the book is really good, many thanks for that - since I’m still a FreeRTOS beginner it’s a really valuable and helpful work.
I want to suggest that the diagrams showing which task is running at which time and priority are reworked:
- Tasks of higher priority are always on top in descending order:
This would make it easier to see the priority order. For example, the example #5.2 switches the priorities of the sender and receiver tasks, but the receiver task is still the uppermost one. So, for each example/diagram you’ve to keep track of the priorities by the text describing the example or the source code. - The time axis should use different identifiers for ticks and time spots within ticks:
Currently the form ‘tn’ is used for both marking ticks and time spots within ticks, which can get confusing. For example, figure 4.17 marks the ticks only, and it can be seen that task switches are executed between two ticks and the tick distances are almost identical. In contrast, figure 4.18 uses ‘tn’ to denote spots in time between ticks => the descriptional text also uses the wording ‘time tn’ instead of ‘tick tn’. The suggestion is to use T/t for tick/time in the diagrams. The same for descriptional texts: use ‘tick n’ if the spot in time is at a tick boundary and ‘time n’ if it’s between two ticks, e.g. an event or interrupt.
Note that those suggestions are just from my beginners view ![]()
I think I also found some small errors:
For figure #4.11, output of example #4.6, I wonder if the two first and the two last lines really reflect the (intended) behaviour of the example. There’s no main() function shown where the texts passed in by pvParameters can be seen and the mentioned lines are missing the word ‘is’. However, the text being printed between the periodic task execution does have the word ‘is’, so where comes the difference from?
Chapter #4.12.4 Prioritized Preemptive Scheduling without Time Slicing, second paragraph mentions a ‘table below’, but there’s no table. I assume the text is referring to the table right above chapter #4.12.3 Prioritized Preemptive Scheduling with Time Slicing, right?
I love this book, especially because it also mentions potential pitfalls and side effects. Really a great work.
Regards