资料介绍
分享到:标签:软总线 嵌入式软件 实时多任务
1.引言
随着大型嵌入式系统向着集成化和多元化方向的发展,嵌入式软件系统的复杂度也日益增大。在集成多个硬件工作模块组成的复杂系统中,要求软件系统能同时测控多个模块的同步工作,软件设计要求做到实时多任务。针对软件设计的要求,采用基于实时多任务操作系统提供的底层任务调度机制,建立软件架构成为较好的选择。本文提出了基于实时多任务操作系统,建立软件架构时采用软总线提供数据驱动层的架构模式。针对实时多任务操作系统,分析任务调度与数据驱动层。针对资源共享与任务进程独立性等问题,提出软总线在共享数据维护上的优势。
2.任务调度、共享资源与软总线结构研究
2.1 嵌入式开发任务调度和资源共享
目前主要的实时多任务操作系统(VxWorks,嵌入式Linux,WinCE)的任务调度均采用对于不同优先级抢占式调度,对同优先级采用时间片轮转调度的方法。为使低优先级任务能得到运行,软件需要能阻塞高优先级任务,同时也要能使被阻塞的任务重新就绪运行。操作系统对进程间通信资源的操作能产生这样的效果,所以在架构软件时,常借助进程间通信资源的使用。然而采用这样的方式,调度灵活性较差,同时低优先级任务对进程间通信资源的占用也始终处于劣势。任务进程较多复杂软件系统中,无法避免的会出现多进程共用资源的情况,事实上进程通信资源也是一种多进程共用的资源。进程可以对自身资源进行管理,但对于这些共享的资源,就无法只由共享者中的某一个进行管理。而这个管理却是必要的,否则进程内部的意外可能通过这些资源蔓延到其他进程,如:进程内部意外的对资源地址赋空,就会使其他共享该资源的进程在使用该资源时崩溃。这就要求在系统设计时,有独立于各个进程之外的总体的对资源管理的模块。
2.2 软总线结构
在此,本文提出软总线结构来架构复杂的软件系统,以解决任务调度和资源管理上的困难。软总线是封装了操作系统对于进程间通信资源,共享内存等有多个进程共同使用的资源操作的模块。该模块为任务进程模块提供标准的资源申请、使用及回收接口,任务进程使用该接口及协议的标识进行资源的共享。
首先,软总线封装了各种进程可能共享的资源,独立于进程之外对资源进行管理,使共享资源对于任务进程透明,任务进程无法直接操作资源。这样的处理方式使得资源本身不能被任务进程修改或破坏。任务进程获取的数据,实际是总线上数据的副本,而所有关于总线上数据的更新都需要总线模块的认证,以避免出错。总线模块在操作系统底层调用的基础上,通过封装资源、提供接口,构建了一个数据驱动层。同时,由于软总线的封装,使得在构建软件系统时,对进程的调度需要通过软总线来实施。如果在总线模块处加载系统的调度策略,可以更灵活有效地对每个资源进行任务的调度。使得一方面降低了在开发初期为任务进程设置合理优先级的难度,一方面也使得不同任务能在不同的资源处能有更为灵活的优先策略。
综合以上两点,以软总线架构底层数据驱动的方式构建实时多任务软件系统,可以有效地保护和管理共享资源并更为简单灵活对系统进行调度。
3.软总线软件架构方案
本设计基于Vxworks操作系统,试验平台包括通信、存储、复接、硬件总线与主控计算机等硬件电路板,及与硬件相对应的软件功能模块。
3.1 软件架构整体方案
本设计中,软总线封装的操作系统对于内存、信号量以及消息队列的创建、删除及使用等操作。上层与硬件功能对应的软件任务模块需要通过软总线进行对资源操作。具体的结构如图1 所示:对于功能模块本地化的资源,不强制要求使用软总线操作。
图1 软总线架构设计框图
3.2 软总线详细设计
对于软总线结构的架构方式,设计关键节点就是软总线模块。该模块负责对操作系统的资源封装和上层功能模块的资源使用请求处理。本设计中,将软总线分成两个主要的部分:资源池和管理表。资源池是软总线模块开辟的内存区域,在内存池上进行系统其他功能模块的共享资源的创建。
1.引言
随着大型嵌入式系统向着集成化和多元化方向的发展,嵌入式软件系统的复杂度也日益增大。在集成多个硬件工作模块组成的复杂系统中,要求软件系统能同时测控多个模块的同步工作,软件设计要求做到实时多任务。针对软件设计的要求,采用基于实时多任务操作系统提供的底层任务调度机制,建立软件架构成为较好的选择。本文提出了基于实时多任务操作系统,建立软件架构时采用软总线提供数据驱动层的架构模式。针对实时多任务操作系统,分析任务调度与数据驱动层。针对资源共享与任务进程独立性等问题,提出软总线在共享数据维护上的优势。
2.任务调度、共享资源与软总线结构研究
2.1 嵌入式开发任务调度和资源共享
目前主要的实时多任务操作系统(VxWorks,嵌入式Linux,WinCE)的任务调度均采用对于不同优先级抢占式调度,对同优先级采用时间片轮转调度的方法。为使低优先级任务能得到运行,软件需要能阻塞高优先级任务,同时也要能使被阻塞的任务重新就绪运行。操作系统对进程间通信资源的操作能产生这样的效果,所以在架构软件时,常借助进程间通信资源的使用。然而采用这样的方式,调度灵活性较差,同时低优先级任务对进程间通信资源的占用也始终处于劣势。任务进程较多复杂软件系统中,无法避免的会出现多进程共用资源的情况,事实上进程通信资源也是一种多进程共用的资源。进程可以对自身资源进行管理,但对于这些共享的资源,就无法只由共享者中的某一个进行管理。而这个管理却是必要的,否则进程内部的意外可能通过这些资源蔓延到其他进程,如:进程内部意外的对资源地址赋空,就会使其他共享该资源的进程在使用该资源时崩溃。这就要求在系统设计时,有独立于各个进程之外的总体的对资源管理的模块。
2.2 软总线结构
在此,本文提出软总线结构来架构复杂的软件系统,以解决任务调度和资源管理上的困难。软总线是封装了操作系统对于进程间通信资源,共享内存等有多个进程共同使用的资源操作的模块。该模块为任务进程模块提供标准的资源申请、使用及回收接口,任务进程使用该接口及协议的标识进行资源的共享。
首先,软总线封装了各种进程可能共享的资源,独立于进程之外对资源进行管理,使共享资源对于任务进程透明,任务进程无法直接操作资源。这样的处理方式使得资源本身不能被任务进程修改或破坏。任务进程获取的数据,实际是总线上数据的副本,而所有关于总线上数据的更新都需要总线模块的认证,以避免出错。总线模块在操作系统底层调用的基础上,通过封装资源、提供接口,构建了一个数据驱动层。同时,由于软总线的封装,使得在构建软件系统时,对进程的调度需要通过软总线来实施。如果在总线模块处加载系统的调度策略,可以更灵活有效地对每个资源进行任务的调度。使得一方面降低了在开发初期为任务进程设置合理优先级的难度,一方面也使得不同任务能在不同的资源处能有更为灵活的优先策略。
综合以上两点,以软总线架构底层数据驱动的方式构建实时多任务软件系统,可以有效地保护和管理共享资源并更为简单灵活对系统进行调度。
3.软总线软件架构方案
本设计基于Vxworks操作系统,试验平台包括通信、存储、复接、硬件总线与主控计算机等硬件电路板,及与硬件相对应的软件功能模块。
3.1 软件架构整体方案
本设计中,软总线封装的操作系统对于内存、信号量以及消息队列的创建、删除及使用等操作。上层与硬件功能对应的软件任务模块需要通过软总线进行对资源操作。具体的结构如图1 所示:对于功能模块本地化的资源,不强制要求使用软总线操作。
图1 软总线架构设计框图
3.2 软总线详细设计
对于软总线结构的架构方式,设计关键节点就是软总线模块。该模块负责对操作系统的资源封装和上层功能模块的资源使用请求处理。本设计中,将软总线分成两个主要的部分:资源池和管理表。资源池是软总线模块开辟的内存区域,在内存池上进行系统其他功能模块的共享资源的创建。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 视频教程-嵌入式Linux多任务编程-嵌入式
- 嵌入式系软件架构
- 一种实时嵌入式多任务微内核的分析与改进
- 基于Python的实时嵌入式软件测试脚本总结
- 嵌入式操作系统多任务空间复用算法 4次下载
- 嵌入式Forth虚拟机架构的多任务调度算法设计与实现 0次下载
- 嵌入式多任务GUI的通用解决方案 24次下载
- 基于CodeTEST的嵌入式软件测试威廉希尔官方网站
- 基于VxWorks的实时多任务软件设计
- 嵌入式实时多任务操作系统培训教材
- 嵌入式实时多任务软件开发基础 0次下载
- 嵌入式实时多任务软件的软总线结构设计
- 通过任务分割提高嵌入式系统的实时性
- 基于VxWorks的实时多任务软件设计
- 基于任务链的实时多任务软件可靠性建模
- 嵌入式软件实时性分析及增强概述 1450次阅读
- 嵌入式软件最常见的架构模式 2299次阅读
- 详解FreeRTOS:嵌入式软件系统架构 2244次阅读
- 嵌入式软件架构设计之任务调度 1994次阅读
- 嵌入式系统的软件架构设计 4063次阅读
- 基于M16C62单片机实现实时多任务系统的设计方案 982次阅读
- 基于时间触发多任务调度器的嵌入式系统设计与应用 1958次阅读
- 基于嵌入式软件的JNI威廉希尔官方网站 应用解析 1020次阅读
- 基于多任务信息流的CAN总线驱动设计 1063次阅读
- 嵌入式操作系统它有什么特点 2378次阅读
- 基于嵌入式实时系统的提高构件化嵌入式操作系统性能的方案设计 780次阅读
- 对于嵌入式没有嵌入式软件架构师的详细解析 4055次阅读
- 基于STM32的嵌入式测控系统设计与实现 8368次阅读
- 基于FreeRTOS的嵌入式实时操作系统的原理和实现 6562次阅读
- 基于高档数控系统的实时多任务实现 1294次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多