I have hit a brick wall trying to get the C++ compiler to emit exactly the instructions I want, and have had to resort to assembly coding. Now I want the linker to place the resulting assembly coded function into RAM, not flash, for performance reasons. Has anyone done this, and if so, could you share the magic?
Background : a capacitive touch project where I need a tiny piece of code to run with (as close as possible) no stalls due to memory interface contentions for a small number of cycles. In C / C++ I get very close to this ideal condition by putting the critical fragment into RAM while the other core runs out of the XIP cache, I get much more timing jitter when both cores are running out of flash.
Background : a capacitive touch project where I need a tiny piece of code to run with (as close as possible) no stalls due to memory interface contentions for a small number of cycles. In C / C++ I get very close to this ideal condition by putting the critical fragment into RAM while the other core runs out of the XIP cache, I get much more timing jitter when both cores are running out of flash.
Statistics: Posted by omenie — Sat Mar 02, 2024 11:53 am