HengFeng

--博观而约取,厚积而薄发
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

2009年8月5日

摘要: 有过嵌入式程序设计的程序员都知道,在创建一个新的任务时都要为其传入一个栈空间和栈的大小(有时),那么这个栈到底是用来干什么的呢?本文将带你找到答案。本文介绍的实验环境是Windows上移植的uCOSII,在VS.Net 2003中。一、栈首要的任务就是,存储当前任务的寄存器状态以便在任务切换时恢复到切换前的状态。这个功能是嵌入式的OS中栈的特有功能,其地址存放在任务的控制块TCB中。二、存放函数调用及局部变量。 一个嵌入式系统中往往存在很多个任务,特定任务的栈只存放该任务调用的函数及局部变量,下面我们给出实验结果://创建任务需要的栈空间int TaskStk[10][2048]; // Ta 阅读全文

posted @ 2009-08-05 15:52 hengfeng 阅读(406) 评论(0) 推荐(0) 编辑