基于事件优先级的嵌入式系统事件驱动框架的研究与设计

来源 :吉林大学 | 被引量 : 0次 | 上传用户:kaigg
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
由于体积、功耗、成本等方面的因素,嵌入式系统不能使用一些性能优异的设备,通常嵌入式系统的处理器的运算能力有限,存储器的容量也偏小,嵌入式面对的应用场景有资源受限和实时性高两大特点。随着实际应用变得越来越复杂,在裸机上直接开发程序变得不再适用,嵌入式操作系统由于它的高效性而慢慢成为了解决这一问题的有效方法。传统的顺序型编程方式是困难的,会带来处理多个任务时引起的多线程之间的数据互斥和共享的问题,并且在等待当前事件时,就不能对其它事件起反应,陷入忙等待状态。事件驱动编程模型可以有效的解决这种问题。本文针对事件驱动编程范式,提出了快速的层次状态机的实现方法,并且提供了状态机运行所需的上下文和事件队列,基于事件优先级的事件驱动框架。本文分别研究了传统的嵌入式实时多任务操作系统μC/OS-II和基于状态机,事件驱动型的软件框架QP,并对比分析了这两种基于截然不同编程理念的系统之间的区别。事件驱动型系统中的任务是运行到完成的,不需要任务间的切换时上下文的保存与恢复,提高了响应速度,并且只需要一个堆栈,减少了RAM的消耗,从理论上确定了事件驱动编程的优势。状态机是众所周知的实现对事件做出实时响应的事件驱动型系统的方法。在以事件的最快响应速度为前提的基础上,提出了快速的层次状态机的实现方法,状态直接表示成状态处理函数,同时将状态切换过程硬编码到状态处理函数中,适用于实时性高,状态拓扑简单的情况。本文提供的事件驱动框架具有控制反转、单堆栈、基于事件优先级等特点。调度策略参考传统操作系统对中断的处理流程,事件(中断)具备优先级而任务(中断处理程序)不具备优先级的概念。内部的核心数据结构有:事件控制块类HEP_ECB,事件池类HEP_Evt Pool,事件帮助类HEP_ECBHelper,事件池帮助类HEP_Evt Pool Helper,状态机基类HEP_AO。事件的调度借鉴μC/OS-II操作系统,实现了O(1)时间复杂度查完成最高优先级事件的查找。最后,本文开发了一个基于本框架的事件驱动应用程序,在Arduino上搭建了一个的服务器,用户可以在网页端控制与Arduino相连的设备。验证了框架的可行性。
其他文献
表扬与批评是班级管理的"双刃剑",在新课程改革理念的指导下,正确把握表扬与批评的艺术有助于提高班级管理水平。因此,我们应把握好表扬和批评的切入点,挖掘表扬与批评的教育
围绕国内四个发达省份的科技投入规模和结构,分析这些发达省份科技投入方面的基本现状,并指出:随着发达省份逐步进入工业化后阶段,增强财政科技投入的引导作用、鼓励企业加大
<正>我们已经实行了整整五年的一天一节的扎扎实实的集体备课,现将高三英语组的具体做法总结如下。我们组全体成员在开学初共同制定了整学期的授课计划,并把它作为我们平时集
讨论了渔业船舶管理信息系统设计与实现中的一些重要细节和关键问题.从构建数据库、配置服务器和代码实现三个方面,分别研究了表的构建、IIS设置、数据绑定控件的操作、以二进
<正>鹿泉市蔬菜种植以温室蔬菜、大棚菜、露地菜3种随季节变化而形成多年种植特色。其中,大棚黄瓜是本市目前种植面积大,且种植较多的品种之一。然而,随着品种的不断变化,农
民族主义是一种具有统领、涵盖、弥漫其他思潮特点的综合性的社会思潮,它蕴藏在每一个现代思潮里。被称为三大思潮的激进主义、保守主义、自由主义,与民族主义就有着密切的互
中美贸易总量已超过世界大部分国家的经济总产值,出现贸易摩擦、争执、交锋甚至贸易战都是正常的,作为石油石化企业,这场中美贸易交锋让我们对国际贸易的延伸含义有了更多了
可编程片上系统(PSoC)是一种新型芯片,它集控制器、数字、模拟常用模块于一身,具有小型化、集成化、高可靠性的特点,适用于电子系统设计与实验教学。设计并开发了一种基于PSo
刘勇认为,老舍及其京味文学包含着丰富的"中国形象"的元素,其一是平民意识与崇高精神的融合;其二是传统国情与现实关怀的融合;其三是敦厚幽默与犀利愤激的融合;其四是民族性
<正>五、中考链接(重点做比较题型,其余题型略)(一)、《醉翁亭记》第二节与《岳阳楼记》第四节。(2010年安徽卷)1.分别概括这两段文字中景物描写的内容。2.依据选文,填写下表