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.
工具与软件:
我正在尝试了解我应该在 IPC 驱动程序 API 命令 RPMessage_recv 和 RPMessage_getRemoteEndPt()中输入超时 值的单位。
这是 J721E 的 PDK API 指南、08.06、请参阅
适用于 J721E 的 PDK API 指南:IPC 驱动程序接头(TI.com)
我想了解在针对 QNX 的这些调用中、我应该将什么设置为超时-导航到位于 psdkqa/08.06.00.07/QNX/docs/user_guide/qnx_sdk_components_j721e.html 和 psdkqa/08.06.00.07/QNX/user_guide/QNX_sdk_Components_j721e.html#ipc-resource-manager 的文档
合适的超时值与 ti.sysbios.KNL.semaphore 模块的值相同。
Timeout[In]超时值(In 系统节拍 )
超时[IN]中等待消息的最大持续时间 微秒 。
当我尝试按照实际代码执行时、两个 API 调用都在 ti/osal 中使用 SemaphoreP。 该语句指出:
*@参数超时超时(in 毫秒 )等待 发布信号量(已发出信号)。
extern SemaphoreP_Status SemaphoreP_PEND (SemaphoreP_handle semPhandle、
uint32_t 超时);
具体的实现似乎使用 系统 刻度 (Nonos)或 毫秒 (FreeRTOS、SAFERTOS)。
您能否解释一下,对于 IPC 驱动程序 在 QNX 上下文中调用 RPMessage_recv 和 RPMessage_getRemoteEndPt()时的超时参数,我应该使用什么单位?
您好!
QNX 环境中的 IPC 驱动器超时单元以微秒为单位。
有关 IPC,请参考--> /psdkqa/pdk /packages/ti/dev/IPC /Mutex/IPC_API.c -查看正在使用的 src ()函数,该函数将"超时"作为参数。
lockMutex()的实现被植入为 IPC_qnxSemWait()函数。 参阅 /psdkqa/pdk /packages/ti/drv/ipc /ipc/ipc_osal_qnx.c src
谢谢。
您好
感谢您的快速响应。 我找到了特定的文件、现在看到在 QNX 上下文中使用了微秒。
未来是否可以更新 IPC API 文档以更显式地说明超时 取决于实现情况。 在我想的那一刻、它具有误导性(例如、对于 RPMessage_getRemoteEndPt、
[in]超时值(以系统节拍为单位) |
)