Other Parts Discussed in Thread: ENERGIA, MSP430FR5994,
I am not able to use upper FRAM above 0x0001000 on MSP430 in Energia for an existing project, I am using latest Energia release E20 which uses latest version of gcc compiler 4.6.6.
My goal is to 1) get the linker to locate two initialized data arrays in upper FRAM on MSP430FR5994 or MSP430FR5969 and 2) read that data as a lookup table using the Energia program. I have used the following attribute to map the arrays to upper FRAM:
const unsigned char __attribute__((section(".fartext"))) Program_Data_IC_1[5120]= {
0xFF, 0xF2, 0x00, 0x20, 0x01,
0x00, 0x00, 0x00, 0xE2, 0x01,
...
However, any code access to the array gives the build error
relocation truncated to fit: R_MSP430_16_BYTE against `no symbol'
which I believe is due to trying to access upper FRAM with a 16-bit pointer.
So I tried modifying Energia's platform.txt to use large memory model:
compiler.mlarge_flag=-mlarge
but building in Energia E20 gave the error:
cc1plus.exe: error: unrecognized command line option '-mlarge' exit status 1 Error compiling for board MSP-EXP430FR5994LP.
I also tried using TI's GNU 7.3.1 (Mitto Systems) compiler in CCS 8.1 but I got errors building the Energia core library that is needed.
Is there any suggestion as to how to accomplish using upper FRAM in this way?
Thanks in advance,
John