IT业行者,行者无疆
分类: 嵌入式
2010-09-27 09:24:12
标签:
杂谈 |
from:
http://fangheng1005.blog.163.com/
好长时间没有上博客写东东了,发现自己变懒了,唉,安逸的生活就是会使人变得懒散,忘记自己的方向啊,希望自己能够掌握好时间,发掘自己,努力提高自己,好吧,来今天的工作吧。
OS_CPU_C.C文件
这个文件主要是设计针对移植过程的任务堆栈结构,任务的堆栈结构对于整个系统的移植是至关重要的,应该设计一个高效的堆栈结构,综合ARM的结构,设计如下的堆栈结构。
---->>>>>任务的其他数据
---->>>>>PC值
---->>>>>LR值
---->>>>>R12
---->>>>>R11
---->>>>>R10
---->>>>>R9
---->>>>>R8
---->>>>>R7
---->>>>>R6
---->>>>>R5
---->>>>>R4
---->>>>>R3
---->>>>>R2
---->>>>>R1
---->>>>>R0
---->>>>>SPSR
---->>>>>OsEnterSum
好的,来看zlg的代码吧,你会发现很简单,只要你按照你设计的堆栈来编写函数就可以了。
{
OS_STK *stk;
这个是定义一个指向堆栈结构宽度的指针
stk
*stk = (OS_STK) task;
*--stk = (OS_STK) task;
*--stk = 0;
*--stk = 0;
*--stk = 0;
*--stk = 0;
*--stk = 0;
*--stk = 0;
*--stk = 0;
*--stk = 0;