本发明涉及嵌入式,尤其涉及一种嵌入式系统任务处理方法及装置。
背景技术:
1、目前,嵌入式系统处理并发的多个任务主要可以通过两种方式实现。一种方式是引入操作系统,例如freertos或ucos等,将每个任务划分为独立的任务线程,并通过操作系统调度任务线程,实现对并发的多个任务的处理。另一种是通过大循环的方式,例如最外层的while循环等,对并发的多个任务进行处理。
2、引入操作系统的方式,不适用于内存较小(例如内存容量为16k)的嵌入式系统,适用范围受限,并且操作系统对任务频繁进行调度,任务处理效率较低,数据处理的实时性较差。大循环的方式,数据同步操作和任务的切换频繁,任务处理效率较低,数据处理的实时性较差。
3、综上,现有技术存在任务处理效率较低,数据处理的实时性较差等不足。
技术实现思路
1、本发明提供一种嵌入式系统任务处理方法及装置,用以解决现有技术中任务处理效率较低的缺陷,实现高效地处理并发的多个任务。
2、本发明提供一种嵌入式系统任务处理,包括:
3、在任务队列中存在任务的情况下,获取所述任务队列中的各任务;
4、基于所述各任务在所述任务队列中的顺序,依次执行所述各任务;
5、其中,所述任务在所述任务队列中的顺序,是基于所述任务的优先级确定的;所述任务是由定时器中断、io中断或内部逻辑产生的。
6、根据本发明提供的一种嵌入式系统任务处理方法,所述在任务队列中存在任务的情况下,获取所述任务队列中的各任务之前,还包括:
7、在有任务产生的情况下,将产生的所述任务添加至所述任务队列中。
8、根据本发明提供的一种嵌入式系统任务处理方法,所述将产生的所述任务添加至所述任务队列中,包括:
9、基于产生所述任务的来源,确定所述任务的优先级;
10、基于所述任务的优先级,确定所述任务在所述任务队列中的位置;
11、基于所述任务在所述任务队列中的位置,将所述任务保存于所述任务队列中。
12、根据本发明提供的一种嵌入式系统任务处理方法,所述基于所述任务在所述任务队列中的位置,将所述任务保存于所述任务队列中,包括:
13、基于所述任务在所述任务队列中的位置,将所述任务对应的执行函数保存于所述任务队列中。
14、根据本发明提供的一种嵌入式系统任务处理方法,所述方法还包括:
15、在所述任务队列中不存在任务且目标芯片的状态为唤醒状态的情况下,将所述目标芯片的状态切换为休眠状态;所述目标芯片,用于执行所述任务。
16、根据本发明提供的一种嵌入式系统任务处理方法,在任务队列中存在任务的情况下,获取所述任务队列中的各任务,与所述基于所述各任务在所述任务队列中的顺序,依次执行所述各任务之间,还包括:
17、在所述目标芯片的状态为休眠状态的情况下,将所述目标芯片的状态切换为唤醒状态。
18、根据本发明提供的一种嵌入式系统任务处理方法,所述在任务队列中存在任务的情况下,获取所述任务队列中的各任务之前,还包括:
19、基于预设的时间间隔,查询所述任务队列。
20、本发明还提供一种嵌入式系统任务处理装置,包括:
21、获取模块,用于在任务队列中存在任务的情况下,获取所述任务队列中的各任务;
22、执行模块,用于基于所述各任务在所述任务队列中的顺序,依次执行所述各任务;
23、其中,所述任务在所述任务队列中的顺序,是基于所述任务的优先级确定的;所述任务是由定时器中断、io中断或内部逻辑产生的。
24、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述嵌入式系统任务处理方法的步骤。
25、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述嵌入式系统任务处理方法的步骤。
26、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述嵌入式系统任务处理方法的步骤。
27、本发明提供的嵌入式系统任务处理方法及装置,基于各任务在任务队列中的顺序,依次执行各任务,采用串行方式执行,能直接避免共享数据的同步操作,无任务间数据同步操作,效率更高。并且,在多任务同时并发额情况下,嵌入式系统的中断会十分拥挤,若不能及时完成中断操作,会出现中断溢出情况,采用本发明实施例提供的方法,能快速将中断任务缓存到任务队列中,确保中断不会溢出,在中断中占用时钟时间极小,能大大提升外设并发性能。
1.一种嵌入式系统任务处理方法,其特征在于,包括:
2.根据权利要求1所述的嵌入式系统任务处理方法,其特征在于,所述在任务队列中存在任务的情况下,获取所述任务队列中的各任务之前,还包括:
3.根据权利要求2所述的嵌入式系统任务处理方法,其特征在于,所述将产生的所述任务添加至所述任务队列中,包括:
4.根据权利要求3所述的嵌入式系统任务处理方法,其特征在于,所述基于所述任务在所述任务队列中的位置,将所述任务保存于所述任务队列中,包括:
5.根据权利要求1所述的嵌入式系统任务处理方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的嵌入式系统任务处理方法,其特征在于,在任务队列中存在任务的情况下,获取所述任务队列中的各任务,与所述基于所述各任务在所述任务队列中的顺序,依次执行所述各任务之间,还包括:
7.根据权利要求1至6任一项所述的嵌入式系统任务处理方法,其特征在于,所述在任务队列中存在任务的情况下,获取所述任务队列中的各任务之前,还包括:
8.一种嵌入式系统任务处理装置,其特征在于,包括:
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述嵌入式系统任务处理方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述嵌入式系统任务处理方法的步骤。