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.

[参考译文] TMS570LC4357:F021 FAPI 读取功能

Guru**** 2445440 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/1263129/tms570lc4357-f021-fapi-read-functionality

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

您好!

我正在编写一个代码、并尝试读取某些闪存区域的内容。 在尝试任何东西之前、我要搜索信息、并且我找到了用于编程和擦除闪存区域、但用于读取操作的信息、这些信息非常少。

一方面,我找到了闪存 API 函数像 Fapi_doMargCodread ()和 Fapi_doMarginReadByByByByByByByByByByByByByByByByByByByByByte () 似乎是我应该使用的。 在此之前,它是说, 应该调用 Fapi_initializeFlashBanks()。 这样差不多就够了、因为参考指南中没有针对读取操作显示 FSM、或者至少我还没有找到它(尽管我想我应该使用与擦除/编程 FSM 类似的东西)。

另一方面、TI_FEE 源代码已经具有一些读取操作 Fee_Read  、例如 TI_欧 Fee_Main 洛帝斯和 Fee_Read、它们只是执行一些校验、而 TI_Investment ()是在不使用 FAPI 函数的情况下进行读取操作的对象

因此,基本上我的怀疑是在哪种选择使用:

  1. 复制费用代码并将其用于其他银行
  2. 使用 FAPI 库、在这种情况下、我不知道应该遵循哪个程序流程。

提前感谢并谨致问候。


 

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

    Guillermo、您好!

    如果您的要求是只将一些数据写入闪存并从闪存读取数据、那么 FAPI 可满足您的要求。

    以下是 FAPI 使用示例:
    e2e.ti.com/.../4544.FAPI_5F00_TEST_5F00_LC4357.zip

    e2e.ti.com/.../1882.FAPI_5F00_TEST_5F00_LC43.zip

    或者、如果您的要求是在闪存中仿真 EEPROM 功能、那么请使用 FEE 代码。

    您可以找到 FEE 示例 HALCoGen 本身。

    打开帮助主题:

    在示例部分中、您可以找到包含分步流程的 FEE 示例:

    或者、您也可以参考我的 FEE 示例。

    e2e.ti.com/.../3058.FEE_5F00_TEST_5F00_LC4357.zip

    --

    谢谢。此致、
    Jagadish。

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

    Jagadish、您好!

    首先感谢您的回答。 我怕他们不回应我的怀疑,所以我会尝试在线上回应你。

    如果您的要求是只向闪存写入一些数据并从闪存读取数据,则 FAPI 可满足您的要求。

    正如我刚才所说,我只是担心阅读(将来会写)。

    以下是 FAPI 使用示例:
    4544.FAPI_TEST_LC4357.zip

    1882.FAPI_TEST_LC43.zip

    [/报价]

    这两个例子都是为了写作,所以不是我要求的。 此外、根据我从数据表中了解到的、写入闪存组7的示例针对仿真 EEPROM 功能进行了保留、但这些示例使用 Fapi、而不是 FEE。 对此有什么解释吗?

    或者,如果您需要在闪存中模拟 EEPROM 功能,请使用 FEE 代码。

    我的要求是从组7之外的组中读取闪存、我想用一种可靠且最高效的方式来读取闪存。

    我要再次指出、使用 Fapi 时未找到正在读取的 FSM。

    再次感谢并谨致问候。

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

    您好!

    两个示例都是用于编写的,所以不是我要求的。 此外、根据我从数据表中了解到的、写入闪存组7的示例针对仿真 EEPROM 功能进行了保留、但这些示例使用 Fapi、而不是 FEE。 是否有这样的解释?

    FAPI 例程可用于将数据写入闪存的任何存储体中、不仅是存储体7、而且借助这些例程、我们还可以向存储体0和存储体1写入数据。

    以下是写入闪存组1的示例:
    e2e.ti.com/.../7506.FAI_5F00_TEST_5F00_RM57.zip

    它在 RM57上、但相同的流程适用于 LC4357器件。

    我的要求是从组7以外的银行读取闪存,我希望以可靠和最高效的方式读取闪存。

    实际上、我没有在我提供的应用程序中使用读取函数、但您可以参考 FAPI 用户指南来了解可用的不同读取函数、您可以使用它们。

    e2e.ti.com/.../2845.SPNU501G.pdf

    --

    谢谢。此致、
    Jagadish。

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

    您好!

    实际上、我没有在我提供的应用程序中使用读取函数、但您可以参考 FAPI 用户指南来了解可用的不同读取函数、您可以使用它们。

    2845.SPNU501G.pdf

    [/报价]

    这是我在第一篇文章中提问的原因之一:

    [报价 userid="186225" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1263129/tms570lc4357-f021-fapi-read-functionality ]一方面我找到了像 Fapi_doMargCodread ()和 Fapi_doMarginReadByByByByByByByByByByByByByByByte () 的闪存 API 函数,似乎是我应该使用的。 在此之前,它是说, 应该调用 Fapi_initializeFlashBanks()。 这几乎是所有的事情,因为参考指南中没有显示 FSM 用于读取操作,或者至少我没有找到它(虽然我想我应该使用类似于擦除/编程 FSM 的东西)。[/报价]

    再次尝试让自己更清晰、 例如、如果我想 严格遵守编写操作、并且只遵循 API 文档、我认为我不会访问与 SPNA148"高级 F021闪存 API 擦除/程序使用"中建议的示例代码或 FSM 编写代码等效的代码。 所以、由于我想简单地 主机 IRQ 我要求的操作需要文档、应遵循适当的编码磁通、 主机 IRQ 运营。

    再次感谢并谨致问候。

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

    您好!

    所以,我想这么做 主机 IRQ 我要求的操作需要文档、应遵循适当的编码磁通、 主机 IRQ 工序[/报价]

    很遗憾、除了我已经提供的 FAPI 用户指南之外、没有其他文档可用于解释读取操作。

    但我可以为您提供一个用于简单读取操作的示例代码、其中它是:

    Fapi_StatusType status = Fapi_doMarginRead( (uint32_t *)addr, (uint32_t *)buffer, size, Fapi_NormalRead);
    
    if (status == Fapi_Status_Success) {
    
    /*Read operation success, so please perform necessary operation on read data which is present int the buffer*/
    
    }
    else
    {
    
    /*Read operation got failed, this condition should not occur check the arguments to the function properly*/
    
    }

    --

    谢谢。此致、
    Jagadish。