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.

[参考译文] CCS/F28M35H52C:将内部闪存用作EEPROM

Guru**** 2595770 points
Other Parts Discussed in Thread: F28M35H52C, CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/661704/ccs-f28m35h52c-using-internal-flash-as-eeprom

部件号:F28M35H52C
主题: controlSUITE中讨论的其他部件

工具/软件:Code Composer Studio

我希望能够在CPU内部的非易失性内存中保存和检索少量数据-我假定的闪存。  将存储的数据将是序列号和校准参数值之类的内容,这些内容将在每个蓝月更新一次,因此无需使用磨损平衡之类的内容。

到目前为止,我还没有找到如何做到这一点的示例,但我很确定它们一定存在,有人能给我指示例吗?

TED

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

    听起来像是您想要闪存,并在寻找闪存设备的解决方案。 请看一下

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

    我认为您误解了。 我想将我的闪存的一部分(可能是1个扇区)用作非易失性存储器-如EEPROM -用于一些不经常更新的变量,这些变量可以由我在设备上运行的代码写入,擦除和更新,但在电源循环期间仍保留这些值。 我找到了这篇论坛帖子 e2e.ti.com/.../194.1271万 和指向sprab69.pdf文档的链接,但我不清楚这是否适用于F28M35H52C设备。 如果可以,我将寻找一个示例项目。

    谢谢!

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

    请检查此线程: e2e.ti.com/.../217.6846万

    抱歉,我们没有此设备的EEPROM驱动程序/示例。
    您可以使用Flash API库(www.ti.com/.../spnu595) 来开发一个。
    Flash API还有一个Wiki网页: processors.wiki.ti.com/.../C2000_Flash_FAQ

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

    瓦姆西

    我一直在查看Flash API文档snpu595.pdf,可以看到,编写代码以使用这些API命令擦除数据并将其编程到闪存中非常简单,但有几件事让我担心。

    1.文档显示...  

    F021 Flash API库不能从为选择的活动气缸组所在的同一气缸组执行
    要操作的API命令。 在单组设备上,必须从RAM执行F021闪存API。

    我觉得F28M35H52C有两组闪存,一组用于M3,一组用于C28,对吗?

    2.如果M3只有一个库,我想M3对我的“微型EEPROM”区域进行编程,我唯一的选择是从RAM执行代码还是可以使C28程序成为M3闪存?  如果我必须从RAM运行代码,那么我该如何执行此操作,是否有文档说明如何使我的代码的特定部分从RAM运行?

    谢谢!

    TED

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

    Ted,

    1)您回答正确。  

    2)无法通过从C28x内核执行闪存API来对M3闪存库进行编程。  M3 Flash API必须从M3 RAM执行才能对其闪存库进行编程。  

    请检查controlSUITE (ti\controlSUITE\DEVICE_SUPPORT\f28m35x\VX\F28M35x_Examples_Dual\FLASH_PROG\m3)中提供的Flash API使用示例。  在此示例项目中,您将注意到Flash API函数是从RAM执行的。  从示例中观察以下内容:

    (A)本示例中使用的Linker命令文件将 F021_API_CorrexM3_LE.lib分配给.TI.ramfunc部分,该部分具有Flash加载地址和RAM运行地址。   

    (b) Example的main函数调用memcpy(),在执行之前将上述部分的内容从Flash复制到RAM。

    如果您有任何疑问,请告诉我。

    3)另外,我注意到您正在使用controlSUITE的旧SPNU595文档。  请改用 此http://www.ti.com/lit/pdf/spnu595 (在之前引用的wiki中提到)。  我将提交一个票据,以反映此器件controlSUITE中的最新指南。   

    谢谢,此致,
    Vamsi

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

    瓦姆西

    谢谢,我将尝试一下。

    TED

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

    我要结束这条线。 如果您有更多问题,可以打开新线程。

    谢谢,此致,
    Vamsi