Part Number: MSP430FR2676
Other Parts Discussed in Thread: MSP430WARE, , MSP430FR2476
Hi,
My customer wants to store some data in FRAM during runtime.
Customer uses INFO memory region as same as example code in MSP430Ware msp430fr267x_framwrite.c.
Below is linker command file and .log is used as data storage in c code. It works fine.
lnk_msp430fr2676.cmd:
MEMORY
{
TINYRAM : origin = 0x6, length = 0x1A
BSL0 : origin = 0x1000, length = 0x800
INFO : origin = 0x1800, length = 0x200 // Data saved here
TLVMEM : origin = 0x1A00, length = 0x200
:
:
}
SECTIONS
{
:
/* MSP430 INFO memory segments */
.log : type = NOINIT{} > INFO
:
}Now customer needs more than 512bytes data area, so he wants to use below FRAM area for data storage.
.log and .log2 are used as data storage in c code.
lnk_msp430fr2676.cmd:
MEMORY
{
:
FRAM : origin = 0x8000, length = 0x7F80
FRAM2 : origin = 0x10000,length = 0x6000
LOG : origin = 0x16000,length = 0x2000 // Additional Data log area in FRAM
:
}
SECTIONS
{
:
/* MSP430 INFO memory segments */
.log : type = NOINIT{} > INFO
.log2 : type = NOINIT{} > LOG
:
}But above change causes warning at compile something like:
<a href="file:/C:/ti/ccs1020/ccs/tools/compiler/dmed/HTML/17003.html">#17003-D</a> relocation from function "<function name>" to symbol "log_data" overflowed; the 17-bit relocated address 0x16018 is too large to encode in the 16-bit field (type = 'R_MSP430X_ABS16' (15), file = "./main.obj", offset = 0x00000032, section = ".text:<function name>"
Customer configures the data memory model as "Large". Why above warning is generated?

Thanks and regards,
Koichiro Tashiro