摘要:
问题描述: 堆栈向上增长和向下增长 问题解决: 堆栈增长演示: 上图显示了堆栈 向上增长和向下增长的区别。 如果堆栈是向下增长,也就是从高地址向低地址增长,那么在任务刚开始创建后,堆栈是空的。如图中例子,栈顶在为TaskStk[0][511],栈底为在TaskStk[0][0]。相反,如果堆栈是向上增长的,栈顶在为TaskStk[0][0],栈底为... 阅读全文
摘要:
问题描述: ucos任务队列中优先级获取 问题解决: uCOS-II是一个多任务的操作系统,每个任务都是一个应用程序,它有自己的寄存器和堆栈空间,即任务控制块TCB(task control block),用来保存任务的状态,具体内容可以看TCB数据结构的定义OS_TCB。 所有的任务控制块组成一个单向任务链表OSTCBTbl[],每个任务控制块中有指针指向相邻的控制块,... 阅读全文
摘要:
问题描述: uc/os中任务创建 问题解决: 创建一个任务,任务从无到有。任务创建函数分两种, 一种是基本的创建函数OSTaskCreate, 另一种是扩展的任务创建函数OSTaskCreateExt。 着重讲解OSTaskCreate。 创建任务OS_TaskCreat。 堆栈初始化函数OSTaskStkInit的一个版本 ... 阅读全文
摘要:
操作系统初始化函数OS_INIT是操作系统在开始运行的最初,对全局变量、任务控制块、就绪表、事件及消息队列等重要数据结构进行的初始化操作,并创建空闲任务、统计任务等系统任务。该函数必须在创建用户对象及调用OSStart()启动实时任务调度之前运行。 操作系统初始化函数见表2.15 OS_InitMisc实现对操作系统一些混杂的全局变量的初始化 OS_InitRdyList对就绪表进行... 阅读全文