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.
我使用您的新 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
尊敬的 Andrea:
让我在我的结尾重复这个问题、然后再继续讨论。
此致
Nilabh A.
尊敬的 Andrea:
已确定此问题。 8.5 SDK 版本中将提供针对此问题的修复程序。
BR
Nilabh A.
谢谢你 Nilabh。
我们是否可以预览解决方案,或者至少知道我所做的修复是否可以接受?
展望未来
Andrea
尊敬的 Andrea:
让我从软件团队那里获取信息
BR
Nilabh A.