一种RTX实时系统下事件通知机制的实现方法技术方案

技术编号:38225200 阅读:33 留言:0更新日期:2023-07-25 17:56
本发明专利技术公开一种RTX实时系统下事件通知机制的实现方法,该方法包括,利用RTX的API对VxWorks软件的事件通知功能进行封装,在不改变原软件代码调用形式和软件运行逻辑流程的情况下,基于RTX+Windows环境实现事件通知应有的功能,且移植后的软件运行逻辑正确、实时性良好。本发明专利技术保证了该事件通知在等待和发送时的实时性要求,进而保证原软件运行时实时性不受影响,实现了VxWorks下事件通知应有的逻辑,实现多核、多线程应用程序,以及内部逻辑包含有多个事件通知进行任务的同步。含有多个事件通知进行任务的同步。含有多个事件通知进行任务的同步。

【技术实现步骤摘要】
一种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所述的方法,其特征在于,所述判断是否注册过事件实体进一步包括若该消息注册过消息队列事件,则需要发送消息队列的同时发送...

【专利技术属性】
技术研发人员:段雨昕陈秋瑞慈岩马榕夏南朱双琳
申请(专利权)人:北京仿真中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1