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.

[参考译文] RM46L852:收费驾驶员问题

Guru**** 2394075 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/632588/rm46l852-fee-driver-questions

器件型号:RM46L852
主题中讨论的其他器件:HALCOGEN

您好!

我们将 F021 FEE 库用于我们的项目。  

配置在 Halcogen 中完成、

我们有以下问题。

1.如何更改虚拟扇区运行时间? 我们希望写入一个虚拟扇区、对于下一个写入、我们要移至下一个虚拟扇区、并以循环方式继续。 以便所有扇区均可使用。

2、如何获得每个扇区的写入/擦除计数?

3.在写入或擦除任何扇区时,如果发生电源故障,则在下次重新启动时如何维护最后一个虚拟扇区?

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

    FEE 驱动器将数据从一个虚拟扇区复制到另一个虚拟扇区。 项目需要配置要使用的扇区数量。 例如、如果项目配置4个虚拟扇区、FEE 将首先使用扇区1。 一旦扇区1已满、它会将最新数据移至扇区2。 一旦扇区2已满、数据被复制到扇区3、然后复制到扇区4。 一旦扇区4填满、数据便移至扇区1、此过程将继续进行。 这一进程将注意所有部门的使用都是均匀的。

    没有用于返回扇区写入/擦除计数的 API。 但是、我们将其存储为扇区标头的一部分。

    FEE 驱动器设计用于从任何功率损耗情况中恢复。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Vishwanath 的快速响应。

    如果擦除计数超过10000、会发生什么情况? TI FEE 驱动器是否会产生异常?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Vishwanath、

    另一个查询、

    我们之前提供了以下函数来写入配置的扇区。
    int j;
    int k;
    字符特殊 RamBlock[8];
    for (k=0;k<20;k++)

    for (j=0;j<512;j++)

    for (i=0;i<8;i++)

    SpecialRamBlock[i]= rand();

    FEE WriteSector ();



    void FEE (空) WriteSector (空)

    /*将块异步写入 EEP。 块大小在 ti_fee_cfg.c 文件中配置。 默认块大小为
    8字节*/
    BlockNumber=0x1;
    TI_fee_WriteAsync (BlockNumber、&SpecialRamBlock[0]);
    操作

    TI_fee_MainFunction();
    delay();
    STATUS=TI_FEE _GetStatus (0);

    while (状态!=空闲);


    我们观察到的情况、
    FEE 驱动器在第一次通过时递增每个扇区的擦除计数。
    但是、当我们多次写入扇区时、FEE 驱动器仅更新扇区1和2的值并增加擦除计数、而不会增加其他两个扇区的值。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    另一个查询,

    我在链接器命令文件中定义了数据存储器段(8字节)、并在特定事件的运行时间内将该数据写入 bank7 FEE 扇区。 当前块大小在 halcogen 生成的代码中配置为8字节。

    将来、我想在链接器命令文件中增加或添加更多不同的数据段。

    TI 是否需要驱动程序支持写入超过8字节? 如果是、我们是否可以轻松地更改它?

    在使用 FEE 驱动器将不同数据段中定义的数据写入 FEE 之前、如何将其合并到单个存储器副本中?

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

    很抱歉耽误你的时间、上周我在度假。

    答案如下:

    ->组7有100000个写入/擦除周期。 如果将4个物理扇区用作4个虚拟扇区,则会得到4*100000 W/E 周期。
    当 FEE 无法擦除扇区时、它将通过错误 Error_EraseVS 报告该扇区。 写入将不被接受、但读取将继续返回数据。 驱动程序不会产生异常。

    ->FEE 仅在扇区标头被擦除和写入后增加扇区计数。 扇区计数不会针对每个块写入递增。 每个块都有自己的写入计数器作为其标头的一部分。

    -> FEE 驱动器始终只为一个写入请求写入8个字节。 我不理解您对不同段中定义的链接器命令文件/合并数据的问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复。

    我同意 Control 仅在每次请求时写入8个字节、因为我们在 halcogen 中配置了块大小最大为8字节。

    但是,如果我想写入更多字节,我们可以增加块大小吗? 例如、如果我想将32个字节写入 FEE、按照下面的配置 FEE、程序是如何工作的?

    将来、我们可能需要增加块大小、如果只更改块大小、FEE 驱动器是否支持?  

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

    是的、块大小可以是任意长度。 有关块大小的详细信息、请参阅用户指南。 请查看"TI FEE 用户指南.pdf"。 通常可从 C:\ti\Hercules \HALCoGen\v04.06.01\Docs 中获取。

    块大小一旦被写入、就不能增加。