工具/软件:
您好:
我目前正在 AM5728 平台上运行 TI-RTOS、并且遇到了一个问题、即在触发用于 PCIe 通信的 EDMA 后任务停止执行。
很难确定导致此问题的确切原因、我希望得到任何帮助或指导。
您能告诉我们从哪里开始对这种行为进行故障排除吗?
提前感谢您的支持。
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.
感谢您的答复。
我想分享基于其他测试结果的更新。
我们正在使用 processor_sdk_rtos_am57xx_09_03_00_00、最初在 TI-RTOS 下的 AM5728 上遇到问题、即所有任务进入空闲状态并在 EDMA 触发时停止响应。
PCIe 通信通过包含两个主要任务的状态机进行管理:
-一个任务运行每个 100µs 以检查是否应触发 EDMA 传输以及它是否已完成。 传输完成时、将调用 ISR(中断服务例程)、该例程会设置完成标志。 此标志随后由任务定期检查。
-其他任务每 500 毫秒运行一次以准备新数据并启动下一个 EDMA 传输请求。
另外、为了确保正确的系统初始化、我们添加了一个基于事件的同步机制、以便每个任务在所有其他任务完全准备就绪后再继续。 这并未添加为调试的权变措施、而是为了确保系统在执行主逻辑之前进入明确定义的初始状态。
引入此同步机制后、不再出现问题—EDMA 正常运行、所有任务均按预期运行。
但是、由于此机制并非专门设计用于解决问题、因此我们仍然不确定原始问题的根本原因。
您能否告知在上一个案例中哪些因素可能导致所有任务进入空闲状态、或者建议我们采取任何诊断方法来识别类似问题?