RTOS实时系统
2
Nina_小哥
学习记录
展开
-
ucosiii系统中的任务管理
前言: 多任务操作系统最重要的就是对任务进行管理,包括任务的创建,挂起,删除和调度等,因此对于ucosiii操作系统中任务管理的理解就显得尤为重要了。 分几个部分介绍: 1:任务状态 2:任务控制块 3:任务堆栈 4:任务就绪表 5:任务调度和切换1:任务状态 UCOSIII支持的是单核cpu,不支持多核cpu,所以在某一时刻就只有一个任务会获得cpu的使用权,其他任务就会进入其他状态。每个任务有5种状态:睡眠状态,就绪状态,运行状态,等待状态和中断服务原创 2020-08-06 13:52:28 · 646 阅读 · 0 评论 -
stm32F103上如何移植ucosIII
移植准备工作: 1:准备一份裸机基础工程 2:准备ucosIII源码一份,官网源码下载地址:官网源码下载地址;csdn下载地址UCOSIII移植: 向工程中添加相应的文件1.在工程目录中新建文件夹Ucosiii2.复制源码目录下的三个文件到工程文件夹ucosiii下。3.在工程文件目录ucosiii下面,再新建两个文件夹,UCOS_BSP和UCOS_CONFIG。打开源码文件夹里面的官方历程f107文件夹:找我们需要的文件,然后添加到我们的工程中。(1):向config里面添加8个原创 2020-07-21 15:29:30 · 1236 阅读 · 1 评论 -
UCOSIII——常用任务函数API解析
前言:UCOSIII是一个多任务系统,创建任务就是将任务控制块,任务堆栈,任务代码 等联系在一起,并初始化任务块中的一些字段。对于任务的创建,删除,挂起和恢复等基本常用函数阐述1:创建任务函数void OSTaskCreate ( OS_TCB *p_tcb, CPU_CHAR *p_name, OS_TASK_PTR p_task,原创 2020-08-06 15:15:21 · 541 阅读 · 0 评论 -
UCOSIII——信号量和互斥信号量详解
前言: 在ucosiii中有可能会有多个任务访问共享资源,同时对这个共享资源操作时会出错,因此信号量最早是用来控制任务存取共享资源。现在信号量被用来实现任务之间的同步和Isr之间的同步。在可剥夺的内核中,当任务独占式使用共享资源时就会出现低优先级任务先于高优先任务运行的现象,这个现象称之为优先级翻转现象。为了解决这个问题,引出了互斥信号量的概念。1:信号量 信号量是一种上锁机制,该任务必须获得相应的钥匙才能进入,直至代码执行结束,释放钥匙,程序才退出。信号量分两种,一种是二进制信号量,一种是计数型原创 2020-08-07 16:15:41 · 2243 阅读 · 0 评论 -
UCOSIII——信号量与互斥信号量中的常用Api解析
1:信号量的创建void OSSemCreate (OS_SEM *p_sem, CPU_CHAR *p_name, OS_SEM_CTR cnt,原创 2020-08-07 16:32:44 · 291 阅读 · 0 评论 -
rt_thread启动流程
启动流程:1:执行$sub$$main函数,此函数为main扩展函数,就相当于是在main函数里面进行操作,只是他是在执行main函数之前执行。 在components.c文件中有定义:/* $Sub$$main 函 数 */int $Sub$$main(void) {rtthread_startup();return 0;}在这里 $Sub$$main 函数调用了 rtthread_startup() 函数,其中rtthread_startup() 函数的代码如下所示:int rtt原创 2021-03-17 14:42:05 · 476 阅读 · 0 评论 -
基于正点原子战舰版RT-Thread嵌入式实时系统移植
移植RT-Thread到STM32f103本文介绍的是基于keil mdk移植 RT-Thread Nano 。本历程亲测有效,可以完成所有的系统rtt历程。废话不多说,直接上干活。 移植RT-Thread Nano的主要步骤: 1:准备一个基于keil的基础工程,例如最简单的裸机历程点亮led灯。 2:准备一份RT-Thread Nano源码,下载地址:https://www.rt-thread.org/download/mdk/ 选择3.1.3版本 3:点击安装刚下载的RT-Thre原创 2020-06-30 16:42:40 · 1636 阅读 · 5 评论