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.

[参考译文] MSP430FR5994:如何保留 FRAM 上的数据

Guru**** 2539500 points
Other Parts Discussed in Thread: UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1082052/msp430fr5994-how-to-preserve-data-on-fram

部件号:MSP430FR5994
《线程:UNIFLASH》中讨论的其他部件

大家好,团队

我可以做些什么来保留 FRAM 上的数据?  这样我就可以在调试程序时读出这些内容。

您能否提供一些示例和参考文档?

谨致问候,

高升

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

    您可以随时在 FRAM 中存储所需的任何类型的数据。 就像 RAM 一样。 然后在需要时重新阅读。

    详情由你决定。

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

    您能否提供一个示例

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

    准确地说,这是一个例子? 我已将 FRAM 用于 FreeRTOS 中的堆和用于 eForth 的字典空间。 这两种情况都是非常特殊的需求不可能与您想要做的事情相匹配的例子。 这仍然是一个谜。

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

    是的。 如果你能给我提供的话会更好。 因为我以前从未这样做过,所以我不知道怎么做。

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

    您好,高升,

    最简单的方法是创建一个大型缓冲变量并将其存储在 FRAM 中。  然后,您可以在那里记录数据,并在以后将其读出。   

    最简单的方法是使用#pragma persistent()。  下面是一个示例变量,用于为我正在处理的最近项目记录一些数据。   

    #define PIR_DATALOGGING_LENGTH  1780
    
    #pragma PERSISTENT( PIR_Inst_Detn_th_val )
    uint32_t PIR_Inst_Detn_th_val[PIR_DATALOGGING_LENGTH] = {0};

    构建项目后,您可以在“项目”调试文件夹中的.map 文件中找到该缓冲区的确切内存位置。   

    希望这能有所帮助。

    JD

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

    非常感谢

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

    如何从 FRAM 中读取保留数据?

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

    您是否正在尝试将其读回 PC?  最简单的方法是使用 Uniflash。  您必须指定 FRAM 中缓冲区的起始位置和数据长度。  然后读取/导出它。   

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

    Uniflash 用于闪存,它对 FRAM 是否有用?

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

    我从内存中读取了数据,但我不确定哪个数据是 FRAM,哪些数据是 RAM/SRAM。 此外,我也不确定 FRAM 中数据的起点。

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

    Uniflash 只是程序名称,但它同时支持 Flash 和 FRAM 设备。   

    您需要检查.map 文件,该文件可以在代码撰写器项目/Debug 文件夹中找到,并找到缓冲区,它会告诉您起始地址和长度。  这就是您查找数据的方式。