[发明专利]嵌入式实时操作系统中任务间的通信方法及装置有效
申请号: | 201911054938.0 | 申请日: | 2019-10-31 |
公开(公告)号: | CN110825536B | 公开(公告)日: | 2022-08-12 |
发明(设计)人: | 黄晓杰 | 申请(专利权)人: | 深圳移航通信技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/48 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 罗英;刘芳 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 嵌入式 实时 操作系统 任务 通信 方法 装置 | ||
本申请实施例公开了本申请实施例提供的嵌入式实时操作系统中任务间的通信方法及装置,该方法包括:第一任务将请求消息发送至第二任务的消息队列中,请求消息用于请求第二任务完成第一事件;第二任务将请求消息放置到第二任务的执行链表中;第二任务调用执行函数,获得第一事件的执行结果,并将执行结果发送至第一任务的消息队列中。即本申请,针对不同的任务请求,通过将任务请求对应的请求消息的发送、存储、执行等操作采用统一的代码实现,开发人员无需为每个任务请求编写通信代码,进而大大减少了软件开发者的工作量,解决了代码量大,开发周期长的问题。
技术领域
本申请涉及计算机技术领域,尤其涉及一种嵌入式实时操作系统中任务间的通信方法及装置。
背景技术
在嵌入式领域,嵌入式实时操作系统正得到越来越广泛的应用。采用嵌入式实时操作系统(Real Time Operating System,RTOS)可以更合理、更有效地利用CPU的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。而Free RTOS(免费嵌入式实时操作系统)是一个迷你的实时操作系统内核,作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等。
在Free RTOS中,当需要多个任务间通信时,已有的嵌入式实时操作系统中任务间的通信方法,软件开发者需要完成的步骤较多,且其中可能会有许多冗余的步骤及代码,且代码耦合度高,导致开发时间较长,移植性差等问题。
发明内容
本申请实施例提供一种嵌入式实时操作系统中任务间的通信方法及装置。
第一方面,本申请实施例提供一种嵌入式实时操作系统中任务间的通信方法,包括:
第一任务将请求消息发送至第二任务的消息队列中,所述请求消息用于请求所述第二任务完成第一事件;
第二任务从所述消息队列中检测到请求消息后,将所述请求消息放置到所述第二任务的执行链表中;
所述第二任务检测到所述执行链表中的请求消息后,调用执行函数,获得所述第一事件的执行结果,并将所述执行结果发送至所述第一任务的消息队列中。
在第一方面的一种可能的实现方式中,所述请求消息包括执行结果的反馈信息;
若所述执行结果的反馈信息用于指示所述第二任务反馈所述执行结果,则所述方法还包括:所述第二任务向所述第一任务反馈所述执行结果。
在第一方面的一种可能的实现方式中,所述方法还包括:
所述第一任务将回调函数放置至所述第一任务的回调链表中,并为所述回调函数设置标识;
所述第一任务检测到消息队列中存在与所述回调函数的标识匹配的执行结果时,调用所述回调函数,获得所述回调结果。
在第一方面的一种可能的实现方式中,所述第一任务将请求消息发送至第二任务的消息队列中,包括:
所述第一任务采用阻塞式发送方式或非阻塞式发送方式将所述请求消息发送至第二任务的消息队列中。
在第一方面的一种可能的实现方式中,所述方法还包括:
所述第二任务创建多个第二功能,并将每个所述第二功能放置至所述第二任务的功能链表中。
在第一方面的一种可能的实现方式中,所述第一任务将请求消息发送至第二任务的消息队列中之前,所述方法还包括:
所述第一任务检测所述第二任务的功能链表中的各第二功能中是否具有处理第一事件的第一功能;
所述第一任务将请求消息发送至第二任务的消息队列中,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳移航通信技术有限公司,未经深圳移航通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911054938.0/2.html,转载请声明来源钻瓜专利网。