·上一文章:以太网智能家居控制器的设计
·下一文章:如何选择喀嗒声/噼噗声抑制器
(c)OS_STK_GROWTH用来定义堆栈生长方式, 置 0表示堆栈从下往上增长,置 1表示
堆栈从上向下增长。而在本设计中使用的是堆栈从上向下增长 S3C2410处理器,所以置1。(d)OS_TASK_SW()是一个任务切换宏,用于从低优先级任务切换到高优先级任务。它将任务切换函数OSCtxSw()封装起来。
(2) 修改OS_CPU_C.C中与操作系统相关的OSTaskStkInit()函数
OSTaskStkInit()用于任务堆栈初始化,OSTaskCreate()和 OSTaskcreateExt()通过调用OSTaskStkInit()来初始化任务的堆栈结构。图 3显示了OSTaskStkInit()在建立任务时,任务堆栈初始化的形式。
(3) 编写OS_CPU_A.ASM中4个与处理器相关的函数
OSStartHighRdy( )在程序中被 OSStart( )函数调用,作用是使就绪任务中优先级最高的任务开始运行。 OSCtxSw()是任务级的任务切换函数,通过执行软中断指令,或者依据处理器的不同,执行TPAR(陷阱)指令来实现。OSIntCtxSw()是中断级任务切换函数,通过调用它,可以在 ISR中执行任务切换功能。OSTickISR()为 uC/OS-II提供一个周期性的时钟源,来实现时间的延迟和超时功能。