【技术实现步骤摘要】
一种RTX实时系统下事件通知机制的实现方法
[0001]本专利技术涉及计算机
更具体地,涉及一种RTX实时系统下事件通知机制的实现方法。
技术介绍
[0002]软件移植技术在跨操作系统或使用环境时应用非常广泛,可以在原有应用程序不做改动或者只做较少改动的情况下适配到新的平台环境,大大减少不必要的二次开发工作量。
[0003]现有技术中从VxWorks软件向RTX系统移植的技术方案已经有所应用,利用中间件形式重新利用RTX系统的用户API封装了部分VxWorks系统的API,实现了基于RTX系统完成了部分VxWorks软件功能函数的移植适配,其中包括消息队列、互斥信号量、计数信号量、二值信号量等。但是同时也使用了部分功能,例如事件通知(消息队列事件、信号量事件)功能,针对该类功能RTX并未提供直接可用的API,该功能允许被注册了事件的消息队列或者信号量在发送消息或者触发信号量后同时以事件机制通知接收方响应,由此可以由单个或多个事件通知灵活的组合控制程序任务的执行。
[0004]因此,需要提供一种RTX实 ...
【技术保护点】
【技术特征摘要】
1.一种RTX实时系统下事件通知机制的实现方法,其特征在于,该方法包括,利用RTX的API对VxWorks软件的事件通知功能进行封装,所述事件包括消息队列事件和信号量事件;对当前任务进行注册,在当前任务队列属性数组中标记该事件注册并记录线程,完成后函数正常返回;事件接收时判断是否注册过事件实体,首次调用时创建事件实体之后,记录所有调用等待的事件,同时开始等待所有注册事件的发生;当消息队列发送消息时,若该消息注册过消息队列事件,则需要发送消息队列的同时发送事件,查找对应的时间数组位,标记该事件已发送同时进行事件通知;当信号量释放发送消息时,若该消息注册过信号量事件,则需要释放信号量的同时发送事件,查找对应的时间数组位,标记该事件已发送同时进行事件通知;当等待获取事件通知时,同时完成对传入可选参数的判断,对等待事件通知进行判断:若为等待一个事件通知,若事件发生,则标记该事件等待数组的该事件位数值,重置事件等待数组该数值位,同时重置已发生的事件实体;若为等待所有事件通知,若所有等待的事件均已发生,则标记该事件等待数组的所有事件位数值,标记后重置事件等待数组所有位,同时重置所有发生的事件实体。2.根据权利要求1所述的方法,其特征在于,所述对当前任务进行消息队列事件或信号量事件的注册进一步包括使用msgQEvStart()函数注册消息队列事件,使用semEvStart()函数注册信号量事件。3.根据权利要求1所述的方法,其特征在于,所述判断是否注册过事件实体进一步包括若该消息注册过消息队列事件,则需要发送消息队列的同时发送...
【专利技术属性】
技术研发人员:段雨昕,陈秋瑞,慈岩,马榕,夏南,朱双琳,
申请(专利权)人:北京仿真中心,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。