RTP的root task接收kernel mode EVENT的解决方法
2011-01-28 17:42 Jeff 阅读(691) 评论(0) 编辑 收藏 举报
这两天一直被这个问题block.
Vxworks的文档上没有提及Vxworks的RTP的root task如何接收来自kernel mode的event.
这里的root rask是指RTP spwan后自动生成的task.
据说其他有些公司,也是用这个方法workaround的。目前windriver公司表示无奈。
首先搞清楚1个概念: RTP只能看到RTP的PID,不能看到RTP的RTP_ID.
1. 第一步获得PID, 实际就是wind_RTP的一个成员
OBJ_HANDLE PID =rtpHandleIdGet(rtpPtu0ID)2. 把这个PID和RTP_ID作为参数传给objHandleToObjId, 获得OBJ_ID
OBJ_ID = objHandleToObjId(PID,RTP_ID,false)3. Kernel mode把上面得到的OBJ_ID作为Kernel task的task ID发送event
eventSend((int)(OBJ_ID , mask)以上都是伪代码,并且是暂时知道的解决方案。 这个方法没办法解决RTP里其他task怎么接收来自Kernel mode的event的问题。