主题中讨论的其他器件:AM2434
我使用您的新 SDK MCU_PLUS_SDK_am243x_08_04_00_17、我正在 AM2434上测试 HSR/PRP
我发现 hsrPrphandle->nodesTableSemaphore (在 hsrPrp_red.c 中)导致了死锁。
信号量在函数 RedNodeableSearchOp 和 RedNodeableRefresh (在 hsrPrp_red_nodeTable.c 中)中使用、以防止并发线程访问。
在 hsrPrp_red.c 中 、nodesTableSemaphore 被初始化为0
在 RedNodeRefresh SemaphoreP_POST 中、前面是后续 SemaphoreP_PEND + SemaphoreP_POST 、一切正常。
在 RedNodeSearchOp SemaphoreP_PEND cames 中、首先导致死锁、因为信标值为0。
我修复 了对 hsrPrp_red.c 中的初始化代码的查寻、以便用值1初始化信号量。
我还删除 了 RedNodeableRefresh 中的第一个 SemaphoreP_POST 调用
如果此解决方案可接受、如果您也遇到相同的问题、请提供反馈。
展望未来
Andrea