OSDev.org
https://forum.osdev.org/

FreeRTOS xLists working how to?
https://forum.osdev.org/viewtopic.php?f=1&t=57188
Page 1 of 1

Author:  nullpointer [ Wed Mar 27, 2024 8:55 am ]
Post subject:  FreeRTOS xLists working how to?

Hi,
Can you , please, explain the working of xLists in FreeRTOS?
Some drowings are highly appreciated.
I've tried to read the code but sincerely a pointer member of an xListItem, which is a member of a task's TCB, that points to this same TCB ... this gives me a headache !!

1- Suppose that portMAX_PRIORITIES = 3, an array pxReadyTasksLists[3] is created by the kernel.
pxReadyTasksLists[0] is a (pointer to a) list of all ready tasks with priority 0.
pxReadyTasksLists[1] is a (pointer to a) list of all ready tasks with priority 1.
... etc
- How pxReadyTasksLists[] is initialized before creating any tasks?

2- Now suppose there is only one task with priority 0 (idle task), 2 tasks with priority 1 and 3 tasks with priority 2.
- How the xListItem member of a newly created task is initialized?
- How the 3 lists are created (i.e how to insert a task in a list and how to sort the list) ?
3- How to search for the task with highest priority and how to remove it from the list?
Thanks

Page 1 of 1 All times are UTC - 6 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/