change in code location in external flash causes major performances gap
Posted: Mon Sep 21, 2020 1:07 am
Hi - I have a fairly CPU intensive application that works well, but I've noticed that I can have large changes in CPU consumed by the same thread just by changing the mapping of the flash (simply by having a part of code present or not). There is no difference in thread scheduling due to that code being there or not (think about it as unused code but that cannot be removed by the linker).
By fairly large I mean that thread can occupy either 30% or 40% of CPU depending on the mapping. The value is totally consistent "within" one mapping option.
Is there something that can be done wrt cache handling or is this an issue with where some functions/inner loops are aligned with 32 bytes pages?
Thanks
By fairly large I mean that thread can occupy either 30% or 40% of CPU depending on the mapping. The value is totally consistent "within" one mapping option.
Is there something that can be done wrt cache handling or is this an issue with where some functions/inner loops are aligned with 32 bytes pages?
Thanks