uCos-II
痞子IT
开源,共享,谋发展!
展开
-
关于ucos任务堆栈的理解
理解一下两个概念:1;堆栈就是一段连续的空间。用于存储数据的,在c计算机中有很多应用,比如发生中断时保存现场,c语言函数调用时保存现场和临时变量。2;堆栈指针就是一个数据指针。有时候计算机自己更改其指针指向的位置来保存数据,如中断时,有时候我们程序员更改其值,比如ucos操作系统做任务切换时。堆栈作用的就是用来保存局部变量,从实质上讲也就是将CPU寄存器的值保存到RAM中。在uCOS中转载 2016-05-24 16:39:28 · 666 阅读 · 1 评论 -
OSTaskStkInit():任务堆栈结构的初始化
OSTaskStkInit():任务堆栈结构的初始化OSTaskCreate()和OSTaskCreateExt()通过调用OSTaskStkInit(),初始化任务的栈结构。因此,堆栈看起来就像中断刚发生过一样,所有寄存器都保存在堆栈中。OSTaskStkInit()的示意性代码如下所示。OSTaskStkInit()的示意性代码L: OS_STK *OSTaskStkInit转载 2016-05-24 18:01:02 · 3616 阅读 · 0 评论 -
解读uCos中优先级判定表OSUnMapTbl原理
OSOSRdyTbl[0]的bit7-bit0对应于优先级7-0, OSOSRdyTbl[1]的bit7-bit0对应于优先级15-8, OSOSRdyTbl[2]的bit7-bit0对应于优先级23-16, OSOSRdyTbl[3]的bit7-bit0对应于优先级31-24, OSOSRdyTbl[4]的bit7-bit0对应于优先级39-32, OSOSRdyTbl[5]转载 2016-05-13 16:46:20 · 619 阅读 · 0 评论 -
uCOs 查找最高优先级任务的方法和我个人的见解
之前自己在研究 ucos-II内核调度的时候,对于内核查找最高优先级的方法进行了一些总结,下面结合一些代码进行讲解!uCos-II的优先级是值越小,优先级越高。在创建task的时候,传入一个prio的参数,就是优先级,比如prio == 12;ptcb->OSTCBY = (INT8U)(prio >> 3u);//获取优先级的bit 3,4,5原创 2016-11-17 19:50:51 · 1702 阅读 · 0 评论