μC/OS-II
brook6666
这个作者很懒,什么都没留下…
展开
-
μC/OS-II简介
μC/OS-II由Micrium公司提供,是一个可移植、可固化的、可裁剪的、占先式多任务实时内核,它适用于多种微处理器,微控制器和数字处理芯片(已经移植到超过100种以上的微处理器应用中)。同时,该系统源代码开放、整洁、一致,注释详尽,适合系统开发。μC/OS-II包括系统内核、消息邮箱、消息队列、事件标志组、信号量、内存管理六大模块。其中内核模块主要负责各个任务的创建、切换以及调度;消息邮箱...原创 2019-05-31 16:20:17 · 3057 阅读 · 1 评论 -
μC/OS-II--时间管理
时间管理主要将任务进行延时,进入等待状态,以及取消延时,结束等待。1、任务延时调用OSTimeDly可以使任务进入等待状态,进行一段特定时间的延时,同时系统进行以一次任务调度,执行下一个优先级最高的就绪态任务,一旦时间期满或者其他任务调用了OSTimeDlyResume取消了延时,等待状态的任务就会进入就绪态。void OSTimeDly (INT16U ticks){ ...原创 2019-06-01 15:39:07 · 381 阅读 · 0 评论 -
μC/OS-II--事件
在μC/OS-II中,采用事件进行通信,如下所示,任务1将信息发送到事件,即POST,任务2对信息进行查询,即PEND。事件一般包括信号量、邮箱、消息或消息队列。事件在使用前需要先创建,而创建事件要用到事件控制块,这个事件控制块存储事件的信息。事件相关全局变量和数据结构宏定义#define OS_EVENT_EN (((OS_Q_EN > 0) &...原创 2019-06-01 15:23:46 · 441 阅读 · 0 评论 -
μC/OS-II--内存管理
在μC/OS-II中,将大块内存作为一个分区,在系统中有多个分区,每个分区又分为整数个大小相同的内存块,由于大小相同,分配和释放时间相同,应用程序根据需要从不同的分区得到不同的内存块,内存块释放时,放回以前的位置。分区和内存块的关系如下所示:1、内存管理全局变量及相关数据结构宏定义#define OS_MEM_EN 0 //是否开启内存...原创 2019-05-31 16:22:37 · 1123 阅读 · 0 评论 -
μC/OS-II启动过程
拿之前μC/OS-II的测试代码为例,μC/OS-II启动过程主要分成三个部分:系统初始化:包括各种硬件外设功能的初始化,系统参数初始化 任务创建:创建用户任务 运行系统:找到最高优先级的用户任务,标志相应任务控制块,然后执行。int main(){ OSInit(); OSTaskCreate((void (*) (void *))LE0_task, (voi...原创 2019-05-31 16:21:51 · 777 阅读 · 0 评论 -
μC/OS-II移植
下面对μC/OSII移植到STM32F103的步骤进行总结。1、准备一份STM32F103裸机工程2、μC/OSII文件移入裸机工程进入micrium官网获取μC/OSII文件选择stm32f103相关工程点击进行下载将下载文件解压后的uCOS-II文件拷贝到裸机工程目录下3、向工程添加ucos源码另外将Micrium\Software\EvalB...原创 2019-05-31 16:21:27 · 1227 阅读 · 0 评论 -
μC/OS-II--任务
μC/OS-II最小资源分配单元是任务。任务状态μC/OS-II中任务有5种状态,分别为睡眠态,就绪态,运行态,就绪态,等待状态,中断服务态。睡眠态指任务还没有创建或者创建后被删除。就绪态是指任务准备运行,等待CPU使用权。运行态指获得CPU使用权,任务执行。等待状态是指正在运行的任务调用等待或延时函数时进入的状态。中断服务态是指运行态被打断,进入中断服务程序。任务控制块任务控...原创 2019-05-31 16:22:54 · 1073 阅读 · 0 评论 -
μC/OS-II--信号量SEM
信号量由2部分组成,一部分是16位的无符号整形信号量的计数值,另一部分是由等待该信号量的任务组成的等待任务表。信号量建立在事件的基础之上。信号量数据结构信号量使用事件结构,查询信号量状态时使用如下结构,包括信号量值,以及等待列表。/****************************************************************************...原创 2019-06-01 16:50:57 · 431 阅读 · 1 评论