欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    MCU跑RTOS相比裸机的优势.docx

    • 资源ID:1562380       资源大小:24.48KB        全文页数:12页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    MCU跑RTOS相比裸机的优势.docx

    经常.有读者何关于RTOS的问题,比如:我现在要不要学习RTOS?学习RTOS有什么好处?我的项目要不要蹈RTas?问这些问题,其实归根结底还是对RTOS理解的不够,项目开发的经验还不足等。针对这部分朋友,今天分享几点相关内容:嵌入式系统中,有很多方式实现任务调度,功能有限的小系统中,无限循环足够实现小系统的功能。当软件设计变得庞大且发杂时,开发者应该考虑使用实时操作系统RTOS.下面给大家分享几点RTOS相比裸机的优势:1 .硬实时响应基于优先级抢占的RTOS,根据任务的实时需求,执行优先调度.有严格时序限制的任务可以优先执行,提高应用程序对时间关键事件的晌应,2 .系统性能最大化针对大型的、或杂的嵌入武应用,使用一个事件第动的RToS来替代基于轮谕的超箱环结构,可以生成一个更有效的设计,更小的存储占用,应用可以获得更多的处理器时间。3 .降低反杂度RTOS允许应用划分为一个个小的自主运行的任务.任务执行自己的上下文中,不依腺其它任务或调度器.4 .高峰负或管理RTOS提供了为管理系统高峰活动提供了一个有效的方法.更高的优先级分配给执行峥值负载活动的任务,确保他们在临界时间内访问处理器,在此期间,较低优先级的任务被延迟.工紧密集成的中间件RToS的模块化设计使得它可以很容易的增加中间件.中间件组件以任务和明动的方式增加.他们使用RTOS提供的资源与其它任务通信.基于相应的事件被RTOS询度.6 .更大的开发团队每个任务可以被认为是一个项目。通过RTOS提供的资源(队列、信号道等)来定义输入输出.将系统定义为一个个的任务,可以更容易的部署更多开发人员到一个项目.7 .易于调试和验证系统划分为功能明确的任务,不依赖其它任务。在整个系统失成之前,可以很容易的调试和验证每个任务.8 .代码Ift用RToS系统中的模块化设计,鼓励将软件功能创建为独立的、聆证过的任务,其独立性使用在其它设计中用用这些模块变得很简单.现在ZCU资源相比以前更多了,很多场景都适合跑RToS,当然,也有少部分场景跑裸机就够了。为了让更多小伙伴明白裸机和RTOS,我们再来分享一下裸机系统和RToS多线程系统的原理.逻辑系统裸机系统通常分成轮询系统和前后台系统。U轮询系统轮询系统即是在裸机编程的时候,先初始化好相关的硬件,然后让主程序在一个死循环里面不断循M.顺序地做各种事情,大概的伪代码具体如代码清单所示:intmain(void)/*硬件相关初始化*/HardBare1.nitO:/*无限循环*/for(;:)(/*处理事情1»/DoSoinething1.():/*处理事情2/DoSoincthingg2();/处理事情3*/DoSomethinggSO:)轮询系统是一种非常简单的软件结构,通常只适用于那些只需要顽序执行代码F1.不需要外部事件来驱动的就能完成的事情.在代码清单IT中,如果只是实现1.ED晶转,申口输出,液品显示等这些操作,那么使用轮询系统将会非常完美。但是,如果加入了按出操作等需要检测外部信号的事件,用来模拟紧急报警,那么整个系统的实时响应能力就不会那么好了。假设DoSomcthinag3是按键扫描.当外部按裸被按下,相当于一个警报,这个时候,需要立马响应,并做紧急处理,而这个时候程序刚好执行到DOSOmCIhing81,要命的是DOSomethingR1.需要执行的时间比较久,久到按键和放之后都没有执行完毕,那么当执行到DoSomethinggS的时候就会丢失掉一次事件.足见,轮询系统只适合顺序执行的功能代码,当有外部事件骈动时,实时性就会降低。2、前后台系统相比轮询系统,前后台系统是在轮询系统的挺础上加入了中断。外部事件的阴应在中断里面完成.事件的处理还是回到轮训系统中完成,中断在这里我们称为前台,main函数里面的无限筛环我们称为后台,大概的伪代玛见代码清单所示:intf1.ag1.=0;intf1.ag2=0:intf1.ag3=0;intmain(void)/»硬件相关初始化/HardWare1.nitO:/*无限循M'*/if(f1.ag1.)/*处理事情I/DoSomething1.();if(f1.ag2)/*处理事情2*/DoSomcthingRZO:if(f1.ag3)/*处理,情3*/DoSomethingg3():/置位标志位/f1.ag1.=1;/*如果事件处理时间很短,则在中断里面处理如果事件处理时间比较长,在回到后台处理*/DoSomething1.():)voidISR2(void)/置位标志位*/f1.ag2=2:/*如果事件处理时间很短,则在中断里面处理如果事件处理时间比较长,在回到后台处理*/DoSomethingZO:voidISR3(void)/置位标志位*/f1.ag3=1;/*如果事件处理时间很加.,则在中断里面处理如果零件处理时间比较长,在回到后台处理*/DoSomething3();在顺序执行后台程序的时候,如果有中断来临,那么中断会打断后台程序的正常执行流.转而去执行中断服务程序,在中断服务程序里面标记事件,如果事件要处理的事情很简短,则可在中断服务程序里面处理,如果,件要处理的事情比较多,则返回到后台程序里面处理.显然事件的响应和处理是分开了,但是事件的处理还是在后台里面顺序执行的,但相比轮询系统,前后台系统确保了事件不会丢失,再加上中断具有可嵌亮的功能,这可以大大的提高程序的实时响应能力.在大多数的中小型项目中,前后台系统运用的好.堪称有操作系统的效果.多线程系统相比前后台系统,多线程系统的,件响应也是在中断中完成的,但足事件的处理是在线程中完成的.在多线程系统中.线程跟中断一样,也具有优先级,优先级高的线程会被优先执行。当-个紧急的事件在中断被标记之后,如果事件时应的线程的优先级足够高,就会立马得到响应。相比前后台系统,多线程系统的实时性乂被提岛了.多线程系统大概的伪代码具体见代码清单所示:intf1.ag1.=0:intf1.ag2=0:intf1.ag3=0;intmain(void)/*硬件相关初始化*/HardiareInit();/OS初始化*/RTOS1.nitO:/OS启动,开始多线程调度,不再返回/RTOSStartO;/置位标志位/f1.ag1.=1;void1.SR2(voi<1.)/»置位标志位*/f1.ag2=2:void1.SR3(void)/»置位标志位*/f1.ag3=1;voidDoSomething1.(Void)/*无限循环,不能返回*/if(f1.ag!)(voidDoSomething2(void)*无限循W,不能返回/for(:)/线程实体/if(f1.ag2)voidDoSomething3(void)/无限循环,不能返回*/相比前后台系统中后台喉序执行的程序主体,在多线程系统中,根据程序的功能.我们把这个程序主体分割成一个个独立的,无限循环I1.不能返回的小程序,这个小程序我们称之为线程.每个线程都是独立的,互不T扰的,且具备自身的优先级,它由操作系统调度管理.加入操作系统后,我们在痂程的时候不需要精心地去设计程序的执行流,不用担心每个功镇模块之间是否存在干扰.加入了操作系统,我们的编程反而变斛简单了.整个系统随之带来的额外开销就是操作系统占据的那一丁点的Ir1.ASH和RAM.现如今,单片机的F1.ASH和RAM是越来越大,完全足以抵挡RTOS那点开销.轮询、前后台和多线程系统软件模型区别:模型事件响应事件处理特点轮询系统主程序主程序轮询响应事件.轮询处理事件前后分系统中断主程序实时响应事件.轮询处理事件多线程系统中断线程实时响应小件实时处理巾件

    注意事项

    本文(MCU跑RTOS相比裸机的优势.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开