E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
os-ii
uC/
OS-II
内核架构解析(7)---uC/
OS-II
应用开发
1.应用开发步骤(1)包含uC/
OS-II
的总头文件includes.h;(2)定义任务栈的大小和任务栈;(3)分配任务优先级;(4)实现任务功能;(5)调用OSInit()函数初始化uC/
OS-II
的数据结构
bao4
·
2013-11-28 00:00
程序
开发
用户
ucos
uC/
OS-II
内核架构解析(7)---uC/
OS-II
应用开发
1.应用开发步骤 (1)包含uC/
OS-II
的总头文件includes.h; (2)定义任务栈的大小和任务栈; (3)分配任务优先级; (4)实现任务功能; (5)调用OSInit()函数初始化
bao4
·
2013-11-28 00:00
开发
用户
程序
优先级
使用权
uC/
OS-II
内核架构解析(6)---uC/
OS-II
内存管理
1.memPart基本原理 uC/
OS-II
根据需要将内存空间分成多个内存分区,每个内存分区由具有相同大小的内存块(Block)组成。主要包含在C源文件OS_MEM.C中。
bao4
·
2013-11-28 00:12
空间
源文件
UC
OS-II内核架构解析
uC/
OS-II
内核架构解析(6)---uC/
OS-II
内存管理
1.memPart基本原理uC/
OS-II
根据需要将内存空间分成多个内存分区,每个内存分区由具有相同大小的内存块(Block)组成。主要包含在C源文件OS_MEM.C中。
bao4
·
2013-11-28 00:12
空间
源文件
uC
ucos
uC/
OS-II
内核架构解析(5)---uC/
OS-II
通信与同步
1.消息邮箱MboxMbox用于多任务间单一消息的传递,uC/
OS-II
使用ECB管理Mbox的基本信息,OSEventPtr指向创建Mbox时指定的内存空间。事件的创建由具体的事件管理程序实现。
bao4
·
2013-11-28 00:24
源文件
通信
uC
ucos
uC/
OS-II
内核架构解析(5)---uC/
OS-II
通信与同步
1.消息邮箱Mbox Mbox用于多任务间单一消息的传递,uC/
OS-II
使用ECB管理Mbox的基本信息,OSEventPtr指向创建Mbox时指定的内存空间。
bao4
·
2013-11-28 00:24
通信
源文件
UC
管理程序
OS-II内核架构解析
uC/
OS-II
内核架构解析(4)---uC/
OS-II
任务管理
1.C可执行代码结构 (1)代码段.text:存放CPU执行的机器指令,通常.text是可共享且只读的。 (2)数据段.data:.rodata(常量数据)、.rwdata(已初始化全局变量、静态变量)。 (3)未初始化数据段.bss:未初始化的全局变量、静态变量。 (4)栈.stack:存放函数参数、局部变量及任务切换时的上下文。 (5)堆.heap:用于动态内存分配。2.任务结构
bao4
·
2013-11-28 00:16
程序
动态
上下文
空间
UC
uC/
OS-II
内核架构解析(4)---uC/
OS-II
任务管理
2.任务结构在uC/
OS-II
中,任
bao4
·
2013-11-28 00:16
空间
程序
动态
ucos
uC/
OS-II
内核架构解析(3)---uC/
OS-II
系统核心
1.uC/
OS-II
任务调度(1)uC/
OS-II
调度算法 uC/
OS-II
采用基于优先级的调度算法,总是选择当前处于就绪状态的优先级最高的任务进行调度。
bao4
·
2013-11-28 00:30
寄存器
优先级
通用
源文件
UC
uC/
OS-II
内核架构解析(3)---uC/
OS-II
系统核心
1.uC/
OS-II
任务调度(1)uC/
OS-II
调度算法uC/
OS-II
采用基于优先级的调度算法,总是选择当前处于就绪状态的优先级最高的任务进行调度。
bao4
·
2013-11-28 00:30
源文件
寄存器
uC
ucos
uC/
OS-II
内核架构解析(2)---uC/
OS-II
基本介绍
1.uC/
OS-II
文件结构2.uC/
OS-II
组成部分uC/
OS-II
大致可以分成系统核心(包含任务调度)、任务管理、时间管理、多任务同步与通信、内存管理、CPU移植等部分。
bao4
·
2013-11-28 00:58
通信
uC
OS-II内核架构解析
ucos
uC/
OS-II
内核架构解析(2)---uC/
OS-II
基本介绍
1.uC/
OS-II
文件结构2.uC/
OS-II
组成部分 uC/
OS-II
大致可以分成系统核心(包含任务调度)、任务管理、时间管理、多任务同步与通信、内存管理、CPU移植等部分。
bao4
·
2013-11-28 00:58
通信
UC
OS-II内核架构解析
uC/
OS-II
内核架构解析(1)---嵌入式RTOS
1.嵌入式系统基本模型2.RTOS设计原则 采用各种算法和策略,始终保持系统行为的可预测性。即在任何情况下,在系统运行的任何时刻,OS的资源配置策略都能为争夺资源(包括CPU、内存、网络带宽等)的多个实时任务合理地分配资源,使每个实时任务的实时性要求都能得到满足。3.GPOS与RTOSGPOS:注重每次执行的平均响应时间,而不是某次特定执行的响应时间。RTOS:除满足应用功能需求外,还要满足实
bao4
·
2013-11-28 00:46
设计原则
单片机
应用程序
嵌入式开发
UC
多任务下看门狗程序实现
探讨多任务下喂狗的方式一直以来,我不断的探索RTOS的使用方法,以UC/
OS-II
为基础。当然努力的结果是逐渐形成了一个可以使用的软件平台。
R0binX
·
2013-09-21 17:59
软件看门狗设计
core_cm3文件函数一览
本文均已μC/
OS-II
移植为例进行举例。那么先通过几个例子介绍下内敛汇编和嵌入式汇编的形式吧,,因为下面要用到,看完这几个例子就能看懂了,但是如果需要详细学习,请参考文末的参考资料,因为
fovwin
·
2013-09-03 22:00
Cortex
M3
ucos-II
arm汇编
core_cm3
从μC/
OS-II
到μC/OS-III的各种改进
宫辉,龚光华,黄土琛1.清华大学工程物理系,北京100084;2.清华大学粒子技术与辐射成像教育部重点实验室编者按: μC/OSII对我国嵌入式实时操作系统的普及与推广起到了十分积极的作用,在嵌入式系统教学、研究以及开发应用等方面颇有影响。2011年8月,μC/OSIII的源码在Micrium网站上公开,《μC/OSIIITheRealTimeKernel》一书的修订本也陆续发布到网上,书中涉及的
fovwin
·
2013-09-03 22:00
改进
ucos-II
ucos-III
uCOS-II 系统开发笔记
uC/
OS-II
是一个简洁、易用的基于优先级的嵌入式抢占式多任务实时内核。尽管它非常简单,但是它的确在很大程度上解放了我的嵌入式开发工作。
xingqingly
·
2013-09-03 14:00
μC/
OS-II
实验:实验四 消息队列
uC/
OS-II
中,等待消息的任务总是按照优先级的高低来决定获得消息的顺序的等待消息的任务总是按照优先级的高低来决定获得消息的顺序的。具体的设计思路为: 创建队列
fovwin
·
2013-08-18 20:00
消息队列
ucos-II
μC/
OS-II
实验:实验五 内存管理
涉及的μC/
OS-II
系统函数:。。。
fovwin
·
2013-08-18 20:00
内存管理
ucos-II
μC/OS学习资料(附Ebook)
μC/OS-各版本源码《嵌入式实时操作系统μC/
OS-II
》《嵌入式实时操作系统μC/OS-III》《μC/OSII2.52源码中文译注-钟常慰 》μC/OSII教程东软UCOS-II教程第五讲实时操作系统
fovwin
·
2013-08-18 20:00
学习资料
ucos-II
μC/
OS-II
实验:实验二 优先级反转及解决方法
涉及的μC/
OS-II
系统函数:。。。
fovwin
·
2013-08-18 20:00
ucos-II
优先级反转及解决方法
μC/
OS-II
实验:实验一 任务的基本管理
关于μC/
OS-II
的学习资料猛戳此处。实验通用代码描述:实验代码模板(MDK4.70)注意:这里的app是最后一个实验的代码,按照下面描述的复制进去了ok了。也可以从最后一个开始。
fovwin
·
2013-08-18 20:00
ucos-II
任务的基本管理
uC/
OS-II
嵌入式操作系统及其开发
uC/
OS-II
嵌入式操作系统及其开发1.uC/
OS-II
创建的任务须为死循环一般情况下,uC/
OS-II
由OSTaskCreate()创建的任务必须是死循环,并且不能返回,否则程序会跑飞。
DriveLinux
·
2013-08-13 17:00
ucos-II
μC/
OS-II
的任务调度算法扩展之两种任务数扩充
关于μC/
OS-II
原任务调度算法猛戳此处。
fovwin
·
2013-08-06 20:00
任务调度
ucos-II
任务数扩展
μC/
OS-II
的任务调度算法分析
任务调度是一个操作系统最核心的部分,μC/
OS-II
通过三步走来完成这个过程。
fovwin
·
2013-08-06 20:00
任务调度
ucos-II
深入uCOS中全局变量的使用详解
阅读邵贝贝翻译的《uC/
OS-II
》一书,发现里面用了一种非常巧妙的全局变量
·
2013-05-14 16:53
uCOS-II在MSP430上的移植1——准备工作
uC/
OS-II
在MSP430上的移植1——准备工作学习uC/
OS-II
有一段时间了,下了上百兆的资料。
beyondhenry
·
2013-04-17 09:00
μC/
OS-II
在MSP430上的移植
利尔达公司技术部成功完成了uCOS-II在MSP430上的移植。在AQ430编译环境下开发了uCOS-II的移植代码,并直接移植到MSP430-TEST44X硬件开发平台,对移植的正确性进行了多重验证,达到理想效果。利尔达公司公开免费提供全部移植代码给所有单片机开发人员及爱好者使用。利尔达公司将陆续公布uCOS-II在MSP430上的所有驱动代码以及它在MSP430F15X、16X等系列上的应用实
beyondhenry
·
2013-04-17 09:00
uC/
OS-II
源码分析(总体思路一)
首先从main函数开始,下面是uC/OS-IImain函数的大致流程:main(){OSInit();TaskCreate(...);OSStart();}首先是调用OSInit进行初始化,然后使用TaskCreate创建几个进程/Task,最后调用OSStart,操作系统就开始运行了。OSInit最先看看OSInit完成哪些初始化:void OSInit(void){#ifOS_VERSION>
beyondhenry
·
2013-04-17 09:00
学习札记--uC/
OS-II
处理临界区代码的三种方法小结
实现临界区的正确访问可以采用硬件方法或是软件方法。硬件方法是解决临界段问题的低级方法,也叫做元方法。软件方法则主要指的是信号量机制。以前一遇到进程的同步或是互斥,首先想到的就是信号量,n个进程共享一个公共的信号量mutex,初值为1,各进程在进入临界区之前对该信号量进行P操作,只有在获得该信号量的情况下才能进入临界区,否则将自己阻塞,等待信号量的释放,原理简单易懂。 硬件方法有两类:一类
beyondhenry
·
2013-04-17 09:00
《嵌入式实时操作系统μC/
OS-II
原理及应用(第2版)》目录
《嵌入式实时操作系统μC/
OS-II
原理及应用(第2版)》:高等院校通用教材目录第1章嵌入式实时操作系统的基本概念11.1计算机操作系统11.1.1什么是计算机操作系统11.1.2操作系统的作用和功能21.2
changqiang08
·
2013-04-14 19:00
uC/
OS-II
消息邮箱及其操作
如果要在任务与任务之间传递一个数据,可以用消息邮箱,它的原理是在存储器中建立一个数据缓冲区,然后就以这个缓冲区为中介来实现任务间的数据传递。一.消息邮箱的操作1.创建消息邮箱OS_EVENT*OSMboxCreate(void*msg);调用此函数须先定义msg的初始值,在一般的情况下,这个初始值为NULL;但也可以事先定义一个邮箱,然后把邮箱指针做为参数。2.向消息邮箱发送消息INT8UOSMb
lwbeyond
·
2013-04-09 10:00
uC/
OS-II
互斥信号量与任务优先级反转
一.任务优先级反转的概念当任务以独占方式使用共享资源时,会出出低优先级任务先于高优先级任务而被运行的现象,这就是所谓的任务优先级反转。例如:1.任务A和任务C都要使用同一共享资源S,现在假设任务A和任务B都在等待与各自任务相关的事件发生而处于等待状态,而任务C正在运行,且在t1时刻取得了信号量的并开始访问共享资源S。2.如果在任务C使用共享资源S过程中的t2时刻,任务A等待的事件到来,那么由于任务
lwbeyond
·
2013-04-08 11:00
uC/
OS-II
的信号量及其操作
一.信号量的概念信号量的最初目的,是为了给共享资源设立一个标志,该标志表示该共享资源被占用的情况。当事件控制块成员OSEventType的值被设置成OS_EVENT_TYPE_SEM时,这个事件控制块描述的就是一个信号量。信号量由信号量计数器和等待任务表两部分组成:信号量使用事件控制块的成员OSEventCnt作为计数器,而用数组OSEventTb1[]来充当等待任务表。工作时有下面几种情况:1.
lwbeyond
·
2013-04-07 17:00
uC/
OS-II
任务间的同步及事件
一.什么是同步为了实现各个任务之间的合作和无冲突的运行,在各任务之间必须建立一些制约关系。一是各任务间应该具有一种互斥关系,即对于某个共享资源,如果一个任务正在使用,则其他任务只能等待,等到该任务释放该资源后,等待的任务之一才能使用它;二是相关的任务在执行上要有先后次序,一个任务要等其伙伴发来通知,或建立了某个条件后才能继续执行,否则只能等待。任务之间的这种制约的合作运行机制叫做任务间的同步。二.
lwbeyond
·
2013-04-07 11:00
uC/
OS-II
中的任务
一.任务的基本概念1.任务分三个部分:任务控制块,任务堆栈,任务程序代码。任务控制块:关联了任务代码的程序控制块,它记录了任务的各个属性;任务堆栈:用来保存任务的工作环境。任务程序代码:就是任务的执行部分。2.任务的状态睡眠状态:任务在没有配备任务控制块或被剥夺了作务控制块时的状态。就绪状态:配备了任务控制块并在任务就绪表中进行了就绪登记。运行状态:处于就绪状态的任务如果经调试器判断获得了CPU的
lwbeyond
·
2013-04-03 13:00
μC/OS-I移植需要编写的文件
移植μC/
OS-II
到一个新的体系结构上需要提供2个或3个文件: OS_CPU.H(C语言头文件) OS_CPU_C.C(C程序源文件) OS_CPU_A.ASM(汇编程序源文件)移植代码包括的内容移植内容类型所属文件描述
·
2013-04-03 11:00
OS
μC/
OS-II
特点
●提供源代码:购买作者撰写的《嵌入式实时操作系统μC/
OS-II
》一书即可获得μC/OS-IIV2.52版本的所有源代码,购买此书的其它版本可以获得相应版本的全部源代码。
·
2013-04-03 10:00
OS
Boot The Cortex-A9 MPCORE With Linux+uC/
OS-II
AMP
Author:FourierEmail:
[email protected]
AMP:(AsymmetricMultipleProcessing)Scenario:cpucore0runLinux,cpucore1runuC/OS-IIRTOS.HDMIdisplaypanellinktoLinux,LCDdisplaypanellinktouC/OS-IIRTOS. Platform:Mars
samssm
·
2013-03-26 10:00
ucOS任务管理总结
任务管理数据结构: 任务管理的数据结构包括任务控制块,任务空闲链表和任务就绪链表,任务优先级指针表,任务堆栈等,是μC/
OS-II
内核的核心部分之一。
·
2013-03-25 17:00
OS
μC/
OS-II
学习之:任务,信号量、邮箱、队列及其区别 .
一:UCOS是一种抢占式的多任务操作系统,如果最高优先级的任务不主动放弃CPU的使用的话,其他任务是无法运行的,通常情况下,高优先级的任务在使用完CPU或其他资源后都要主动放弃,可以通过延时函数或者时等待一些信号量之类的让自己挂起。但是如果最高优先级任务一直使用CPU,那就跟单任务没有什么区别了。二:可以通过等待信号量,消息等是当前任务挂起,或者通过通过延时函数将任务挂起,从而让其他优先级的任务运
wangyoufeng8889
·
2013-03-23 10:00
ucosii
UCOS2操作系统学习笔记(4)
http://tiandongying.blog.163.com/blog/static/16361282120101017102928777/读《嵌入式实时操作系统uC/
OS-II
》第二版1、与处理器类型无关的代码
wangyoufeng8889
·
2013-03-21 18:00
ucosii
uC/
OS-II
学习笔记-定义全局变量 . .
全局变量应该是得到内存分配且可以被其他模块通过C语言中extern关键字调用的变量。因此,必须在.C和.H文件中定义。这种重复的定义很容易导致错误。以下讨论的方法只需用在头文件中定义一次。虽然有点不易懂,但用户一旦掌握,使用起来却很灵活。表1.2中的定义出现在定义所有全局变量的.H头文件中。程序清单L1.2定义全局宏。#ifdef xxx_GLOBALS#define xxx_EXT#else#
wangyoufeng8889
·
2013-03-20 16:00
ucosii
数据结构 学习笔记之:结构体及其所定义变量的内存分配的问题
////////////////////////////////////////////////////////////////////////////////////////////更多原创“uC/
OS-II
可乐虎
·
2013-03-11 15:00
数据结构
C/C++
μC/
OS-II
学习之:任务,信号量、邮箱、队列及其区别 (转)
一:UCOS是一种抢占式的多任务操作系统,如果最高优先级的任务不主动放弃CPU的使用的话,其他任务是无法运行的,通常情况下,高优先级的任务在使用完CPU或其他资源后都要主动放弃,可以通过延时函数或者时等待一些信号量之类的让自己挂起。但是如果最高优先级任务一直使用CPU,那就跟单任务没有什么区别了。二:可以通过等待信号量,消息等是当前任务挂起,或者通过通过延时函数将任务挂起,从而让其他优先级的任务运
maochengtao
·
2013-03-08 12:00
推荐几本学uc/
os-II
的书
(比较难买)嵌入式实时操作系统uc/
os-II
教程 西安电子科技大学出版-----这本书对UCOS的源代码分析的非常清楚比作者原著在某种程度上要好,这本书对关键的代码都给出了流程图!2.
changqiang08
·
2013-03-04 13:00
uC/
OS-II
简介
uC/
OS-II
简介uC/OS是一种免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统。
changqiang08
·
2013-03-02 14:00
uC/
OS-II
中的优先级翻转问题分析
1、uC/
OS-II
中的优先级翻转问题 当涉及到共享资源的互斥访问时,多任务实时操作系统常常会出现优先级翻转问题(priorityinversion),不能保证高优先级任务的响应时间,影响系统的实时性
edonlii
·
2012-12-27 14:00
UCOS-II学习笔记(一)
(一)任务管理uC/
OS-II
中最多可以支持64个任务,分别对应优先级0~63,其中0为最高优先级。
michaelyue526
·
2012-12-18 16:00
uC/
OS-II
源码分析
首先从main函数开始,下面是uC/OS-IImain函数的大致流程:main(){ OSInit(); TaskCreate(...); OSStart();}首先是调用OSInit进行初始化,然后使用TaskCreate创建几个进程/Task,最后调用OSStart,操作系统就开始运行了。 OSInit 最先看看OSInit完成哪些初始化:void OSInit(void){#ifOS_VER
michaelyue526
·
2012-12-17 16:00
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他