wygonski

MSP430FR5969 using FRAM above 64k boundary

1 post in this topic

We are using Energia 17 with the MSP430FR5969 iand we now need to utilize upper block of FRAM at 0x10000 for storage of an initialized byte array because our program size has increased beyond the 48k in lower FRAM.   

I've modified the linker command file to locate the ".upper.rodata" section in "far_rom" at 0x010000  and declare the array as follows:

const unsigned char  __attribute__((section(".upper.rodata"))) Program_Data_IC_1[4096} = {  <byte values here>  }

However, after modifying the Energia linker command file and rebuilding the Energia project (in CCS 6.1.3) the Energia build fails with:

"relocation truncated to fit: R_MSP430_16_BYTE against symbol `Program_Data_IC_1' defined in .upperFram section in ./sigma_SPI.o"

All I really need is to produce a loadable file with the array mapped to upper FRAM.   I will be accessing this data array with a C pointer initialized to 0x010000,  I just need to get the Energia build system to output a elf file--the linker gets to the point of producing a correct .map file (in CCS 6.1.3)   I've tried a few things such as introducing the -mlarge build option, and the "far" keyword, but these produce build errors because they are not supported in MSPGCC 4.6.3.     So it appears that the Energia 17 build tools will not allow for any location of data above the 64k boundary?   Any workaround?

Thanks in advance,

John

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now