新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式实时操作系统μC/OS-Ⅱ的移植实例

嵌入式实时操作系统μC/OS-Ⅱ的移植实例

作者:时间:2012-04-05来源:网络收藏

3.2 修改OS_CPU_C.C文件
3.2.1 任务堆栈初始化
修改OSTaskStkInit()函数,OSTaskStkInit()由任务创建函数OSTaskCreate()或OSTaskCreateExT()调用,用来初始化任务的堆栈。OS Task StkInit()与调用它的函数由3个参数进行传递:任务代码起始地址(task),参数指针(p_arg),任务堆栈顶地址(ptos)。
e.JPG
后5个函数为钩子函数,如无特殊需求可以不加代码。
3.2.2 中断级任务切换函数
OSIntCtxSw()函数通过设置一个全局变量OSIntCtxSwFlag标志以表示在中断服务程序中进行任务切换,并在OSTickISR()中判断该变量以进行正确的动作。
f.JPG
3.3 修改OS_CPU_A.ASM文件
在此文件中需改写4个函数:OSStartHighRdy(),OSCtxSw(),OSIntCtxSw()和OSTickISR()。
3.3.1 OSStartHighRdy()函数
该函数由OSStart()调用,功能是运行优先级最高的就绪任务,其代码如下:
g.JPG
h.JPG
linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭