This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430FR2676:将FRAM用作数据日志内存区域

Guru**** 2387060 points
Other Parts Discussed in Thread: MSP430FR2676, MSP430FR2476, MSP430F5435
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1095708/msp430fr2676-use-fram-as-data-log-memory-region

部件号:MSP430FR2676
主题中讨论的其他部件:MSP430WAREMSP430FR2476

您好,

我的客户希望在运行时将一些数据存储在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 ","

客户将数据内存模型配置为"大"。 为什么生成上述警告?
 

谢谢,此致,
佐治一郎

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Kohichiro

    我将我的FR2676项目lnk_msp430fr2476.cmd文件转换为您的屏幕截图和说明。 能否与我共享lnk_msp430fr2476.cmd文件?

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [quote userid="9.7804万" url="~/support/micromicrocontroller/MSP-low-power micromicrocontroller-group/MSP/f/MSP-low-power micromicrocontroller-forum/109.5708万/msp430fr2676-use-fram-as data-log-memory-region">2676 data-log-memory-region">客户将数据存储器模型配置为"大"。 为什么生成上述警告?[/QUOT]

    将--near数据=globals更改为--near数据=none应删除 有关重定位溢出的#1.7003万-D警告。 有关  说明,请参阅CCS/MSP430F5435:位于FLASH2上较高内存中的数据导致#1.7003万-D警告是大数据模型。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Chester,

    感谢您的意见。 我将要求客户使用--near数据=none选项。

    您好,Xiaodong,

    请在下面查找客户的cmd文件(.cmd更改为.txt)。
    数据存储器名称为.info和.info2。

        /* MSP430 INFO memory segments */
        .info : type = NOINIT{} > LOG
        .info2 : type = NOINIT{} > INFO

    e2e.ti.com/.../lnk_5F00_msp430fr2676.txt

    谢谢,此致,
    佐治一郎

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Kohichiro

    我认为切斯特的评论是一种方法。

    请问“--near数据=none option”是否可以解算用户问题?

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    切斯特·晓东您好!

    是的,使用“--near数据=none”选项解决了问题。
    非常感谢!

    谢谢,此致,
    佐治一郎