- 博客(13)
- 资源 (10)
- 收藏
- 关注
转载 uC/OS-II在ARM系统上的移植与实现
uC/OS-II在ARM系统上的移植与实现 摘要:使用ARM公司提供的ADS 开发工具,将uC/ OS - II 移植到ARM 处理器上,并将移植结果应用在跑马灯和数码管的实现上,运行正常,表明移植成功.关键词:uC/ OS - II ;ARM;移植0 引言 在开发嵌入式系统时,一般选择基于ARM 和uC/ OS - II 的嵌入式开发平台,因为ARM 微处理器具有处理速度快、
2009-05-17 21:03:00 1824
原创 信号量管理
信号量管理 信号量是什么? 信号量像一把钥匙,任务要运行下去就得先拿到这把钥匙,如果信号量被别的任务占用,那么申请信号量的任务就得挂起 为什么使用信号量? 能够控制共享资源的使用权,能标志事件的发生,在多任务系统中普遍使用 信号量是怎么使用的? 一般的说对信号量只能实施三种操做:初始化(initi
2009-05-17 21:02:00 2278
转载 事件控制块
事件控制块 任务或中断服务子程序可以通过ecb向另外的任务发信号。事件:信号!!!控制块:数据结构!!!事件等待列表,类似于就绪表。当一个事件发生后,处于事件等待列表中的优先级最高的任务得到该事件 一. 事件控制块ECB数据结构:typedef struct{ INT8U OSEventType; //事件类型 INT8U OSEventGr
2009-05-17 21:01:00 2336
转载 时钟中断技术
时钟中断技术1 系统中断与时钟节拍1.1 系统中断 中断是一种硬件机制,用于通知CPU有个异步事件发生了。中断一旦被系统识别,CPU则保存部分(或全部)现场(context),即部分(或全部)寄存器的值,跳转到专门的子程序,称为中断服务子程序(ISR)。中断服务子程序做事件处理,处理完成后执行任务调度,程序回到就绪态优先级最高的任务开始运行(对于可剥夺型内核)。 中断使得CPU
2009-05-17 21:00:00 1483
原创 任务的五种状态(uc/os)
任务的五种状态(uc/os) 1、 睡眠:任务只以代码的形式存在,没交给操作系统管理,即没有分配任务控制块和任务 堆栈 2、 就绪:任务全副武装,并在就绪表中登了记 3、 运行:获得了cup的使用权 4、 等待(挂起):正在运行的任务,需要等待一个事件的发生在运行,cpu使用权被剥夺,自己处于等待状态 5、 中断服务:正在运行的任务
2009-05-17 20:59:00 15697
转载 任务控制块
任务控制块 一旦任务建立了,任务控制块OS--_TCBs将被赋值。任务控制块是一个数据结构,当任务的CPU使用权被剥夺时,μC/OS-Ⅱ用它来保存该任务的状态。当任务重新得到CPU使用权时,任务控制块能确保 任务从当时被中断的那一点丝毫不差地继续执行。OS--_TCBs全部驻留在RAM中。读者将会注意到笔者在组织这个数据结构时,考虑到了各成员的逻辑分组。任务建立的时候,OS--_T
2009-05-17 20:58:00 4155
原创 任务管理
任务管理 一、建立任务:OSTaskCreate、OSTaskCreateExt 1、参数:void (*task)( void *pd):用指向函数的指针做函数参数。指向任务代码 *pdata:指向非强制性数据区域的指针,当任务优先运行时传递参数给任务(详) *ptos:指向任务顶部的指针,如果配置常数OS_STK_
2009-05-17 20:57:00 986
转载 内核解读
/****************************************************************************************************** uC/OS-II*
2009-05-17 20:56:00 853 1
原创 内核结构
内核结构 1、 uc是怎样处理临界段代码的? Uc/os在处理临界段代码时必须先关中断,等处理完毕后再开中断,关中断的时间是实时内核的重要指标。 进入和退出临界段宏指令为: OS_ENTER_CRITICAL(); OS_EXIT_CRITICAL() 在不同的处理器在OS_CPU.H文件中进行了不同的定义,具体用哪种,取决于用户打算移植到的处理器性能及所
2009-05-17 20:55:00 690
原创 内存管理
内存管理 在rtos中调用malloc和free函数是非常危险的,因为这样会出现内存碎片,再者由于内存管理算法上的原因,这两个函数的执行时间不确定,在uc中,系统把内存按分区管理,每个分区中包含整数个大小相同的内存块,对malloc和free函数做了改进,以确定执行时间。每个分区又划分成相等的若干块,根据任务所需内存的大小去寻找分区,找到后分配,释放时回到所属分区,这样解决了内存碎片问
2009-05-17 20:54:00 869
原创 就续表之我见
就续表之我见 理解三个变量:OSRdyGrp、OSRdyTbl[]、OSMapTbl[] 所谓就绪表,就是定义了两个变量,OSRdyGrp是组向量,它就是一个八位二进制数(如:10000100),OSRdyTbl[]是位向量,它就是一个有八个元素的数组,每个元素也是一个八位二进制数(如:01100100),OSMapTbl[]是uc为加快运算速度定义的一个数组,每个元素也是
2009-05-17 20:53:00 1108
转载 堆栈详解
堆栈详解转一:总体把握 堆栈就是这样一种数据结构。它是在内存中开辟一个存储区域,数据一个一个顺序地存入(也就是“压入——push”)这个区域之中。有一个地址指针总指向最后一个压入堆栈的数据所在的数据单元,存放这个地址指针的寄存器就叫做堆栈指示器。开始放入数据的单元叫做“栈底”。数据一个一个地存入,这个过程叫做“压栈”。在压栈的过程中,每有一个数据压入堆栈,就放在和前一个单元相连的后
2009-05-17 20:52:00 2337 4
转载 uc/os整体把握
uc/os整体把握 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的, 绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌人到开发的产品中。μC/OS-II 具有执行效
2009-05-17 20:50:00 864
嵌入式实时操作系统 都江堰 源码
2009-05-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人