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.

[参考译文] TMS570LS0432:FEE 中的一个块写入操作

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/605823/tms570ls0432-writing-operation-to-a-block-in-fee

器件型号:TMS570LS0432
主题中讨论的其他器件:HALCOGENUNIFLASH

大家好、TI 工程师

FEE 中有2个用于写入的函数(TI_fee_WriteAsync 和 TI_fee_WriteSync)。 哪一个可以用于向 FEE 块写入信息? 我不知道如何选择。

新宇

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

    用户指南中稍微详细介绍了这两条命令。 FEE WriteAsync 似乎需要定期调用 TI_FEE MainFunction()来完成写入、而 FEE WriteSync 不需要这些额外的调用。 这意味着一旦启动、它将一直保持到完成、并且器件上的其他操作将被保持。 优于另一个的优势是、当异步写入正在进行时、器件会执行其他任务、并且同步会占用主 CPU 运行时间、以便在请求时完全完成任务(即、无后台操作)。 FEE 用户指南包含在 docs 下的 Halcogen 安装路径中。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Davenport

    如果我想在 FEE 中擦除数据。 我应该使用哪个函数?TI_FEE _ EraseImmediateBlock?此函数将清除全部 FEE?或者我可以控制应该擦除什么?

    谢谢!

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

    TI_FEE EraseImmediateBlock 将擦除指定的逻辑数据块。 它不会擦除整个 FEE。 闪存仿真 EEPROM 与常规 EEPROM 不同、因为您在闪存扇区中包含信息的特定数据块。 添加新数据值时、旧值标记为无效、访问时使用新值。 一旦一个扇区中的所有可用空间被占用、扇区有效数据被复制到一个新的块/扇区、并且、一旦完成、旧的块/扇区被擦除。 这样、如果在操作期间断电且写入未完成、则始终有一个旧的数据副本可以恢复。 如需了解更多相关信息、请在网络中搜索闪存仿真 EEPROM、以了解此类闪存使用的原理。 TI FEE 驱动器提供接口和幕后机制来支持仿真过程。

    此外、本页对闪存仿真 EEPROM 以及如何完成进行了非常详细的描述。 electronics.stackexchange.com/.../flash-eeprom-emulation
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Davenport

    那么、如果我想擦除整个 FEE、旧块/扇区会被自动擦除吗?

    此致!

    新宇  

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

    您为什么要取消整个费用? 这是简单地将费用重置为类似的新状态、还是应用程序的某种程度上执行此操作?

    如果是这种情况、最好只使用 F021闪存 API 并使用扇区擦除命令而不是 FEE 接口擦除整个扇区。 请注意、擦除整个组7扇区将甚至擦除 FEE 驱动器用于跟踪写入/擦除周期和扇区/块的良好/无效状态等的已初始化数据 这就像是从新存储器空间开始从头开始。 您还可以通过 CCS 或 Uniflash 擦除命令对器件的每次编程擦除 Bank7。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、Davenport

    我们希望在没有免费收费的情况下,可以一次取消整个收费。 因为我们无法确定一个块足以保存信息。 因此、我们需要擦除整个费用。

    如果您的建议意味着重置所有费用。 我认为这对我们是好的。 如果重置所有 FEE、可以使用哪些函数? FEE 中是否有任何可用于擦除一位数据的函数?

    您能否实时观察组7的寄存器? 请问如何在 CCS 的寄存器列表中找到组7?

    谢谢!

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

    您的用例描述对我来说似乎有点不寻常、并不是一种典型的闪存 EEPROM 仿真方法。 请注意、组7分为多个扇区、这些扇区的数量和大小取决于您使用的器件。 假设您将其标识为 TMS570LS0432、则组7将具有2个扇区、每个扇区@ 16KB。 Halcogen 中包含的 FEE 应用软件将无法有效地将整个库用于您的应用、因为它依赖于通过复制到第二个扇区来压缩一个扇区中的数据(删除无效值)的能力。 复制并保存有效数据后、旧扇区将被删除、新数据将写入新扇区。 当活动扇区再次填充时、重复此过程。

    如果您只是想将数据存储在数据组(组7)中、则可以直接使用 F021闪存 API。 F021闪存 API 具有按扇区或组擦除的命令。 F021 API 也包含在 HalCoGen 中、但也可以单独下载。用户指南和直接下载链接可在以下链接中找到: www.ti.com/.../HERCULES-F021FLASHAPI
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、Davenport

    当我阅读有关 TMS570LS0x32 16位和32位 RISC 闪存微控制器中闪存组和扇区的表时。 我发现 EEPROM 有4个扇区。 一个扇区有4KB 空间。 我认为有问题。 但我不确定。

    谢谢、此致!

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

    你是对的。 TMS470LSx32器件在组7中有4个4KB 扇区、总共16KB。 这是我的帖子中的一个错误。 感谢您向我指出这一点。