单片机系统中的多任务多线程机制的实现

单片机系统中的多任务多线程机制的实现

ID:24416885

大小:50.50 KB

页数:3页

时间:2018-11-14

单片机系统中的多任务多线程机制的实现_第1页
单片机系统中的多任务多线程机制的实现_第2页
单片机系统中的多任务多线程机制的实现_第3页
资源描述:

《单片机系统中的多任务多线程机制的实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、单片机系统中的多任务多线程机制的实现

2、第1...关键词:单片机任务线程并行处理引言首先要指出的是一点是,我们不是讨论嵌入式实时多任务操作系统(RTOS)的设计。我们讨论的是,在不使用RTOS的控制系统中,如何体现多任务多线程机制的程序设计思想。一些嵌入式设备可以需要操作系统,例如掌上电脑、PDA、网络控制器等高性能的手持设备和移动设备。它们往往和无线通信、互联网访问和多媒体处理等复杂而强大的功能联系在一起;对CPU要求也很高,往往是以通用CPU为原型的各种高端嵌入式处理器。作为一个完整的操作系统,RTOS有一个可靠性很高的实时内核,将CPU

3、时间、中断、I/O、定时器等资源都包括起来,留给用户一个标准的应用程序接口(API);根据各个任务的优先级,合理地在不同任务之间分配CPU的时间,保证程序执行的实时性、可靠性。内核一般都能提供任务调度和中断服务等功能,部分高档商业化产品,如PEnv[env1][]中,每个变量由三项组成,env1是二维下标参数*/voidgetadd(unsignedcharenv1){unsignedchartemp;temp=SP;JMPEnv[env1][0]=(*((unsignedcharidata*)SP));temp--;JMPEnv[env1

4、][1]=(*((unsignedcharidata*)temp));JMPEnv[env1][2]=SP-2;}/*置中断返回的任意跳转地址*/voidputadd(unsignedcharenv1)reentrant{unsignedchartemp[15];chari;/*下面保存进入中断程序时的压栈值*/for(i=0,i<15;i++){temp[i]=(*((unsignedcharidata*)SP));SP--;}/*放置新地址*/SP=JMPEnv[env1][2];SP++;(*((unsignedcharidat

5、a*)SP)=JMPEnv[env1][1];SP++;(*((unsignedcharidata*)SP))=JMPEnv[env1][0];/*恢复中断开始时的那些压栈值*/for(i=14;i>=0;i--){SP++;(*((unsignedcharidata*)SP))=temp[i];}}结语限于篇幅,不可能详述任务、线程和标识的细节,仅提出一种单片机等嵌入式控制系统对多任务进行实时处理的一种思想;借鉴于主流操作系统中的多任务和多线程机制。实践证明,这种想法是行之有效的,并且取得了很好的效果。虽然我们研制的系统是对多个相同

6、的任务进行并行处理,但该种设计方法应该可以推广到多种不同性质的实时任务的并行处理当中去。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。