logo资料库

TI-RTOS开发教程 中文资料.pdf

第1页 / 共87页
第2页 / 共87页
第3页 / 共87页
第4页 / 共87页
第5页 / 共87页
第6页 / 共87页
第7页 / 共87页
第8页 / 共87页
资料共87页,剩余部分请下载后查看
更改记录
第一章 TI-RTOS
1.1 什么是TI-RTOS
1.2 TI-RTOS组件
1.3 下载并安装
1.4 创建RTOS工程(IAR)
1.5开发资料详情
第二章 任务
简介
2.1 任务类型
2.2 任务优先级
2.3 任务状态
2.4 任务堆栈
2.5 创建任务
例1创建任务实验
2.5 删除任务
例2 任务删除实验
2.6 任务抢占
例3任务抢占实验
例4 任务优先级更改
第三章 任务间同步
3.1 信号量(Semaphores)
3.1.1 创建/删除信号量
3.1.2 信号申请与释放
例5 利用二值信号量对任务控制
例6 利用二值信号进行互斥访问
3.2 事件(Event)
3.2.1创建/删除事件对象
3.2.2 事件pend/post
例7事件创建实验
3.3 队列(Queues)
3.3.1 队列创建
3.3.2 队列操作
3.3.3 遍历队列
3.3.4 插入删除元素
例8 队列实验
3.4 邮箱(MailBoxs)
3.4.1 创建邮箱
3.4.2 发送接收邮件
例9 邮箱实验
第四章 HWI
4.1 创建HWI
4.2 硬件中断嵌套和系统堆栈大小
4.3 Hwi hooks
4.4 Register 函数
4.5 Create/Delete函数
4.6 Begin/End函数
第五章 SWI
5.1 创建SWI对象
5.2 SWI对象优先级及系统堆栈大小
5.3 SWI中断执行
例10 SWI实验
5.4 同步Swi函数
5.5 Swi hooks
5.6 Register 函数
5.7 Create/Delete 函数
5.8 Ready/Begin/End 函数
例11 SWI hooks例子
第六章 门(Gates)
6.1 基于抢占Gate实现
6.1.1 GateHwi
6.1.2 GateSwi
6.1.3 GateTask
例12 Gate临界保护实验
6.2 基于信号量Gate实现
6.2.1 GateMutex
例13 Gate对共享资源互斥访问
6.2.2 GateMutexPri
第七章 时间服务
7.1 Clock
例14 Clock延时实验
7.2 Timer
7.3 Second
第八章 RTOS实验例程说明
8.1 实验例程汇总
第九章 APIs列表
9.1 Tasks APIs函数
9.2 Semaphore APIs 函数
9.3 Event APIs 函数
9.4 Queue APIs 函数
9.5 Mailbox APIs 函数
声明
附录1:联系方式
无锡谷雨电子有限公司 TI-RTOS 开发教程 CC26xx 平台 2017-06-29
谷雨物联网开发平台 TI-RTOS 开发教程 http://www.iotxx.com 目录 更改记录........................................................................................................................................... 3 第一章 TI-RTOS ................................................................................................................................ 4 1.1 什么是 TI-RTOS .................................................................................................................. 4 1.2 TI-RTOS 组件 ....................................................................................................................... 4 1.3 下载并安装........................................................................................................................ 5 1.4 创建 RTOS 工程(IAR) .................................................................................................... 8 1.5 开发资料详情................................................................................................................... 11 第二章 任务................................................................................................................................... 13 简介......................................................................................................................................... 13 2.1 任务类型.......................................................................................................................... 13 2.2 任务优先级...................................................................................................................... 14 2.3 任务状态.......................................................................................................................... 15 2.4 任务堆栈.......................................................................................................................... 16 2.5 创建任务.......................................................................................................................... 17 例 1 创建任务实验 ......................................................................................................... 20 2.5 删除任务.......................................................................................................................... 23 例 2 任务删除实验 ........................................................................................................ 23 2.6 任务抢占.......................................................................................................................... 24 例 3 任务抢占实验 ......................................................................................................... 25 例 4 任务优先级更改 .................................................................................................... 28 第三章 任务间同步 ....................................................................................................................... 29 3.1 信号量(Semaphores).................................................................................................. 29 3.1.1 创建/删除信号量 ................................................................................................. 30 3.1.2 信号申请与释放 ................................................................................................... 31 例 5 利用二值信号量对任务控制 ................................................................................ 32 例 6 利用二值信号进行互斥访问 ................................................................................ 34 3.2 事件(Event)................................................................................................................. 35 3.2.1 创建/删除事件对象 .............................................................................................. 37 3.2.2 事件 pend/post ..................................................................................................... 38 例 7 事件创建实验 ......................................................................................................... 38 3.3 队列(Queues) ............................................................................................................. 41 3.3.1 队列创建 ............................................................................................................... 42 3.3.2 队列操作 ............................................................................................................... 42 3.3.3 遍历队列 ............................................................................................................... 44 3.3.4 插入删除元素 ....................................................................................................... 44 例 8 队列实验 ................................................................................................................ 45 3.4 邮箱(MailBoxs) ........................................................................................................... 45 3.4.1 创建邮箱 ............................................................................................................... 45 3.4.2 发送接收邮件 ....................................................................................................... 47 例 9 邮箱实验 ................................................................................................................ 47 第四章 HWI.................................................................................................................................... 50 4.1 创建 HWI ......................................................................................................................... 50 4.2 硬件中断嵌套和系统堆栈大小 ...................................................................................... 50 第 1 页 共 86 页
谷雨物联网开发平台 TI-RTOS 开发教程 http://www.iotxx.com 4.3 Hwi hooks .......................................................................................................................... 51 4.4 Register 函数.................................................................................................................... 51 4.5 Create/Delete 函数 ........................................................................................................... 52 4.6 Begin/End 函数 ................................................................................................................. 52 第五章 SWI .................................................................................................................................... 52 5.1 创建 SWI 对象 ................................................................................................................. 52 5.2 SWI 对象优先级及系统堆栈大小 ................................................................................... 54 5.3 SWI 中断执行 ................................................................................................................... 54 例 10 SWI 实验 ....................................................................................................................... 58 5.4 同步 Swi 函数 .................................................................................................................. 60 5.5 Swi hooks .......................................................................................................................... 60 5.6 Register 函数.................................................................................................................... 61 5.7 Create/Delete 函数 .......................................................................................................... 61 5.8 Ready/Begin/End 函数..................................................................................................... 61 例 11 SWI hooks 例子 ............................................................................................................. 62 第六章 门(Gates) ........................................................................................................................... 67 6.1 基于抢占 Gate 实现 ........................................................................................................ 68 6.1.1 GateHwi .................................................................................................................. 68 6.1.2 GateSwi .................................................................................................................. 69 6.1.3 GateTask ................................................................................................................. 69 例 12 Gate 临界保护实验 .............................................................................................. 69 6.2 基于信号量 Gate 实现 .................................................................................................... 70 6.2.1 GateMutex.............................................................................................................. 70 例 13 Gate 对共享资源互斥访问 .................................................................................. 70 6.2.2 GateMutexPri ......................................................................................................... 73 第七章 时间服务 ........................................................................................................................... 73 7.1 Clock .................................................................................................................................. 73 例 14 Clock 延时实验 ............................................................................................................. 76 7.2 Timer ................................................................................................................................. 78 7.3 Second ............................................................................................................................... 78 第八章 RTOS 实验例程说明 ......................................................................................................... 79 8.1 实验例程汇总.................................................................................................................. 79 第九章 APIs 列表 ........................................................................................................................... 80 9.1 Tasks APIs 函数 ................................................................................................................. 80 9.2 Semaphore APIs 函数 ...................................................................................................... 82 9.3 Event APIs 函数 ................................................................................................................ 82 9.4 Queue APIs 函数 .............................................................................................................. 83 9.5 Mailbox APIs 函数 ............................................................................................................ 84 声明................................................................................................................................................. 84 附录 1:联系方式 .......................................................................................................................... 84 第 2 页 共 86 页
谷雨物联网开发平台 TI-RTOS 开发教程 http://www.iotxx.com 更改记录 版本 V1.0 日期 描述 20170614 文档初始版本 第 3 页 共 86 页
谷雨物联网开发平台 TI-RTOS 开发教程 http://www.iotxx.com 第一章 TI-RTOS 1.1 什么是 TI-RTOS 在操作系统没有出来之前,单处理器就只能运行单个任务。这样用户只能独占 CPU,这 样带来的缺点是 CPU 利用效率非常低。为了解决这个缺点人们提出了操作系统,这样即使 只有一个 CPU 也可以运行多个任务,且每个任务互不影响,感觉上还是独占 CPU。由于这 个操作系统的出现,使 CPU 使用效率大大提高。 不同的多任务系统侧重点会有所不同。 对于 PC 用户可以独占一个或多个 CPU。而这类操作系统的调度算法则设计为让用户可 以同时运行多个应用程序,而计算机也不会反应迟钝。例如用户可能同时运行一个 word 处 理程序,一个 web 浏览器,或者更多,并且期望每个应用程序任何时候都能对输入有足够 快的响应时间。 对于服务器操作系统,则是为了支持多用户。这类系统的调度算法侧重于让每个用户公 平享用 CPU 时间。 实时嵌入式系统则更侧重于实时性,即任务必须在给定的时间限制内完成。例如危险的 错误发生时,如果不能在限定的时间内做出反应,那么就有可能发生严重的后果。 大多数嵌入式系统不仅满足硬实时要求,也能满足软实时要求。这样才能称这实时操作 系统。 TI-RTOS 是与其他 RTOS 一样,是对系统资源进行管理与调度。只不过 TI-RTOS 是针对 TI 的可编程器件的一个 RTOS。TI-RTOS 是一个可裁剪,可剥夺,一站式嵌入式工具型的一个 实时操作系。它由一个具有多任务管理功能 SYS/BIOS 内核组件,和其它一些铺助组件与设 备驱动组成,其 SYS/BIOS 是其主要的,不可或缺的核心组件。SYS/BIOS 负责任务启动,调 度,抢占,任务间同步。 由于 TI-RTOS 避免了从头开始创建基本系统软件功能的必要,所以加快了开发步伐。 TI-RTOS 可从实时多任务内核(之前称为 SYS/BIOS 的 TI-RTOS 内核)扩展为完整的 RTOS 解决方案,包括附加中间件组件、器件驱动程序和电源管理。通过结合 TI-RTOS 电源管理 和 TI 的超低功耗 MCU,开发人员能够设计出电池寿命更长的应用。TI-RTOS 提供经预测试 和预集成的必要系统软件组件,使开发人员能够专注于设计最与众不同的应用。 TI-RTOS 构建于经过检验的现有软件组件基础之上,确保了可靠性和质量。除此之外, 还提供了适用于多任务开发和集成测试的文档、额外示例以及 API,用于验证所有组件能否 协调工作。TI-RTOS 经过 Code Composer Studio™ 集成开发环境 (CCS IDE) 的充分测试。针 对一些微控制器平台,TI-RTOS 包含可以与 IAR 嵌入式工作平台 IDE 和 GCC 配合使用的 库。 1.2 TI-RTOS 组件 TI-RTOS 包含自己的源文件,预编译的库和相应的例子。TI-RTOS 的组件在安装目录下 的”products”子目录下。一些组件不是适用所有的 TI 器件。在每个组件下有相应的 doc 目录, 里面文档说细说明了当前组件。在下面表格里列举的组件是我们后面将要重点介绍与编程使 用的组件。 第 4 页 共 86 页
谷雨物联网开发平台 TI-RTOS 开发教程 http://www.iotxx.com 名称 SYS/BIOS XDCtools Drivers,CC26xxWare -- /docs/目录下 PDF 原文档 SYS/BIOS(TI-RTOS Kernel) User’s Guide TI-RTOS 组件 TI-RTOS 内核 TI_RTOS 驱动与板级初始化 XDCtools TI-RTOS Kernel – SYS/BIOS SYS/BIOS 是一个实时内核。它被具有实时性要求的应用程序使用。 SYS/BIOS 具有可抢占的多任务,硬件抽象,实时分析,可工具配置,它对内存与 CPU 要求 低。在 CC26xx 内部 Flash 中,固化的 SYS/BIOS 内核。 Drivers TI-RTOS 包含了多个外设驱动。驱动在/packages/ti/drivers 目录下。 这些驱动具有线程安全特性。 CC26xxWare 是 CC26xx 外设的寄存器级别的驱动软件。 XDCtools 是一个单独的软件组件,它提供了对 TIRTOS 的配置与编译。XDCtools 提供了 XGCONF 配置编辑和脚本语言对.cfg 文件进行编辑。它也提供了工具对.cfg 文件进行编译。只 要你的工程里有.cfg 后辍的文件,XDCtools 都会自动对其进行编译,从而产生源码参与程序 的编译与链接。XDCtools 中的软件模块不做具体介绍,在后面的工程中用到的时候,再进 行说明。 1.3 下载并安装 在使用 TI-RTOS 之前,要在自己的电脑上安装相应的 TI-RTOS 包。这些资源工具的获取, 最好在 TI 的官网上下载。TI-RTOS 的官网下载地址为 http://www.ti.com/tool/ti-rtos-mcu。 在浏览器中输入上述地址并进入 TI 官网。其网站的部分内容截图如下。可能随着时间 变化,其网页的内容和布局会有所变化,一切以 TI 官网为准。或者在其官网的搜所框中搜 所 TI-RTOS 关键字,同样可以找到。 点击 Get software,便可进入 TI-RTOS 详细分支页面。 第 5 页 共 86 页
谷雨物联网开发平台 TI-RTOS 开发教程 http://www.iotxx.com 用户根据自己需求,点击下载相应版本的 RTOS。这里我们以 CC26xx 平台为例,进行 RTOS 的安装。如果用户的 PC 上安装了 BLE 协议栈,可以不用单独下载安装 RTOS。因为在安装 BLE 协议栈时,已经安装了相应的 RTOS 和 XDCTools。 装完成。强烈建议不要修改安装的路径。下图是安装过程的部分截图。 TI-RTOS 是以安装包形式提供,所以用户只要双击.exe 文件,并一直点击下一步直至安 第 6 页 共 86 页
谷雨物联网开发平台 TI-RTOS 开发教程 http://www.iotxx.com 第 7 页 共 86 页
分享到:
收藏