Hello,
I am writing a program for an MSP430FR5969-SP and I need to configure memory so that anything that normally resides in SRAM is in the FRAM region (at 0x4400, not FRAM2 at 0x10000). I know that putting the stack in FRAM will incur a performance hit, but our application precludes any use of the SRAM.
My idea is to manually configure the MPU with two regions, one for code and one for everything else:
I’ve been able to move everything successfully to the FRAM region except for this block:
GROUP(READ_WRITE_MEMORY)
{
.TI.persistent : {} /* For #pragma persistent */
.cio : {} /* C I/O Buffer */
.sysmem : {} /* Dynamic memory allocation area */
} PALIGN(0x0400), RUN_START(fram_rw_start)
There are two reasons I don’t want to just leave this block in FRAM and make FRAM the code segment:
- The ISR code has to be located in the lower FRAM area because that area can be accessed with 16-bit addresses and the ISR vectors are 16-bit addresses
- When I move my .text and ISR code segment to FRAM2, it fills up most of FRAM2, and I still have more code to add.
Can you provide me with specific instructions for how to accomplish this? Thank you