克拉玛依网站建设公司,中文网页设计模板免费下载,郑州最好的设计公司,网站后台改网页底色1.为什么学习RTOS#xff1f; 作为基于ARM7、Cortex-M3硬件开发的嵌入式工程师#xff0c;我一直反对使用RTOS。不仅因为不恰当的使用RTOS会给项目带来额外的稳定性风险#xff0c;更重要的是我认为绝大多数基于ARM7、Cortex-M3硬件的项目#xff0c;还没复杂到使用RTOS的地… 1.为什么学习RTOS 作为基于ARM7、Cortex-M3硬件开发的嵌入式工程师我一直反对使用RTOS。不仅因为不恰当的使用RTOS会给项目带来额外的稳定性风险更重要的是我认为绝大多数基于ARM7、Cortex-M3硬件的项目还没复杂到使用RTOS的地步使用状态机就足够了。 对于现代的微处理器特别是资源相对丰富ARM7、Cortex-M3硬件来说RTOS占用的硬件资源已经越来越可以忽略。所以在当今环境下我们无需担心RTOS会拖累性能。相反RTOS提供的事件驱动型设计方式使得RTOS只是在处理实际任务时才会运行这能够更合理的利用CPU。在实际项目中如果程序等待一个超时事件传统的无RTOS情况下要么在原地一直等待而不能执行其它任务要么使用复杂相对RTOS提供的任务机制而言的状态机机制。如果使用RTOS则可以很方便的将当前任务阻塞在该事件下然后自动去执行别的任务这显然更方便并且可以高效的利用CPU。处理这类事件是我使用RTOS的最大动力但考虑到系统的稳定性我不得不再三权衡RTOS可能带来的一些弊端 大多数RTOS代码都具有一定规模任何代码都可能带来BUG何况是代码具有一定规模的RTOS因此引入RTOS的同时也可能会引入该RTOS的BUG这些RTOS本身的BUG一旦被触发影响可能是是灾难性的。熟练的使用RTOS是一项技能需要专业的知识储备和长期的经验积累。不将RTOS分析透彻很容易为项目埋下错误。典型的像中断优先级、任务堆栈分配、可重入等都是更容易出错的地方。RTOS的优先级嵌套使得任务执行顺序、执行时序更难分析甚至变成不可能。任务嵌套对所需的最大堆栈RAM大小估计也变得困难。这对于很多对安全有严格要求的场合是不可想象的。RTOS应该用于任务复杂的场合以至于对任务调度的需求可以抵消RTOS所带来的稳定性影响但大部分的应用并非复杂到需要RTOS。以上原因是我拒绝在实际项目中使用RTOS的理由但是否使用RTOS跟是否学习RTOS完全是两码事。我认为任何嵌入式软件设计人员都应该至少学习一种RTOS不仅是需要掌握RTOS背后的操作系统原理、学习RTOS的编程方式更是为将来做准备。 即便我认为现在的物联网有点言过其实但我依然看好物联网的发展前景。随着物联网的发展未来的嵌入式产品必然更为复杂、连接性更强以及需要更丰富的用户界面。当处理这些任务时一个好的RTOS就变得不可缺少了。 书到用时方恨少我希望自己永远不会有这种感觉。所以从现在起我要开始深入一个RTOS探索它背后的原理掌握其编程方法避免其缺陷和陷阱并将它安全的用在将来的项目中。
2.为什么选用FreeRTOS 对比了许多RTOS最终选择FreeRTOS原因是多方面的 SafeRTOS便是基于FreeRTOS而来前者是经过安全认证的RTOS因此对于FreeRTOS的安全性也有了信心。 大量开发者使用并保持高速增长趋势。2011、2012、2013、2014、2015、2017年暂时没有2016年的数据的EEtimes杂志嵌入式系统市场报告显示FreeRTOS在RTOS内核使用榜和RTOS内核计划使用榜上都名列前茅。更多的人使用可以促进发现BUG增强稳定性。简单。内核只有3个.c文件全部围绕着任务调度没有任何其它干扰便于理解学习。而且我根本不需要其它繁多的功能只要任务调度就够了。文档齐全。在FreeRTOS官方网站上可以找到所有你需要的资料。免费、开放源码。完全可以免费用于商业产品开放源码更便于学习操作系统原理、从全局掌握FreeRTOS运行机理、以及对操作系统进行深度裁剪以适应自己的硬件。2017年底FreeRTOS作者加入亚马逊担任首席工程师FreeRTOS也由亚马逊管理。同时修改了用户许可证FreeRTOS变得更加开放和自由。背靠亚马逊相信未来FreeRTOS会更加稳定可靠。此外以前价格不菲的《实时内核指南》和《参考手册》也免费开放下载这使得学习更加容易。学习的资料来源主要是FreeRTOS的官方网站www.freertos.org和源代码。FreeRTOS的创始人RichardBarry编写了大量的移植代码和配套文档我只不过是沿着Richard Barry铺好的路前进所以这没什么困难的。 最后感谢RichardBarry的付出感谢Richard Barry的无私开源精神 附录1: EEtimes杂志嵌入式市场调查报告有关RTOS使用榜截图
附录1.1 2010和2011年RTOS使用榜 附录1.2 2012和2013年RTOS使用榜 附录1.3 2013年和2014年RTOS使用榜 附录1.4 2014年和2015年RTOS使用榜 附录1.5 2017年RTOS使用榜 附录1.6 2019年RTOS使用榜