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.

[参考译文] AM2634:有关"FSI loopback polling&quot"的错误和问题;示例。

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1460899/am2634-error-and-question-about-fsi-loopback-polling-example

器件型号:AM2634

工具与软件:

尊敬的 TI 专家:

我测试了"fsi_loopback_polling_am263x-cc_r5fss0-0_nortos_ti-arm-clang"示例。

(MCU+SDK 版本:10.1.0.31)

-

syscfg 中的 MPU 设置

使用的存储器范围似乎不适用于 AM263x。

这不是一个重要的问题。

-

2.固定了有效数据字的大小

在示例中、它表示

/*配置帧-可介于1-16U */之间
#define FSI_APP_FRAME_DATA_WORD_SIZE (16U)

但是、当我降低该值时、TX 和 RX 数据之间发生了不匹配。

原因是 RX 模块的缓冲区指针错误。

在接收 RX 数据之前或之后、需要执行该操作。

STATUS = FSI_setRxBufferPtr (rxBaseAddr、0U);

-

3.在 TX 和 RX 的初始化中复制了复位

在函数"FSI_appTxConfig"中、

/* TX 初始化和复位*/
状态= FSI_performTxInitialization (txBaseAddr、FSI_APP_TX_PRESCALER_VAL);
STATUS += FSI_resetTxModule (txBaseAddr、FSI_TX_MAIN_CORE_RESET);
FSI_clearTxModuleReset (txBaseAddr、FSI_TX_MAIN_CORE_RESET);

当我检查"FSI_performTxInitialization"内部的代码时、发现了相同的复位过程(第二句和第三句)。

我想知道为什么该初始化会再次运行复位。

它在 函数"FSI_appRxConfig"中是相同的、

/* RX INIT 和 RESET */
状态= FSI_performRxInitialization (rxBaseAddr);
STATUS += FSI_resetRxModule (rxBaseAddr、FSI_RX_MAIN_CORE_RESET);
FSI_clearRxModuleReset (rxBaseAddr、FSI_RX_MAIN_CORE_RESET);

"FSI_performRXInitialization"包含相同的复位过程。

是否有理由再次进行复位?

-

此致、

Jeeuk

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

    嗨、Jeeuk、

    感谢您对这些问题的深入了解。 我将对其进行调查、并向另一位软件专家循环获取更多反馈。 请在星期三(1/15/24)之前给我们以审查并提供答复。

    此致、

    Zackary Fleenor

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

    尊敬的 Jeeuk:
    我已收到您的问题、请给我一些时间来查看驱动程序并与您联系。  


    此致、
    Aswathi

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

    尊敬的 Jeeuk:

    修复了以下问题、但仍需要合并 PR。

    2.固定有效数据字大小:

     -我在示例的每个循环中都添加了"FSI_setRxBufferPtr (rxBaseAddr、0U);"、以将循环缓冲区中所需的 RxBuffer 指针设置为0。

    我已经更改了轮询和中断模式、还需要更改 DMA 模式。

    3.在 TX 和 RX 的初始化中复制了复位

     - 我已经删除了已在"FSI_performTx (Rx)初始化"API 中定义的以下 API "FSI_resetTx (Rx)模块"和"FSI_clearTx (Rx) ModuleReset"。

    此致、

    Anil

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

    尊敬的 TI 专家:

    感谢您检查我提出的问题。

    此致、

    Jeeuk