doc 基于嵌入式操作系统VxWorks的多任务并发程序的设计 ㊣ 精品文档 值得下载

🔯 格式:DOC | ❒ 页数:82 页 | ⭐收藏:0人 | ✔ 可以修改 | @ 版权投诉 | ❤️ 我的浏览 | 上传时间:2022-06-25 17:08

基于嵌入式操作系统VxWorks的多任务并发程序的设计

,程序中的调用将产生个中断,这个函数与特定的密切相关,其原型为为了在同中断源的几种中断服务程序中进行切换,我们应使用如下方式其中,函数的原型为它被用于创建个中断服务程序,在此之后,通过函数我们就可以将创建的结果与中断向量绑定,函数的原型为中断控制中断执行过程硬件中断发生时,代码运行的上下文会发生切换,在进入中断处理前,需要保存当前运行的上下文。对于些无的单片机系统,这些工作由硬件和编译器共同完成,向量表在编译完成后就填充完成,再写入存储器中,系统运行时不能修改向量表来重新绑定中断入口函数。在系统中,除了需要保存通常的寄存器环境外,还需要完成栈切换等另外还要求中断入口运行时绑定平台移植性中断嵌套等,所以本身也参与中断封装的管理。进行中断封装的伪代码如下通知内核保存寄存器传中断入口参数调用中断处理函数,恢复寄存器通过内核退出中断使能禁止提供两个重要使中断禁止开中断可以用提供最高级别的互斥机制以保护临界区域不被打断,例如写寄存器用禁止中断后,当前执行的任务将直继续,中断处理和任务调度得不到执行,直到该任务主动调用解锁中断为止。对于和的使用,我们要注意如下几点不要在中断禁止期间调用系统函数,否则有可能意外使能中断,违反临界代码的设计意图。另外,也不能屏蔽调度,如果在中断禁止代码区使用系统调用,就可能出现任务调度,其他任务的运行可能会解锁中断中断禁止对系统的实时性有很大的影响,在解决执行代码和中断处理互斥问题才可使用,并且应使中断禁止时间尽可能的短。对于任务间的互斥问题,可以使用和来解决有些中断是分级,我们可以用和来操作中断闭锁的级别。缺省情况下,禁止所有等级的中断。至此,我们可以对互斥问题进行个系统的总结,主要有如下几种方法禁止中断解决任务和之间的互斥问题禁止优先级抢占调度当当前任务正在运行时,除了中断服务程序外,高优先级的任务也不允许抢占二进制信号量或互斥信号量。,总的来说,在实时系统中采取禁止中断的方法会影响系统对外部中断及时响应和处理的能力而禁止优先级抢占调度方法阻止了高优先级的任务抢先运行,在实时系统中也是不适合的。因此,信号量无疑是解决互斥问题的最好方法。嵌入式系统基于嵌入式操作系统的多任务并发程序设计中断与任务基于嵌入式操作系统的多任务并发程序设计综合实例月,宋宝华基于嵌入式操作系统的多任务并发程序设计综合实例作者宋宝华这次连载我们将给出个综合的实例,系统地用到连载中所学的知识。系统描述假设我们面对这样的个通信控制系统,它由三大部分组成运行于机操作系统上的人机界面程序运行于结构通用处理器上的操作系统和运行于数字信号处理处理器上的波形处理软件。处理器和都存在于目标电路板上,是个典型的嵌入式系统硬件平台。在的人机界面上我们可以编辑些信息,经过协议栈传递给操作系统,再控制将这些信息经过数字调制之后发送出去。与通过共享内存硬件意义上的同片内存,即同存储芯片的相同存储空间通信。系统整体框架如下图上述框架来源于个真实的开发项目,限于技术保密的原因,笔者不能透露其细节。但是从上述简单描述中,我们应该大概已知道该系统的功能。其实,这样的系统非常常见,是种较通用的软硬件架构方式。任务控制与调度整个上的波形控制模块需要运行如下几个并发的用户任务当然,在任务启动之前,也需要进行其所调用的初始化,其代码如下中断系统中包含个辅助定时器,在定时器中断处理函数中释放个二进制信号量,下面是与定时器相关函数的源代码定时器中断处理函数设置定时器至此,我们就完成了本系列文章所有内容的讲解。文中的在所难免,欢迎您联系作者指正或讨论问题。您还可以在笔者的博客上获得本系列文章并参与讨论,地址为。附本系列文章相关参考资料操作系统指南,下载地址美大学网址实验课程资料,下载地址,获取途径在线帮助介绍及编程,下载地址嵌入式论坛精华版,下载地址嵌入式系统与之间的数据传递发送数据到从接收数据与之间的通信控制硬件查询方式查询是否有数据向传送查询是否向及上层请求报文与的数据传递通过基于协议向上传报文接收来自的通过基于协议下传的报文。根据任务的紧要程度,运行于相同的较高优先级,而查询任务运行于相同的较低优先级。查询任务主要运行个的无限循环,占据开销很大,我们适宜让它们运行在四任务被阻塞的情况之下。鉴于此,系统采用了优先级抢占和时间片轮转调度相结合的方式。下面给出了启动这些任务的代码向发送数据任务,从接收数据任务,从接收数据任务,向发送数据任务,查询是否向发送报文任务,查询是否向发送报文请求任务,任务间通信任务之间的通信主要使用了的消息队列,与以二进制信号量进行同步。在发送信息时,通告收到信息后,将该信息以消息队列的方式发送给任务,任务具体完成将数据放入特定的存储空间。任务之间的通信及与上下层交互的方式如下图该图给出了信息从上到下传递的情况在发送完部分信息报文后,可能请求上层继续发送信息,流动的方式如下图任务首先通过查询共享内存得知需要信息,它组织个请求报文,通过消息队列向发送消息消息内容为这个请求报文,再通过向上传这个请求,其后进入发送信息的过程。在接收信息时,任务获悉传递数据给后,发送二进制信号量给任务,任务获得接收到的信息并组织报文发送消息给任务,任务通过将信息报文发送给。这些任务之间的通信及与上下层交互的方式如下图所示该图给出了信息从下到上传递的情况下面给出各个任务的源代码框架任务任务任务,任务,任务,在任务启动之前,应该先进行其使用到的的初始化,这个用于接收来自的报文。为了补充连载中通信例子的遗憾,我们在此详细给出该数据报初始化的源代码监听端口,任务

下一篇
基于嵌入式操作系统VxWorks的多任务并发程序的设计第1页
1 页 / 共 82
基于嵌入式操作系统VxWorks的多任务并发程序的设计第2页
2 页 / 共 82
基于嵌入式操作系统VxWorks的多任务并发程序的设计第3页
3 页 / 共 82
基于嵌入式操作系统VxWorks的多任务并发程序的设计第4页
4 页 / 共 82
基于嵌入式操作系统VxWorks的多任务并发程序的设计第5页
5 页 / 共 82
基于嵌入式操作系统VxWorks的多任务并发程序的设计第6页
6 页 / 共 82
基于嵌入式操作系统VxWorks的多任务并发程序的设计第7页
7 页 / 共 82
基于嵌入式操作系统VxWorks的多任务并发程序的设计第8页
8 页 / 共 82
基于嵌入式操作系统VxWorks的多任务并发程序的设计第9页
9 页 / 共 82
基于嵌入式操作系统VxWorks的多任务并发程序的设计第10页
10 页 / 共 82
基于嵌入式操作系统VxWorks的多任务并发程序的设计第11页
11 页 / 共 82
基于嵌入式操作系统VxWorks的多任务并发程序的设计第12页
12 页 / 共 82
基于嵌入式操作系统VxWorks的多任务并发程序的设计第13页
13 页 / 共 82
基于嵌入式操作系统VxWorks的多任务并发程序的设计第14页
14 页 / 共 82
基于嵌入式操作系统VxWorks的多任务并发程序的设计第15页
15 页 / 共 82
温馨提示

1、该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读。

2、有的文档阅读时显示本站(www.woc88.com)水印的,下载后是没有本站水印的(仅在线阅读显示),请放心下载。

3、除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑、修改、打印。

4、有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载。

5、该文档为会员上传,下载所得收益全部归上传者所有,若您对文档版权有异议,可联系客服认领,既往收入全部归您。

  • 文档助手,定制查找
    精品 全部 DOC PPT RAR
换一批