《嵌入式实时操作系统:RT-Thread设计与实现》 —1.3 嵌入式实时操作系统

举报
华章计算机 发表于 2019/11/24 10:45:33 2019/11/24
【摘要】 本节书摘来自华章计算机《嵌入式实时操作系统:RT-Thread设计与实现》一书中第1章,第1.3.1节,作者是邱祎 熊谱翔 朱天龙 。

1.3 嵌入式实时操作系统

在嵌入式设备中,除嵌入式操作系统之外,还有裸机程序,在主函数中编写一个大循环,循环中是各个任务的功能实现,而所有的任务都是平级顺序执行,下一个任务必须等待上一个任务运行完毕才能开始运行,这个运行着的大循环我们称之为后台程序。中断可以打断系统当前的后台任务优先执行,等中断处理完毕,再回到原先后台被中断处继续执行后台程序,中断处理程序称为前台程序。图1-5所示是一个前后台系统。

这样的前后台系统在实时性处理方面存在缺陷,例如任务1是重要任务,需要能够得到及时响应,在运行任务4的时候,产生中断,执行任务1的条件被满足,最理想的快速响应方式是任务1立即被投入运行,但是在前后台程序中做不到,因为任务是被顺序执行的,即使任务1焦急万分,也必须等待任务4处理完毕后才能被运行。

image.png

嵌入式实时操作系统被设计成为一个抢占式系统,能够解决上述的实时性问题,它把任务分为不同的优先级,当运行条件被满足时,高优先级任务可以打断低优先级任务优先运行,从而极大地提高了系统实时性。实时操作系统执行任务示意图如图1-6所示。

当然,嵌入式实时操作系统相比前后台程序,不仅有实时性方面的进步,它在多任务管理、任务间通信、内存管理、定时器管理、设备管理等方面,也提供了一套完整的机制,极大程度上便利了嵌入式应用程序的开发、管理和维护。如果要和桌面操作系统进行类比,那么前后台程序开发好比直接使用BIOS进行开发,而使用嵌入式实时操作系统好比在Windows上进行应用开发。

image.png

总体来说,嵌入式操作系统是应用于嵌入式系统的软件,用来对接嵌入式底层硬件与上层应用软件,操作系统将底层驱动封装起来为开发者提供功能接口,极大地提高了应用程序的开发效率。

1.3.1 主流嵌入式实时操作系统

uC/OS是美国的一款RTOS,发布于1992年。2001年,北航的邵贝贝教授第一次将有关uC/OS的书籍翻译成中文,该书出版后获得了大量好评,当时该书遇上了“嵌入式系统开发”风口,大量的高校学生开始学习嵌入式系统,将该书作为学习嵌入式操作系统的入门书籍,将学习的内容带入各类项目和产品后,它的特点才渐渐崭露头角。在2010年以前,uC/OS一直是国内大多企业的首选RTOS。2010年以后,开源免费的RTOS开始流行,而uC/OS本身的商业收费策略一直未能及时调整,导致很多厂商转而选择开源免费的操作系统,如FreeRTOS、RT-Thread。

FreeRTOS诞生于2003年,按照开源、免费的策略发布,可用于任何商业和非商业场合。2004年,英国的ARM公司推出第一款基于ARMv7-M架构的Cortex-M3 IP核,主打高性价比的MCU市场,随后美国德州仪器公司推出了第一款基于Cortex-M3内核的MCU,接下来意法半导体、恩智浦、飞思卡尔、爱特梅尔等欧美厂商相继推出了基于Cortex-M内核的MCU,出于性价比的考虑,这些厂商都选择了FreeRTOS作为芯片默认使用的嵌入式操作系统,趁着这波热潮,FreeRTOS迅速崛起,在国内外流行开来。

RT-Thread是国内的一款嵌入式实时操作系统,诞生于2006年,许可证类似FreeRTOS,以开源、免费的方式进行发布。与FreeRTOS和uC/OS不同的是,RT-Thread自创建之初的定位就不仅是一个RTOS内核,而是包含网络、文件系统、GUI界面等组件的中间件平台,它秉承开源、免费的思想,积聚吸收社区的力量来不断发展壮大。经过十多年的积淀,RT-Thread已经成为一款知名度较高、口碑极佳、高度稳定可靠的实时操作系统。RT-Thread支持市面上所有的主流编译工具,如IAR、GCC、Keil等;在硬件支持方面,它完成了超过50款MCU芯片和所有主流CPU架构上的移植工作,包括ARM、MIPS、C-Sky、Xtensa、Andes与RISC-V等。在行业应用上,因为RT-Thread的高可靠性和组件丰富等特点,它被广泛应用于安防、医疗、新能源、车载、北斗导航以及消费电子等众多行业。

近两年来,随着RT-Thread推广力度的加大、文档资料的不断完善及周边生态合作伙伴支持热情的高涨,RT-Thread的企业项目需求显著增加,RT-Thread开发者的数量也呈现出加速增长的态势。线下活动方面,RT-Thread借助社区力量,定期组织一系列技术沙龙活动,活动覆盖多数一二线城市,受到了初学者和开发者的欢迎,参与线下技术沙龙成为他们学习RT-Thread、线下交流互勉的一个重要渠道。除此之外,移动微信、QQ社群的运营,线上培训讲座和设计竞赛的陆续展开都成为生态建设的重要部分,推动着RT-Thread社区的健康发展。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。