第1章 选用RTX的优势
由于大家都比较关心这个问题,所以把这个问题放在第一章简单的说说。这里分为六个方面跟大家进行说明。 1.1 移植的难易程度 1.2 上手难用程度 1.3 实时性 1.4 RTX完整的中间件 1.5 升级到MDK5.XX版本后调用更方便 1.6 当前流行的嵌入式实时操作系统 1.1 移植的难易程度 如果不打算看RTX的源码,或者说以源码的形式展现在MDK工程里面。RTX的移植应该是所有RTOS里面移植最简单的(与embOS,uCOS和FreeRTOS比较),用户只需在MDK里面使能即可使用:
图1.1 RTX的配置 1.2 上手难易程度 KEIL官方有一句话说的非常好,基本每个中间件都这种类似的话。 The library handlesthe low-level USB requests without the need to write the hardware layer code.Developers can focus on the application's requestrather than concentrating on the specialties of the USB protocol。 我们推出这些中间件的目的就是让客户不必为移植协议和底层驱动而烦恼,所有的这些我们都已经写好,用户只需关注应用即可。实际的测试中的确是这样的。 1.3 实时性 这里仅说说反映RTOS实时性的其中两个重要指标。一个是中断延迟时间,另一个就是任务切换时间,因为使用CM3或者CM4内核,RTX系统可以实现零中断延时,也就是跟裸机情况是一样的。其它4款RTOS都无法实现达到这个性能指标。中断延时时间方面,RTX完胜。 下面就是任务切换时间的比较: 测试条件 :STM32F103VET6,Cortex-M3内核,72MHz, 软件用的MDK4.54, 1级优化。 测试10000次,2ms测试一次,然后求平均。
从上面的测试可以看出,RTX的优势很明显,其实除了任务切换时间外,信号量,事件标志,消息邮箱的实时性都比其它4款RTOS的强劲。 1.4 RTX有完善的中间件 这个是非常重要的一条,RTX有完善的中间件,RL-FlashFS,RL-USB, RL- TCPnet。这些中间件使用也是可以快速上手,这就是优势。更重要的是,RL-FlashFS(支持nandflash,带擦写均衡,坏块管理和ECC)和RL-USB也稳定好用,KEIL官方提供了在各种处理器平台下完整的驱动,用户只需添加后即可使用。 TCPnet还没有测试过,这里贴一个TCPnet支持的功能截图,功能比较完善:
图1.2 RL-TCPnet功能 后面我们安富莱电子会推出RTX及其中间件的完整教程,敬请期待。 1.5 升级到MDK5.XX版本后调用更方便 如果大家使用的是MDK5.XX版本的话,RTX及其中间件的使用更加简单。只需在MDK5的RTE环境中添加即可使用。只不过到了MDK5版本后,RTX有了个新的名字叫CMSIS-RTOS RTX,这个是ARM官方在RTX的基础上加了一层封装,后续的版本也不再单独发布RTX了,而是发布CMSIS-RTOS RTX。 鉴于此,教程中是采用的MDK4系列的最后一个版本MDK4.74里面的RTX。 1.6 当前流行的嵌入式实时操作性 RTX在全球的嵌入式市场分析报告中一直名列前茅,下面分别是2013,2014和2015年度全球嵌入式市场分析报告中占有率排名,占有率低的未上榜。
图1.3 由上至下分别2013,2014和2015年度 关于RTX的优势就跟大家讲解这么多,具体还需要用户自己使用了才会有体会。 其实RTX操作系统是一款充分发挥CM3/CM4内核MCU性能的实时操作系统,所以才有前面实时性的强劲表现。
|