自从学单片机以来,陆续接触了一些嵌入式操作系统,从最开始的51单片机,叫做rtx51_tiny,就是在keil C51安装后,例程里边自带一个实时操作系统例程,可以用它来建立多个任务(函数)同时执行的应用,官方例程实现了一个交通灯控制,嘿嘿,可能90%的人都忽略了它的存在。没错,就是最普通的51单片机也是可以跑操作系统的。
到后来,学习了uc/OS II, 很经典的嵌入式操作系统,适合学习原理用,每行代码都加注释学习了:),现在应该已经发展到uc/OS III了. 再接着在s3c44b0x上跑ucLinux,nxp的lpc系列处理器上移植操作系统,龙芯上移植linux等,在华为工作后使用的风河公司的vxworks……一路下来,对嵌入式操作系统也算是有一定的接触。
因为实际的工程/项目中自己写代码的开发经验不多,对嵌入式操作系统的理解更多的受限于原理(内核和调度)。对于驱动开发以及应用开发的接触相对较少,经验比较不足。
这几年接触了TI的处理器,发现TI的处理器也都支持RTOS,而且TI有着自己的RTOS,称为TI-RTOS。(rtos不单单只是一个任务调度,更多的是一个完整的解决方案,例如usb,网络通信,蓝牙通信等软件包的支持)
上周花了点时间,大致浏览了下,还没深入研究,有个初步的印象。
直接在TI官网搜RTOS,看搜索结果,可以分为两个大类:
TI-RTOS存在的两种软件包,一个是单独发布的ti-rtos软件包,配合某个处理器版本;另一种是直接打包到软件开发包sdk.
只能存在一种形式,具体由型号决定的,新出的产品一般都是直接打包在sdk中,不用专门下载。
第一大类,TI-RTOS-PROC
用于微处理器和DSP的,可参考网页:
http://www.ti.com.cn/tool/cn/TI-RTOS-PROC
截取部分如下:
对于这些处理器,ti-rtos直接嵌入在软件开发包当中的,不用单独下载。
当然了,这些处理器也支持其他的操作系统,例如linux,rt-linux等。
第二大类,TI-RTOS-MCU
用于微控制器(单片机),网页如下:
http://www.ti.com.cn/tool/cn/TI-RTOS-MCU
如上图,对于SimpleLink器件(例如CC13x0, CC2640R2, CC3220, MSP432E4, 和MSP432P4,TI-RTOS包含在SimpleLink SDK当中,不用单独下载.
另外,C2000系列(Concerto除外),使用SYS/BIOS.
对于MSP430, Tiva C (TM4C), Concerto, CC2650和CC3200,TI-RTOS有专门的独立安装包,需要单独下载。可参考下图。
通过TI-RTOS,可以消除从头开始创建基本系统软件功能,加快了开发进度。**TI-RTOS从一个实时多任务内核(TI-RTOS内核)扩展到一个完整的RTOS解决方案,包括额外的中间件组件、设备驱动程序和电源管理。**TI-RTOS和TI的超低功耗MCU相结合,使开发人员能够设计电池寿命更长的应用程序。通过提供预先测试和预先集成的基本系统软件组件,TI-RTOS使开发人员能够专注于区分其应用程序。
与cc2640为例,整个应用开发,rtos内核其实只占其中的一小部分。
TI-RTOS建立在现有经验证的软件组件之上,以确保可靠性和质量。它通过文档、附加示例和适用于多任务开发和集成测试的API来增强这些功能,以验证所有组件是否都能协同工作。TI-RTOS应用程序可以使用多种集成开发环境(IDE)或工具链开发,包括ccs、energia(与Arduino兼容的软件环境)、IAR和GCC。
另外,虽然ti-rtos支持不同的集成开发环境,建议优先使用ccs。
多说一句,在使用新的simplelink平台时,貌似都要用上rtos,特别是simplelink的单芯片解决方案时,在一个芯片上上跑无线协议栈,例如蓝牙,wifi通信等,给用户几个调用接口,另外的部分都是基于操作系统进行设计的。
要不要学习rtos,或者说要不要上rtos,对于单片机来说,看实际的情形吧。
建议的学习方法:
培训视频链接:
https://training.ti.com/ti-rtos-workshop-series-1-10-welcome