从今天开始将会走进uC/OS-III操作系统的世界。...接下来,说一下如何移植uC/OS-III操作系统到我们的stm32开发板中。...在移植之前,我们首先要获取到 uCOS III 的官方的源码包,首先,打开 Micrium 公司官方网站( http://micrium.com/),打开网站链接之后,我们点击“ Downloads”选项卡进入下载页面...我们知道 bsp 就是板级相关的文件,也就是对应开发板的文件,而 uCOS III 源码的bsp 肯定是与我们的板子不一样,所以就需要进行修改。主要是删除原来板子上的驱动程序,保留一些初始化的东西。...总结:这里开一个头,后面再分块介绍uC/OS-III操作系统的功能。
一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 ❄️作者主页:一个平凡而乐于分享的小比特的个人主页 ✨收录专栏:UCOS-III...,本专栏为UCOS-III学习记录 欢迎大家点赞 收藏 ⭐ 加关注哦!...UCOS-III笔记(十一) 内存管理 内存管理是指软件运行时对内存资源的分配和使用的一种技术, 其最主要的目的就是为了能够高效且快速地分配,并且在释放的时候释放不再使用的内存空间 为啥不用标准的
一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 ❄️作者主页:一个平凡而乐于分享的小比特的个人主页 ✨收录专栏:UCOS-III...,本专栏为UCOS-III学习记录 欢迎大家点赞 收藏 ⭐ 加关注哦!...UCOS-III笔记(一) 裸机与RTOS介绍 裸机 又称为前后台系统,前台系统指的中断服务函数,后台系统指的大循环,即应用程序。...会让出CPU的使用权给其他任务,即任务调度 抢占式:高优先级任务抢占低优先级任务 任务堆栈:每个任务都有自己的栈空间,用于保存局部变量以及任务的上下文信息 注意:中断可以打断任意任务,任务可以同等优先级 UCOS-III...:支持多种不同架构的不同型号的处理器 ,如:ST、NXP、Xilinx、Infineon… … 移植简单:C语言编写简单易用,可移植性非常好 任务调度 使用相关的调度算法来决定当前需要执行的任务 UCOS-III
一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 ❄️作者主页:一个平凡而乐于分享的小比特的个人主页 ✨收录专栏:UCOS-III...,本专栏为UCOS-III学习记录 欢迎大家点赞 收藏 ⭐ 加关注哦!...UCOS-III笔记(四) 任务调度 UCOSIII的初始化 初始化UCOSIII函数:OSInit ( ) 函数内部实现: 对一些全局变量赋初始值 初始化就绪列表以及就绪任务优先级 创建三个任务:空闲任务...内核提供了两个栈空间 主堆栈指针(MSP):它由 OS 内核、异常服务例程以及所有需要特权访问的应用程序代码来使用 进程堆栈指针(PSP):用于常规的应用程序代码(不处于异常服务例程中时) 在UCOS-III...)恢复到CPU寄存器中,这个过程叫做恢复现场; 对任务A保存现场,对任务B恢复现场,这个整体的过程称之为:上下文切换 注意:任务切换的过程在PendSV中断服务函数里边完成 PendSV中断触发 执行UCOS-III
一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 ❄️作者主页:一个平凡而乐于分享的小比特的个人主页 ✨收录专栏:UCOS-III...,本专栏为UCOS-III学习记录 欢迎大家点赞 收藏 ⭐ 加关注哦!...UCOS-III笔记(六) 消息队列 队列是任务到任务、中断到任务的数据交流的一种机制(消息传递) 在OS中如果使用全局变量存在弊端:数据无保护,导致数据不安全,当多个任务同时对该变量操作时,数据易受损
一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 ❄️作者主页:一个平凡而乐于分享的小比特的个人主页 ✨收录专栏:UCOS-III...,本专栏为UCOS-III学习记录 欢迎大家点赞 收藏 ⭐ 加关注哦!...UCOS-III笔记(九) 事件标志组 本质:事件标志是一个用于指示事件是否发生的比特位。事件标志组由多个事件标志组成的, 可以简单的理解事件标志组,就是一个整数。
多任务 uC/OS-III 支持以多线程的方式,同时运行多个任务,各个任务之间互不影响。...参考 [1] STM32F103C8T6移植uC/OS-III基于HAL库超完整详细过程
一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 ❄️作者主页:一个平凡而乐于分享的小比特的个人主页 ✨收录专栏:UCOS-III...,本专栏为UCOS-III学习记录 欢迎大家点赞 收藏 ⭐ 加关注哦!...UCOS-III笔记(十二) 中断管理 异常与中断的基本概念 异常是导致处理器脱离正常运行转向执行特殊代码的任何事件,如果不及时进行处理,轻则系统出错,重则会导致系统毁灭性瘫痪。...如果有一个更高优先级的中断触发,那么处理器同样的会打断当前运行的中断服务例程,然后把老的中断服务例程上下文的PSR,R0,R1,R2,R3和R12寄存器自动保存到中断栈中 中断延迟发布 μC/OS-III
一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 ❄️作者主页:一个平凡而乐于分享的小比特的个人主页 ✨收录专栏:UCOS-III...,本专栏为UCOS-III学习记录 欢迎大家点赞 收藏 ⭐ 加关注哦!...UCOS-III笔记(七) 信号量 一种解决同步问题的机制,可以实现对共享资源的有序访问 特点: 当计数值大于0,代表有信号量资源 当释放信号量,信号量计数值(资源数)加一 当获取信号量,信号量计数值
一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 ❄️作者主页:一个平凡而乐于分享的小比特的个人主页 ✨收录专栏:UCOS-III...,本专栏为UCOS-III学习记录 欢迎大家点赞 收藏 ⭐ 加关注哦!...UCOS-III笔记(十) 软件定时器 定时器:从指定的时刻开始,经过一个指定时间,然后触发一个超时事件,用户可自定义定时器的周期 硬件定时器:芯片本身自带的定时器模块,硬件定时器的精度一般很高,每次在定时时间到达之后就会自动触发一个中断
一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 ❄️作者主页:一个平凡而乐于分享的小比特的个人主页 ✨收录专栏:UCOS-III...,本专栏为UCOS-III学习记录 欢迎大家点赞 收藏 ⭐ 加关注哦!...UCOS-III笔记(五) 时间片调度 时间片:同等优先级任务轮流地享有相应的运行时间(可设置),在UCOSIII中,一个时间片就等于SysTick 中断周期 eg: 运行条件: 创建三个任务:
一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 ❄️作者主页:一个平凡而乐于分享的小比特的个人主页 ✨收录专栏:UCOS-III...,本专栏为UCOS-III学习记录 欢迎大家点赞 收藏 ⭐ 加关注哦!...UCOS-III笔记(二) 任务创建与删除 创建任务:OSTaskCreate() 本质:当任务被创建好后,就会立马处于就绪态 删除任务:OSTaskDel() 本质:删除任务并不会删除任务的代码或释放任务栈...,仅代表该任务的代码和任务栈都不再由µC/OS-III 内核管理 注意当代入的参数为NULL,则代表删除任务自身(当前正在运行的任务) 任务创建流程 定义函数入口参数(任务堆栈、任务优先级… …) 调用创建任务...保证系统任务切换不会阻塞系统其他中断的响应,SysTick设置为UCOSIII所管理的最高优先级,保证延时的精确性 三个中断屏蔽寄存器: PRIMASK、 FAULTMASK 和BASEPRI 在uC/OS-III
一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 ❄️作者主页:一个平凡而乐于分享的小比特的个人主页 ✨收录专栏:UCOS-III...,本专栏为UCOS-III学习记录 欢迎大家点赞 收藏 ⭐ 加关注哦!...UCOS-III笔记(三) 临界段代码保护及任务调度锁 临界段代码保护 UCOS-III在进入临界段代码的时候需要关闭中断,当处理完临界段代码以后再打开中断 临界区是直接屏蔽了中断,系统任务调度靠中断,
第11期:收音机 配套例子: V6-919_STemWin提高篇实验_收音机(uCOS-III) V6-920_STemWin提高篇实验_收音机(FreeRTOS) 例程下载地址: http://forum.armfly.com
第12期:录音机 配套例子: V6-921_STemWin提高篇实验_录音机(uCOS-III) V6-922_STemWin提高篇实验_录音机(FreeRTOS) 例程下载地址: http://forum.armfly.com
今天说一下uCOS的事件。 事件是一种实现任务间通信的机制,主要用于实现多任务间的同步,但事件通信只能是事件类型的通信,无数据传输。与信号量不同的是,它可以实现一对多,多对多的同步。...uCOS 的事件仅用于同步,不提供数据传输功能。 其实事件有点像是一个标志位,某件事情发生了,就将相应的标志位置1,查看标志位就可以知道事件有没有发生。...在 uCOS 的等待事件中,用户可以选择感兴趣的事件,并且选择等待事件的选项,它有 4 个属性,分别是逻辑与、逻辑或、等待所有事件清除或者等待任意事件清除。
第7期:多功能仪表界面设计 配套例子: V6-912_STemWin提高篇实验_多功能仪表界面设计(uCOS-III) V6-913_STemWin提高篇实验_多功能仪表界面设计(FreeRTOS) 例程下载地址
第2期:酿造机过程演示 配套例子: V6-902_STemWin提高篇实验_酿造机过程演示(uCOS-III) V6-903_STemWin提高篇实验_酿造机过程演示(FreeRTOS) 例程下载地址
第10期:视频播放器 配套例子: V6-918_STemWin提高篇实验_视频播放器(RTX版本,仅支持MDK4.74)
一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 ❄️作者主页:一个平凡而乐于分享的小比特的个人主页 ✨收录专栏:UCOS-III...,本专栏为UCOS-III学习记录 欢迎大家点赞 收藏 ⭐ 加关注哦!...UCOS-III笔记(八) 任务内嵌信号量 本质上就是一个信号量,任务信号量是分配于每一个任务的任务控制块结构体中的, 因此每一个任务都有独自的任务内嵌信号量 注意:任务内嵌信号量只能被该任务获取,