IDE: MDK V4+ MCU: LPC17x
转载 2015-08-16 20:23:00
126阅读
2评论
函数大致用途OS_TASK.C是uC/OS-II有关任务管理的文件,它定义了一些函数:建立任务、删除任务、改变任务的优先级、挂起和恢复任务
原创 2022-06-27 22:59:15
252阅读
主要包含在C源文件OS_CORE.C中。1. uC/OS-II任务调度(1) uC/OS-II调度算法      uC/OS-II采用基于优先级的调度算法,总是选择当前处于就绪状态的优先级最高的任务进行调度。uC/OS-II是可抢占性的强实时性OS,在完成中断后允许进行新的任务调度。      uC/OS-II有两种调度方式:任务级任务调
转载 精选 2013-11-28 00:05:30
985阅读
1点赞
1评论
1. memPart基本原理    uC/OS-II根据需要将内存空间分成多个内存分区,每个内存分区由具有相同大小的内存块(Block)组成。主要包含在C源文件OS_MEM.C中。OS_EXT OS_MEM OSMemTbl[OS_MAX_MEM_PART];OS_EXT OS_MEM *OSMemFreeList;memPart控制块结构体:  typedef struct
转载 精选 2013-11-28 00:08:12
380阅读
1点赞
1评论
1. uC/OS-II文件结构2. uC/OS-II组成部分    uC/OS-II大致可以分成系统核心(包含任务调度)、任务管理、时间管理、多任务同步与通信、内存管理、CPU移植等部分。    (1) 核心部分(OSCore.c) :uC/OS-II处理核心,包括初始化、启动、中断管理、时钟中断、任务调度及事件处理等用于系统基本维持的函数。  
转载 精选 2013-11-28 00:03:58
900阅读
1点赞
1评论
1. C可执行代码结构    (1)代码段.text:存放CPU执行的机器指令,通常.text是可共享且只读的。    (2)数据段.data:.rodata(常量数据)、.rwdata(已初始化全局变量、静态变量)。    (3)未初始化数据段.bss:未初始化的全局变量、静态变量。    (4)栈.stack:存放
转载 精选 2013-11-28 00:06:16
794阅读
1点赞
1评论
1. 应用开发步骤    (1) 包含uC/OS-II的总头文件includes.h;    (2) 定义任务栈的大小和任务栈;    (3) 分配任务优先级;    (4) 实现任务功能;    (5) 调用OSInit()函数初始化uC/OS-II的数据结构;    (6)
转载 精选 2013-11-28 00:09:00
429阅读
1点赞
1评论
在任务调度器的实现上,μC/OS-II和RT-Thread都采用了位图调度(bitmap scheduling),任务优先级的值越小则代表具有越高的优先级,主要区别在于实现形式,是采用多级队列的形式,还是纯位图的形式。在位图调度下,每当需要进行调度时,从最低位向最高位查找出第一个置 1 的位的所在位
转载 2018-03-07 15:18:00
96阅读
2评论
1. 消息邮箱Mbox      Mbox用于多任务间单一消息的传递,uC/OS-II使用ECB管理Mbox的基本信息,OSEventPtr指向创建Mbox时指定的内存空间。事件的创建由具体的事件管理程序实现。主要包含在C源文件OS_MBOX.C中。OS_EVENT *OSMboxCreate(void *msg);void *OSMboxPend(OS_EVENT
转载 精选 2013-11-28 00:07:24
1157阅读
1点赞
1评论
UCOS-II 是一款嵌入式操作系统,被广泛应用于各种嵌入式设备中。与之相比,Linux 是一款开源的操作系统,也被广泛应用于各种计算机系统中。在红帽相关的领域,UCOS-II 和Linux 都起到重要的作用。 首先,我们来看看UCOS-II。作为一款专门为嵌入式系统而设计的操作系统,UCOS-II 具有优秀的实时性和高效性。它可以帮助开发人员更好地管理嵌入式系统的资源,提高系统的稳定性和可靠性
目录一、Path、Paths和Files核心API1.1 Paths工具类与path使用举例1.2 Files工具类与File使用举例二、使用FileVisitor遍历文件和目录三、使用WatchService监控文件变化三、访问文件属性Java 7对原有的NIO进行了重大改进,改进的主要内容主要包括以下两个方面:1、提供了全面的文件IO和文件系统访问支持2、基于异步Channel的IO。第一个改
转载 2023-08-18 14:11:59
61阅读
1 概述 这是一个针对RT-Thread国产操作系统的μCOS-II操作系统兼容层,可以让基于美国Micriμm公司的μCOS-II操作系统的项目快速、无感地迁移到RT-Thread操作系统上。在兼容层的设计、编写上尊重原版μC/OS-II,保证原版μC/OS-II的原汁原味。 uCOS-II兼容层的设计和编写融合了uCOS-III兼容层的编写经验,同时与uCOS-III兼容层进行交叉检查,确保
转载 2021-07-02 13:54:09
367阅读
之前我已經討論這個主題,不過現在看起來,當時的一些設計仍有改進的空間,所以打算重新加以優化。
转载 2008-08-29 12:15:00
72阅读
2评论
μC/OS-Ⅱ总是运行进入就绪态任务中优先级最高的那一个。确定哪个任务优先级最高, 下面该哪个任务运行了的工作是由调度器(Scheduler)完成的。任务级的调度是由函数 OSSched()完成的。中断级的调度是由另一个函数OSIntExt() 完成的,这个函数将在以后描 述。OSSched() 的代码如下: void OS_Sched (void) { #if OS_CRITICAL...
原创 2021-08-05 14:27:14
150阅读
在真正开始分析源代码前,先来看使用uC/OS-II的三个例子 1)使用信号量 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->#define TASK_STK_SIZE 512 /* 每个任务堆...
原创 2021-08-05 14:32:42
221阅读
下载地址:http://www.micrium.com/ 它的特点: 1)开源, 2)可移植性,绝大部分代码用C写,硬件相关部分用汇编写, 3可固化, 4)可剪裁,这通过条件编译实现,使用#define语句定义所需要的功能。 5)可剥夺性(总是运行就绪条件下优先级最高的任务)
原创 2021-08-05 14:07:43
406阅读
首先来了解下实时系统的基本概念: 1) 临界区,共享资源,任务(类似于进程),任务切换,任务调度,可剥夺型内核,可重入函数,动态优先级调度, 2) 如何处理优先级反转问题。这个问题描述如下:有三个任务,优先级1高于2,2高于3,一开始1和2处于挂起,3在运行,3要使用某个共享资源,就P它的互斥信号量,3得到信号量后开始使用这个共享资源。过一段时间后,1等待的事件发生后剥夺了3的CPU使用权,于...
原创 2021-08-05 14:27:18
61阅读
每个任务被赋予不同的优先级等级,从0 级到最低优先级OS_LOWEST_PR1O,包括0 和 OS_LOWEST_PR1O 在内。当μC/OS-Ⅱ初始化的时候,最低优先级OS_LOWEST_PR1O 总是被赋给空闲任务idle task 。注意,最多任务数目OS_MAX_TASKS 和最低优先级数是没有关系的。用户应用程序可以只有10 个任务,而仍然可以有32 个优先级的级别(如果用户将最低优先级...
原创 2021-08-05 14:27:16
69阅读
内核结构 1, 临界区,OS_ENTER_CRITICAL和OS_EXIT_CRITICAL 为了处理临界区代码,必须关中断,等处理完毕后,再开中断。关中断可以避免其他任务或中断进入临界区代码。uC/OS-II定义了这两个宏来实现,但注意一条:调用uC/OS-II功能函数时,中断应该总是开着的。 1)当OS_CRITICAL_METHOD= = 1时,简单实现如下: Code ...
原创 2021-08-05 14:27:20
434阅读
1点赞
原创 DeRoy 编程学习基地 2020-01-30点击蓝字 关注我们CC++II目录结构,联合,枚举C++结构体C++联合C++枚举bool类型内联重载缺省参数和哑元哑元引用引用特点引用做参数引用做函数返回值结构,联合,枚举C++结构体声明或定义结构体变量时可以省略struct,内部可以定义函数#include<iostream>struct STU{    int m_age; 
c++
转载 2021-03-15 14:16:32
262阅读
  • 1
  • 2
  • 3
  • 4
  • 5