主题中讨论的其他部件:MSP430WARE, MSP430FR2476
您好,
我的客户希望在运行时将一些数据存储在FRAM中。
客户使用的信息内存区域与MSP430Ware msp430fr267x_framwrite.c.中的示例代码相同
以下是链接器命令文件,.log用作c代码中的数据存储。 工作正常。
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 : }
现在,客户需要512字节以上的数据区域,因此他希望使用FRAM区域下的数据存储。
log和.log2用作c代码中的数据存储。
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 : }
但上述更改会在编译时导致警告,如下所示:
<a href="file:/ti/ccs1020/cs/tools/compiler/dMED/HTML/17003.html">#17003-D</A> 从1.7003万从函1.7003万函数"<function name>"重定位到符号"log_data"溢出;17位重定位地址0x1.6018万太大,无法在16位字段中编码(type ='MSP430_Data",<function =",=",main =",","=" m.16 ","
客户将数据内存模型配置为"大"。 为什么生成上述警告?
谢谢,此致,
佐治一郎