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.

[参考译文] TMS570LS1227:FEE 同步模式怀疑

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1135357/tms570ls1227-fee-synchronous-mode-doubt

器件型号:TMS570LS1227

您好、TI 团队、

我有与 FEE Driver 相关的问题。

1) 1) 在 FEE 驱动器中,我使用了同步模式,在调用  TI_FEE ReadSync()函数后,返回变量存储在 oResult 中。 然后 调用 TI_fee_GetStatus ()和 TI_fee_GetJobResult (), 并 将返回变量分别存储在 Status 和 job_result 中。  因此、要检查读取是否完成、要检查哪个变量。

2)  2)调用  TI_FEE ReadSync () 函数后、返回值为 E_NOT_OK、需要执行什么操作。

谢谢你。

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

    您好、Nishant、

    1) 1) 在 FEE 驱动器中,我使用了同步模式,在调用  TI_FEE ReadSync() 函数后,返回变量存储在  oResult 中。  然后    调用 TI_fee_GetStatus ()和 TI_fee_GetJobResult (), 并    将返回变量分别存储在 Status 和 job_result 中。  因此、要检查读取是否完成、要检查哪个变量。

    昂斯)

    请遵循用户指南中建议的操作步骤:

    这意味着您必须在 "TI_fee_ReadSync"之后调用"TI_fee_GetStatus"函数 、并且必须验证状态是否为"空闲"、如果 状态为空闲、则意味着操作已完成。 但这并不意味着操作结果是成功的(即获得读取数据)、为了验证这一点、我们必须调用  TI_FEE _GetJobResult  函数、如果此函 数返回 job_OK、则意味着操作成功而没有任何错误。

    上述建议的程序将同时适用于 "TI_FEE ReadSync"或 "TI_FEE Read"

    但是  、对于"TI_FEE ReadSync"函数、您也可以直接使用该函 数的返回状态、因为它是一个同步函数、它将在操作完成前执行(如轮询)、与"TI_FEE 读取"不同、它不需要对"FeManager"函数进行外部调用。  因此、这意味着如果   "TI_FEE 读取同步"函数的返回值为 E_OK、则意味着读取操作已成功执行、我们获得了数据、但这不适用于"TI_FEE 读取"、对于此函数、我们只需遵循第一个建议的过程。

    2) 2)调用  TI_FEE ReadSync () 函数后、返回值为 E_NOT_OK、需要执行什么操作。

    昂斯)

    如果  TI_FEE 读取同步 函数的返回状态为 E_NOT _OK、则意味着有多种原因。

    这可能是由于模块 UNINIT 状态造成的、在这种情况下、您必须确保应用程序在读取函数之前调用 init 函数。

    这也可能是由于模块忙和 BUSY_INTERNAL 状态、在这种情况下、应用程序必须等待并再次调用该函数。

    这也可能是由于不正确的参数、即 BlockNumber、 BlockOffset 和 Length 值超出范围、在这种情况下、应用程序应确保传递正确的值。

    --

    谢谢、

    Jagadish。

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

    谢谢你 Jagadish  

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

    Jagdish 您好、

    如果 TI_FEE ReadSync ()返回 E_OK 并且 TI_FEE GetJobResult  返回  BLOCK_INVALID、这是否被视为错误? 这种情况应如何处理? 是否可以忽略它或是否需要采取一些纠正措施?

    谢谢你

    Nishant Soni  

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

    您好、Nishant、

    请勿忽略它、否则会出现错误。

    如果您获得 了除 job_OK 以外的 TI_fee_GetJobResult 返回值、则表示操作中存在错误、

    请将   TI_FEE ReadSync ()函数的 E_OK 返回值视为 "已接受作业"、但如果 TI_FEE _GetJobResult 状态不是 JOB _OK、则意味着必须存在错误。

    关于 block_invalid 函数、我想问两点  

    请 确保在使用任何其他 FEE 函数之前调用 TI_FEE ()。

    2.您是在写入某些数据后还是在不写入任何数据的情况下读取数据?

    --

    谢谢、

    Jagadish。

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

    Jagdish 您好、

    回答您提出的问题

    请 确保在使用任何其他 FEE 函数之前调用 TI_FEE ()。

    回答:不是 ,我们在 TI_FEE 之前不调用任何函数()

    2.您是在写入某些数据后还是在不写入任何数据的情况下读取数据?

    回答:  如果在刷写代码时擦除了存储器、并且存储器中没有数据、则会发生此问题、否则、如果存储器读取中存在数据、则 会完成此问题。

     

    谢谢、

    Nishant Soni

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

     Nishant Soni、您好!

    我与开发团队进行了核对、得到了相关反馈

    在写入操作之前不应执行读取操作、如果执行此操作、 则会导致 块无效错误。

    因此、请在执行读取操作之前执行写入操作。

    --

    谢谢、此致、

    Jagadish。

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

    谢谢 Jagdish。