请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:AWR1843BOOST 工具与软件:
我一直在尝试将 rlRfGetTemperatureReport 函数与 MRR 实验集成、如本 线程中所示 。 然而、当使用大量目标对象在现场测试实验室时、实验室经常会崩溃。 如果我增加帧间处理时间、这些崩溃会不太频繁、尽管仍然会发生。 我对调用该 API 的时序要求很好奇。 经过进一步调查、我发现 rlRfGetTemperatureReport 函数使用 rlDriverExecuteGetApi 函数来执行 API、该函数又会调用 rlDriverCmdInvoke。 此 API 尝试 在写入 outMsg 之前锁定 globalMutex。 如果 globalMutex 不可用、它将等待它变为可用。 我的问题是、该等待状态是否也会阻止整个应用程序?
/*如果互斥锁失败、则返回错误代码*/
如果(rl_RET_code_OK!= rl_driverData.clientCtx.osiCb.mutex.rlOsiMutexLock
(&(RL_driverData。 globalMutex )、(rlOsiTime_t) RL_OSI_WAIT_FOREVER )
{
/*如果 MutexLock 返回非零值,则将其视为错误并
将错误代码设置为 RetVal */
retval = RL_RET_CODE_RADAR_OSIF_ERROR;
}
设计
{…
PS-我在没有此 API 调用的情况下现场测试了该实验、但不会崩溃