uC/OS-III应用开发
我是来写博客的
这个作者很懒,什么都没留下…
展开
-
【14】uC/OS-III应用开发————uC/OS的不恰当总结比喻
原创 2020-05-24 23:41:29 · 117 阅读 · 0 评论 -
【15】uC/OS-III应用开发————目录
uC/OS-III的几个重要特性 移植uC/OS-III到STM32F767 创建任务(STM32F767) 启动流程 任务管理 消息队列 信号量 互斥信号量 事件 软件定时器 任务信号量 任务消息队列 RAM内存管理 异常与中断管理 CPU利用率及堆栈检测统计...原创 2020-05-07 23:31:46 · 164 阅读 · 0 评论 -
【13】uC/OS-III应用开发————>CPU利用率及堆栈检测统计(STM32F767)
下载验证 总结 uC/OS支持中断嵌套,即当前中断可以被更高优先级中断打断 在OS中,很多时候我们会主动进入临界段,系统不允许当前状态被中断打断 进入与退出时需要调用OSIntEnter()和OSIntExit(),方便中断嵌套管理 参考资料: 正点原子《STM32F767 UCOS开发手册》 野火《uC/OS-III内核应用与开发》 《嵌入式实时操作系统uC...原创 2020-05-07 23:24:38 · 1393 阅读 · 1 评论 -
【12】uC/OS-III应用开发————>异常与中断管理(STM32F767)
简述 下载验证 总结 参考资料: 正点原子《STM32F767 UCOS开发手册》 野火《uC/OS-III内核应用与开发》 《嵌入式实时操作系统uC/OS-II原理及应用(第二版)》 官方源码 硬件平台: 正点原子阿波罗F767 软件平台: MDK5.2.5 库版本: TM32Cube_FW_F7_V1.4.0 uC/OS-III版本...原创 2020-05-06 23:40:22 · 307 阅读 · 0 评论 -
【11】uC/OS-III应用开发————>RAM内存管理(STM32F767)
简述 在嵌入式系统中,内存分配应根据系统特点选择使用 动态内存分配算法:普通业务系统,动态内存上限取决于硬件,使用效率高 静态内存分配算法:可靠性非常高的系统,需要考虑内存上限,使用效率低 uC/OS内存管理是采用内存池的方式进行管理 静态划分一大块连续空间做为内存管理的空间,内部划分若干块 使用的时候就从内存池中获取内存块,使用完将其放回 核心机制: 内存池...原创 2020-05-05 23:31:54 · 529 阅读 · 0 评论 -
【10】uC/OS-III应用开发————>任务消息队列(STM32F767)
简述 下载验证 总结 参考资料: 正点原子《STM32F767 UCOS开发手册》 野火《uC/OS-III内核应用与开发》 《嵌入式实时操作系统uC/OS-II原理及应用(第二版)》 官方源码 硬件平台: 正点原子阿波罗F767 软件平台: MDK5.2.5 库版本: TM32Cube_FW_F7_V1.4.0 uC/OS-III版本...原创 2020-05-05 22:00:28 · 291 阅读 · 0 评论 -
【9】uC/OS-III应用开发————>任务信号量(STM32F767)
简述 uC/OS提供任务信号量这个功能,每个任务都有一个32位(用户自定义位宽)的信号量值SemCtr,这个信号量值在任务控制块中包含的,是任务独有的一个信号量通知值 多数情况下,任务信号量可以替代内核对象的二进制信号量、计数信号量 特点 任务信号量更加灵活、速度快、节省RAM、无需单独创建信号量 只能有一个任务接收信号,必须指定接收信号量的任务,才能正确发送信号量, 相关...原创 2020-05-04 23:52:19 · 482 阅读 · 0 评论 -
【8】uC/OS-III应用开发————>软件定时器(STM32F767)
简述 定时器:是指从指定的时刻开始,经过一个指定时间,然后触发一个超时事件,用户可以自定义定时器的周期与频率 分类: 硬件定时器: 芯片本身提供的功能 每次在定时时间到达之后就会自动触发一个中断,用户在中断中处理信息 软件定时器: 由操作系统提供的一类系统接口,构建在硬件定时器(SysTick)基础上 软件定时器指定时间到过后要调用的函数(也称超时函数/回调...原创 2020-05-03 23:17:57 · 372 阅读 · 0 评论 -
【7】uC/OS-III应用开发————>事件(STM32F767)
简述 事件是一种实现任务间通信的机制,主要用于实现多任务间的同步,但事件通信只能是事件类型的通信,无数据传输 可以实现一对多,多对多的同步,即一个任务可以等待多个事件的发生 事件仅用于同步,不提供数据传输功能 允许多个任务对同一事件进行读、写操作 事件无排队性,即多次向任务设置同一事件(如果任务还未来得及读走),等效于只设置一次 事件不与任务相关联,事件相互独立,一个32位的...原创 2020-05-03 15:07:06 · 217 阅读 · 0 评论 -
【6】uC/OS-III应用开发————>互斥信号量(STM32F767)
简述 它是一种特殊的二进制信号量,支持互斥量所有权、递归访问以及防止优先级翻转,实现对临界资源的独占式处理 互斥量的状态: 开锁:任务释放这个互斥量时,该互斥量处于开锁状态,任务失去该互斥量的所有权 闭锁:-----获得----------------,---------------------闭锁------,该互斥量被任务持有 优先级翻转图解 优先级继承 ...原创 2020-05-03 13:00:23 · 278 阅读 · 0 评论 -
【5】uC/OS-III应用开发————>信号量(STM32F767)
下载验证 略 总结 消息队列指针传递,传送的是首地址 参考资料: 正点原子《STM32F767 UCOS开发手册》 野火《uC/OS-III内核应用与开发》 《嵌入式实时操作系统?uC/OS-III原理及应用(第二版)》 官方源码 硬件平台: 正点原子阿波罗F767 软件平台: MDK5.2.5 库版本: TM32Cube_FW_F7_V1.4.0 uC/OS-I...原创 2020-05-02 17:36:40 · 494 阅读 · 0 评论 -
【4】uC/OS-III应用开发————>消息队列(STM32F767)
2 2 2 2 2 22222下载验证 总结 任务的迁移状态、常用任务函数、延时函数; 参考资料: 正点原子《STM32F767 UCOS开发手册》 野火《uC/OS-III内核应用与开发》 《嵌入式实时操作系统uC/OS-III原理及应用(第二版)》 官方源码 硬件平台: 正点原子阿波罗F767 软件平台: MDK5.2.5...原创 2020-04-30 23:48:11 · 564 阅读 · 0 评论 -
【3】uC/OS-III应用开发————>任务管理(STM32F767)
简述: 多任务操作系统核心是对任务的管理,包括:任务创建、挂起、删除、调度等 任务的基本概念: 下载验证 省略 总结 任务的5个状态、任务构成、任务创建流程、用户任务与系统任务 参考资料: 正点原子《STM32F767 UCOS开发手册》 野火《uC/OS-III内核应用与开发》 《嵌入式实时操作系统uC/OS-III原理及应用(第二版)》 官方...原创 2020-04-28 23:34:31 · 402 阅读 · 0 评论 -
【2】uC/OS-III应用开发————>启动流程(STM32F767)
简述: 系统初始化 空闲任务 CPU初始化 SysTick初始化 内存初始化 OSStart() 主函数 下载验证 总结 参考资料: 正点原子《STM32F767 UCOS开发手册》 野火《uC/OS-III内核应用与开发》 《嵌入式实时操作系统uC/OS-III原理及应用(第二版)》 官方源码 硬件平台: 正点原子阿波罗F767 软件平...原创 2020-04-26 22:50:15 · 365 阅读 · 0 评论 -
【1】uC/OS-III应用开发————>创建任务(STM32F767)
123456原创 2020-04-23 23:48:21 · 320 阅读 · 0 评论 -
【1】uC/OS-III应用开发————>移植uC/OS-III到STM32F767
移植前准备工作: 获取STM32裸机最小工程 跑马灯实验 uC/OS源码获取: https://www.micrium.com/downloadcenter/,下载需要注册帐号 uC/OS文件介绍 移植到STM32工程 按需配置 修改主函数 下载验证 总结 ...原创 2020-04-22 23:47:22 · 366 阅读 · 0 评论 -
【0】uC/OS-III应用开发————>uC/OS-III的几个重要特性
uC/OS-III的几个重要特性: 可剥夺多任务管理: 总是执行当前就绪的最高优先级任务; 同优先级任务的时间片轮转调度: 即允许一个任务优先级被被多个任务使用, 当这个优先级处于最高就绪态的时候, uC/OS-iii就会轮流调度处于这个优先级的所有任务, 让每个任务运行一段用户指定的时间长度,叫做时间片; 极短的关中断时间: uC/OS-III...原创 2020-04-19 21:41:37 · 346 阅读 · 0 评论