- 28
- 0
- 约1.31万字
- 约 19页
- 2016-11-14 发布于河南
- 举报
ucos-ii实时嵌入式操作系统心得体会总结
?3个月,现把心得体会归纳如下:
一、ucos-ii的内核是抢占式内核。即处于就绪态的高优先级的任务可以抢占低优先级的任务。在每个任务创建之初需要给每个任务分配一个堆栈空间和优先级。依据所要移植的处理器的堆栈增长方向来决定传递的是堆栈数组的高位地址还是低位地址。任务创建里的任务控制块初始化函数最重要的三点是:
1?任务控制块结构体中的第一个变量是无类型指针变量,用来存储指向当前任务堆栈的栈顶指针,之所以放在第一个位置是因为在移植时用汇编代码处理较为容易(偏移量为零)。任务切换时依据用于存储任务栈指针或从其值指向的地址出栈。
2多个任务控制块形成双向链表的机制。任务控制块形成双向链表是必须的,因为系统时钟中断中调用的时钟节拍函数需要依据链表来遍历所有任务来决定哪个任务达到条件后可以处于就绪态,使其尽快运行。
3?依据优先级的数值计算出OSTCBX? OSTCBY OSTCBBitY? OSTCBBitX,以便加速任务快速进入就绪态。OSRdyTbi[]是任务就续表,数组变量的类型是8位,变量的个数依据任务的个数来决定。变量的每一个位代表一个任务,任务处于就绪态时相应的位置一?反之置零。OSTCBY?的值决定是数组的哪一个变量,其值等于优先级的值除以8。之所以要除以8,是因为变量的类型是8位的,每个变量代表8个任务,按8来分组。OSRdyG
原创力文档

文档评论(0)