Can We Expect More Technical Information about FreeRTOS Like This!

panu28 wrote on Sunday, July 08, 2018:

RL-RTX Technical Data
RL-RTX Timing Specifications

Could Be Very Useful For Calculations…

richard_damon wrote on Sunday, July 08, 2018:

I think the biggest reason such a table would be hard to produce is the shear number of processors that FreeRTOS runs on. Those tables needed only 2 columns, as that OS targerted just the Arm processors with one compiler, while FreeRTOS targets many more, and much more distinct, processors and in many cases several tool chains on a given processors.**

panu28 wrote on Sunday, July 08, 2018:

Hi, Thanks For The Reply …

But a Software Engineer Wouldn’t Look That Way …? Woldn’t be the Responsibility of Designer of Operating System to Provide Such Information !

shear number of processors that FreeRTOS runs on.

It might be Like Millions of People Using O.S. would be repeating those Calculations wasting Billions of Hours ?

FreeRTOS targets many more, and much more distinct, processors and in many cases several tool chains on a given processors.**

Atleast Most Used Controllers Like PIC32, dsPIC, … Rest of the Tables Based on Voting …

richard_damon wrote on Sunday, July 08, 2018:

Perhaps, but even on a single processor, many of the numbers depend on configuration parameters, so the table gets very complicated or just approximate. For instance looking at the latest code all the following can change the amount of RAM used by a TCB: (things beginning with port are port specific, things with config are user defined in FreeRTOSConfig.h)

portSTACK_GROWT
configRECORD_STACK_HIGH_ADDRESS
portCRITICAL_NESTING_IN_TCB
configUSE_TRACE_FACILITY
configUSE_MUTEXES
configUSE_APPLICATION_TASK_TAG
configNUM_THREAD_LOCAL_STORAGE_POINTERS
configGENERATE_RUN_TIME_STATS
configUSE_NEWLIB_REENTRANT
configUSE_TASK_NOTIFICATIONS
configSUPPORT_STATIC_ALLOCATION
configSUPPORT_DYNAMIC_ALLOCATION
INCLUDE_xTaskAbortDelay

but of course, the biggest memory usage for a task is the stack, size which is highly dependent on the program. I suspect any prebuilt table would need to make enough assumptions that the numbers would be not that useful.

The memory cost for each primative is small enough that execpt for the very smallest processor, the application usage so dwarfs the OS usabe that it is pretty much ignorable, and for those very small cases you really want the precise number, which is so depenent on application parameters that it probably really is easiest to quickly build a mock up version and look at the linker map.

panu28 wrote on Monday, July 09, 2018:

Maybe, Rough Cycle Times For Functions used so as to get idea of their Execution Times (E.g. min(with perfect pipelining), avg, max(with worst case pipelining,cache misses)etc.) We cant use functions blindly?
How to Estimate if Tasks are schedulable with given time constrainsts and RTOS|| Abstract SDKS are used without resorting to Very Low Level Languages?