码迷,mamicode.com
首页 >  
搜索关键字:uc-os-ii    ( 61个结果
uC/OS II 任务切换原理
今天学习了uC/OS II的任务切换,知道要实现任务的切换,要将原先任务的寄存器压入任务堆栈,再将新任务中任务堆栈的寄存器内容弹出到CPU的寄存器,其中的CS、IP寄存器没有出栈和入栈指令,所以只能引发一次中断,自动将CS、IP寄存器压入堆栈,再利用中断返回,将新任务的任务断点指针弹出到CPU的C....
分类:其他好文   时间:2015-02-14 14:56:02    阅读次数:351
一个及其简化版本的内存池实现
最近写的一个程序中需要频繁的申请和释放零碎的内存块,这些内存块的大小却只有简单的几种。如果直接使用系统调用malloc/free、new/delete进行内存分配和释放,则效率很低。程序运行时间长了会产生大量的内存碎片。想起uC/OS-II 里面提供了个内存分配单元,正好满足我的需要。就把里面相关的代码扒了出来。写成了一个内存池的类。   这个内存池的功能非常的简单,初始化时分配一大块内存,然...
分类:其他好文   时间:2015-01-23 16:24:55    阅读次数:205
时间管理(uC/OS-II)
一、时钟节拍uC/OS-II需要提供周期性信号源,用于实现时间延迟和确认超时。时钟节拍率越高,系统的额外负荷就越重。时钟节拍的实际频率取决于应用程序的精度。时钟节拍可以是专门的硬件定时器,也可以是来自50/60Hz交流电源信号。注意:必须在多任务系统启动以后,即在调用OSStart()之后,再开启时...
分类:其他好文   时间:2014-12-07 23:12:03    阅读次数:343
任务管理(uC/OS-II)
任务可以是一个无限的循环,也可以在一次执行完毕后被删除掉。任务的返回类型必须定义成void,只是它决不返回。任务必须是以下两种结构之一:void YourTask(void *pdata){ for (;;) { /*用户代码*/ }}void YourTask(vo...
分类:其他好文   时间:2014-12-06 15:16:27    阅读次数:244
任务的调度与切换(uC/OS-II)
一、任务的状态任务的5种状态:休眠态、就绪态、运行态、挂起态(等待某一事件发生)和被中断态。1、休眠态任务驻留在内存中,但并不被多任务内核所调度。2、就绪态任务已经准备好,可以运行,但由于该任务的优先级比正在运行的任务的优先级低,暂时不能运行。3、运行态任务掌握了CPU的使用权,正在运行中。4、挂起...
分类:其他好文   时间:2014-12-02 20:46:28    阅读次数:296
任务就绪表的结构与操作(uC/OS-II)
一、任务就绪表的结构每个任务被赋予不同的优先等级,从0级到最低优先级OS_LOWEST_PRIO,包括0和OS_LOWEST_PRIO在内。当uC/OS-II初始化时,最低优先级OS_LOWEST_PRIO总是被赋给空闲任务idle task。注意:最多任务数目OS_MAX_TASKS和最低优先级数...
分类:其他好文   时间:2014-12-01 22:06:25    阅读次数:215
STM32移植uC/OS-II记录
#STM32移植uC/OS-II标签(空格分隔): ARM uC/OS-II---##移植前相关知识介绍###目标板与uC/OS-II的系统框架图![](http://images.cnitblog.com/blog/665192/201408/301617582511830.jpg)###搭建文件...
分类:其他好文   时间:2014-11-27 21:50:08    阅读次数:254
OSSchedLock()函数透析
uC/OS-II的OSSchedLock()和OSSchedUnlock()函数允许应用程序锁定当前任务不被其它任务抢占。使用时应当注意的是:当你调用了OSSchedLock()之后,而在调用OSSchedUnlock()之前,千万不要再调用诸如OSFlagPend()、OSMboxPend()、O...
分类:其他好文   时间:2014-11-13 12:19:02    阅读次数:236
uC/OS II 函数说明 之–OSTaskCreate()与OSTaskCreateExt()
1. OSTaskCreate() OSTaskCreate()建立一个新任务,能够在多任务环境启动之前,或者执行任务中建立任务。注意,ISR中禁止建立任务,一个任务必须为无限循环结构。 源码例如以下:#if OS_TASK_CREATE_EN > 0 /* 条件编译,是否同意任务的创建 */IN....
分类:其他好文   时间:2014-10-30 18:43:24    阅读次数:116
uC/OS II 函数说明 之–OSTaskCreate()与OSTaskCreateExt()
1. OSTaskCreate() OSTaskCreate()建立一个新任务,能够在多任务环境启动之前,或者执行任务中建立任务。注意,ISR中禁止建立任务,一个任务必须为无限循环结构。 源码例如以下:#if OS_TASK_CREATE_EN > 0 /* 条件编译,是否同意任务的创建 */IN....
分类:其他好文   时间:2014-09-26 18:17:48    阅读次数:172
61条   上一页 1 ... 4 5 6 7 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!