Name the memory section of stack and TCB of timer task - #798
aymenjebalibmw wants to merge 1 commit into
Conversation
This allows to link the named memory section to a dedicated partition of the RAM. For example for performance reasons, we can link the stack region into a low latency RAM memory. This feature is also useful to protect Task Stacks from overflowing each others, considering that we protect by MPU each stack.
|
This would introduce compiler dependent code into the code ThreadX sources. Wouldn't it be better to perform the placement directly in the linker script instead? |
Linker regular expression on LLVM didn't work to catch the required symbol. I can change it to something like this, so in tx_user.h the proper compiler pragma/attribute can be specified:
|
|
You might need to compile with the -fdata-sections flags to get each symbol into a different section. Then, I think you should be able to isolate it directly in the linker script. As for the section name macro this would not be fully portable sadly since some compilers using pragmas instead of variable attributes require the pragma to be before the symbol definition. |
yes we do use |
|
not needed, |
|
Shit!!! closing was too quick. there is no way arround the named memory section for the feature I need. The issue as afollowing, we would like to have contiguous address space with no gaps for the TCBs and place them into one unique MPU region, the stacks are all together inside one other region. |
This allows to link the named memory section to a dedicated partition of the RAM. For example for performance reasons, we can link the stack region into a low latency RAM memory. This feature is also useful to protect Task Stacks from overflowing each others, considering that we protect by MPU each stack.
PR checklist