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.

[参考译文] RM48L952:FEE 虚拟扇区的块大小问题

Guru**** 2535150 points
Other Parts Discussed in Thread: HALCOGEN, RM48L952

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1175787/rm48l952-block-size-problem-of-fee-virtual-sector

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

大家好、感谢大家始终回答我的问题。
今天、我们将询问 FEE 虚拟扇区的块大小问题。
我要将虚拟扇区的数量设置为2、以存储总计64 KB 的数据并划分为块。 但是、当虚拟区段1的闪存启动扇区设置为0且闪存结束扇区设置为1时、 虚拟区段2的闪存启动扇区设置为2、闪存结束扇区设置为3、块大小设置为1、FEE 块大小之和的最大值为32K 字节。
虚拟 Sector1和2是每个32KB、总共64KB、但我不知道为什么块大小不能设置为超过32KB。
FEE 虚拟扇区配置显示"请确保所有虚拟扇区都配置为相同大小"、"请确保虚拟扇区不重叠"。
但是、当我将虚拟区段1的闪存启动扇区设置为0、将闪存结束扇区设置为3、将虚拟区段2的闪存启动扇区设置为3、并将闪存结束扇区设置为3时、我将 FEE 块大小的总和设置为64KB。


使用上述设置的 FEE 是否会出现任何问题?

感谢你能抽出时间。 祝你度过美好的一天

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="518229" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1175787/rm48l952-block-size-problem-of-fee-virtual-sector "]使用上述设置时是否会遇到任何问题?[/quot]

    虚拟扇区(VS)的配置不正确。  VS1 (扇区0~扇区3)和 VS2 (扇区3)重叠、VS1和 VS2的大小不同。

    [引用 userid="518229" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1175787/rm48l952-block-size-problem-of-fee-virtual-sector "]虚拟安全1和2各为32KB,总共为64KB,但我不知道为什么块大小不能设置为超过32KB。

    请参阅常见问题解答 :https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1121634/faq-tms570lc4357-questions-regarding-fee-eeprom-usage-on-hercules-microcontrollers/4158257?tisearch=e2e-sitesearch&keymatch=FEE%2520AND%2520block%2520size#4158257

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

    仿真的 EEPROM 分为两个或多个虚拟扇区。 每个虚拟扇区都被划分为多个数据块。  虚拟扇区可以包含一个或多个连续的物理闪存扇区。 至少需要2个虚拟扇区来支持 TI FEE 驱动器。

    虚拟扇区的大小必须大于所有数据块的大小。  

    将数据编程到 EEPROM 时、数据将写入活动虚拟扇区中的第一个空位置。 如果当前虚拟扇区中没有足够的空间来更新数据、它将切换到下一个虚拟扇区、并将所有有效数据从当前虚拟扇区中的其他数据块复制到新的数据块。 复制所有有效数据后、当前虚拟扇区标记为擦除就绪、新虚拟扇区标记为活动虚拟扇区。 任何新数据现在都将写入新的活动虚拟扇区、且标记为可擦除的虚拟扇区将在后台擦除。  

    数据块大小=有效载荷大小+ 24字节(标头大小)

    一个 VS 中数据块的最大大小为:Vs 大小- 32字节(VS 标头)= 32KB - 32字节

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

    我要问的是 VS2中的块大小设置。
    我为 VS1设置32K 字节、为 VS2设置32K 字节、但我可以在 HALCoGen 中设置的块大小为(32K 字节-开销)。
    即使在 CCS 中编写代码,TI_FEE WriteSync()函数中也没有 VS 设置。
    我想将块大小设置为64K 字节。 但是、如果块大小大于 VS 的大小、则无法写入 FEE。 如何设置 VS2的块大小和写入?

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

     发出写入命令后、它将检查当前活动 VS 中是否有足够的空间。如果没有、它将切换到下一个 VS 并再次检查。 因此、如果块大小> VS 大小、它将不起作用。

    如果块大小= VS 大小-标头、数据将在第一次写入时写入 VS1、在第二次写入时写入 VS2、在第三次写入时再次写入 VS1。

    您可以使用 HALCOGen 配置块的大小、块数量和 VS 大小。

    您还可以在 ti_fee_cfg.h 和 ti_fee_cfg.c 中手动更改这些配置数据

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

    大家好、我将使用 RM48L952。
    根据上面的内容、32Knee 是 RM48L952可以付费写入的最大数据大小吗?
    如果您在这里计算开销字节、它将小于32KB、但我想知道的是 RM48L952具有64KB 的 FEE 存储空间。 为什么 TI 提供的驱动程序将 VS 操作设置为如上、并且只使用高达32KB 的数据?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="518229" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1175787/rm48l952-block-size-problem-of-fee-virtual-sector/4428784 #4428784"]是32Kbye RM48L952可免费写入的最大数据大小?

    否 总块大小不应大于 VS 大小-标头。

    您有多少块?  

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

    有16个块。 但重要的是、虽然 RM48L952的费用为64KB、但我知道使用 TI 驱动程序只能使用32KB 的费用。 我现在的理解是不是吗?
    是否有任何方法可以使用所有64 KB FEE?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="518229" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1175787/rm48l952-block-size-problem-of-fee-virtual-sector/4430604 #4430604"]我知道使用 TI 驱动程序只能使用32KB 的 FEE。 我现在的理解是否正确?[/引述]

    您的理解不正确。 您可以在应用中使用64KB 或32KB。 请注意:

    至少需要两个虚拟扇区

    2. TWI 虚拟扇区应具有相同的大小。

    因此、对于64KB 组7、最大 VS 大小为64/2=32KB。

    VS0和 VS1类似于两个乒乓缓冲器。 一次只能激活其中一个。 当一个 VS 满时、将使用下一个 VS 并使其变为有效。

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

    我想问最后一个问题。
    QJ Wang sade:您可以在应用中使用64KB 或32KB。
    但是、我所讨论的是要求提供一次可以写入的大小。 在我的测试中、一次写入2个虚拟扇区和1个块时、最大大小为32712字节。
    我有一个问题要使用 TI 提供的驱动程序、必须使用两个或多个虚拟扇区。 这样、一次可以写入的最大大小为32Kbye。
    但是、QJ Wang 表示64K 字节仍然可用。 我想知道确切的信息。 实际上、FEE 与使用两个虚拟扇区时的32K 字节没有什么不同。

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

    请注意费用大小、VS 大小和块大小之间的差异及其关系。

    64KB 是最大费用大小= 2 * VS (每个32KB)  

    最大块大小= VS 大小- VS 标头= 32KB - 32Bytes = 32736字节

    数据块的有效载荷长度=块大小-块标头= 32736字节- 24字节= 32712字节。

    银行7有4个实体部门。

    您还可以配置 VS0=sector0 (16KB)、VS1=sector1 (16KB)--> FEE Size = 32KB、扇区2和扇区3未使用。

    您可以设计两种费用。 VS0 (扇区0)和 VS1 (sector1)--> FE1

                          VS0 (sector2)和 VS1 (扇区3)--> FEE2

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

    那么、可以一次性写入 FEE 的最大大小是否为32712字节?
    是否有任何方法一次写入大于32712 KB 的数据?
    这是因为、即使 FEE 的容量为64KB、一次可以写入的数据量也太小。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="518229" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1175787/rm48l952-block-size-problem-of-fee-virtual-sector/4432731 #4432731"]是可以一次性写入32712字节的最大大小?

    是的

    [引用 userid="518229" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1175787/rm48l952-block-size-problem-of-fee-virtual-sector/4432731 #4432731"]是否有任何方法一次性写入大于32712 KB 的数据?

    RM57Lx 具有更大的 EEPROM:128KB

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

    感谢您回答我的问题。 祝你度过美好的一天!

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

    谢谢你。 尽情享受您的时光。