自从学单片机以来,陆续接触了一些嵌入式操作系统,从最开始的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-PROC:用于微处理器和DSP的实时操作系统(RTOS)
  • TI-RTOS-MCU:用于微控制器(MCU)的实时操作系统(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,对于单片机来说,看实际的情形吧。

  • 好处在于,如果熟练掌握的话,使用起来肯定非常方便,例如四旋翼飞行器等,姿态控制/飞行等可以创建任务单独运行;如果要增加用户任务等,直接创建新的任务即可;
  • 弊端在于,需要掌握基本的rtos原理,驱动的学习也要花费一定的时间,而且也会有一定的开销。最重要的是调试方法,带rtos的调试方法和裸机还是有点区别的。

建议的学习方法:

  1. 找一款MCU,把相应的软件包下载下来(有可能是sdk,也可能是独立的rtos安装包,由型号决定)。
  2. 安装好软件包,有个rtos的文档,可以阅读下;
  3. 软件包里边有例程,可以先从例程开始学习;
  4. 官网还有一个rtos的培训视频,比较老了,不过也可以参考下。

培训视频链接:

https://training.ti.com/ti-rtos-workshop-series-1-10-welcome


TI-RTOS之初体验(1)相关推荐

  1. 连接蓝牙demo_【BTS001】开源蓝牙协议栈BTStack初体验

    BTStack是一款开源的蓝牙协议栈,它具有很高的可配置性和极小的内存占用量,非常适合小型的.资源有限的设备,例如8或16位嵌入式系统. 支持以下Protocols和Profiles: Protoco ...

  2. csr 蓝牙驱动_【BTS001】开源蓝牙协议栈BTStack初体验

    BTStack是一款开源的蓝牙协议栈,它具有很高的可配置性和极小的内存占用量,非常适合小型的.资源有限的设备,例如8或16位嵌入式系统. 支持以下Protocols和Profiles: Protoco ...

  3. 攻防世界babystack(pwn1)——glibc_all_in_one初体验

    攻防世界babystack(pwn1)--glibc_all_in_one初体验 文章目录 攻防世界babystack(pwn1)--glibc_all_in_one初体验 引入 初步分析 1.che ...

  4. 苹果电脑安装python3密码_mac系统安装Python3初体验

    前沿 对于iOS开发不要随便拆卸系统自带的Python,因为有很多 library 还是使用 Python2.7. 1 安装Xcode 1.1 App Store 搜索Xcode 并安装 1.2 安装 ...

  5. MapReduce编程初体验

    需求:在给定的文本文件中统计输出每一个单词出现的总次数 第一步: 准备一个aaa.txt文本文档 第二步: 在文本文档中随便写入一些测试数据,这里我写入的是 hello,world,hadoop he ...

  6. 小程序 缩放_缩放流星应用程序的初体验

    小程序 缩放 by Elie Steinbock 埃莉·斯坦博克(Elie Steinbock) 缩放流星应用程序的初体验 (First Experiences Scaling a Meteor Ap ...

  7. wxWidgets刚開始学习的人导引(3)——wxWidgets应用程序初体验

    wxWidgets刚開始学习的人导引全文件夹   PDF版及附件下载 1 前言 2 下载.安装wxWidgets 3 wxWidgets应用程序初体验 4 wxWidgets学习资料及利用方法指导 5 ...

  8. 用鸿蒙跑了个 “hello world”!鸿蒙开发初体验

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源 | https://my.oschina.net/u ...

  9. Windows Embedded Standard开发初体验(二)

    支持Silverlight的Windows Embedded Standard 好了,完成安装之后,我们就可以来做Windows Embedded Standard的第一个操作系统镜像了.在开始菜单中 ...

  10. 深度探索Hyperledger技术与应用之超级账本初体验(附部署代码)

    2019独角兽企业重金招聘Python工程师标准>>> 本章零基础地介绍了如何快速体验超级账本搭建的区块链网络,我们先绕过了比较复杂的初始化配置,用官方提供的fabric-sampl ...

最新文章

  1. 数字图像处理必备基本知识
  2. java视频播放器制作_java创建简易视频播放器
  3. 冲刺第三天 1.3 THU
  4. 文本文件与二进制文件及编码关系
  5. EXCEL中显示年月日时分秒
  6. 再看Kafka Lag
  7. Ayoub's function CodeForces - 1301C(组合数学)
  8. linux dialog 源码,Linux dialog详解(图形化shell)
  9. 活在贫困线之下的开源软件项目——开源的可持续性斗争
  10. IBATIS的优缺点
  11. 开源监控系统Prometheus介绍
  12. 如何编写有效的Bug Report
  13. 大企业都在用的开源 ForgeRock OpenAM 被曝预认证 RCE 0day
  14. 设计模式一(抽象工厂模式)
  15. C# dapper 使用事务
  16. Pygame教程系列四:播放音频篇
  17. Roaring Bitmap 更好的位图压缩算法
  18. 毕业生的商业软件开发之路 --- 现代商业软件开发概况
  19. 怎样在网页中插入一条分割线
  20. android开源项目---RoundedImageView制作圆角矩形,椭圆形以其圆形控件

热门文章

  1. 股票K线统计,各个分钟线,日线,周线统计,sql示例
  2. 企业微信加密消息体_微信企业号开发之加密方案与全局返回码说明
  3. 【project】Adruino小型自平衡机器人EVA(+硬件+源代码+3D文件)
  4. 微信企业支付(一)注意
  5. Word文档打印时,出现“错误!未找到引用源。”
  6. bzoj2668 [cqoi2012]交换棋子
  7. Android 框架学习2:源码分析 EventBus 3.0 如何实现事件总线
  8. python word2vec怎么用_小白看Word2Vec的正确打开姿势|全部理解和应用
  9. 未能从程序集“mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载类型“System.Coll
  10. 图匹配(Graph Matching)入门学习笔记——以《Factorized Graph Matching》为例(一)