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.
工具与软件:
尊敬的 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