Since the MSP430FR5969 has only 2kB of RAM, it'd be nice to be able to push buffers into FRAM instead. Now I can do this easily enough by making them globals, just stick them to the .TI.persistent data group with a pragma. However you cannot do that with static local variables.
Is there any reasonable way around this limitation? I know you could theoretically stick them to a defined memory location but that seems unnecessarily convoluted as you should then limit (somehow..) the memory area that the linker is using and assing part of the FRAM manually.
There's the fram write function in the driverlibrary but it does not actually do malloc-like allocation i.e. you have to section "private" memory by yourself.
I can just keep on using static globals although many programmers start to hyperventilate even on global structs.. And I can easily see potential for conflict in my code, better to give those buffers per-function names.