Chinaunix首页 | 论坛 | 博客
  • 博客访问: 594905
  • 博文数量: 119
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 1583
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-15 09:18
文章分类

全部博文(119)

文章存档

2011年(3)

2010年(21)

2009年(44)

2008年(51)

我的朋友

分类:

2009-03-23 16:27:33

我们在进行ucos的移植时,难点就是在于那几个和内核有关的汇编函数,在写这几个函数之前我们应该知道系统在什么地方使用了它,这样我们能更好的理解这几个函数的作用。

     下面是我整理得关于这几个函数的使用:

       1.os_cpu_sr_save 关闭所有中断 和 os_cpu_sr_restor 打开中断

     这两个函数经常一起使用,在改变一些变量的时候要使用这两个函数以免中断影响变量的操作,在系统函数里这两个函数是通过os_enter_criticl()和0s_exit_criticl()调用的

       2. OSStartHighRdy 启动系统的第一个任务

   只在函数OSStart()的最后调用,用来启动第一个任务,在调用之前OSStart()的里的前面的操作已经找到了最高就绪优先级控制块指针。

    3.OSCtxSw()  任务级切换

   他是在os_task_sw()函数调用的,该函数只在os_sched()任务调度函数中调用,在调用他之前,程序也是要先找到就绪任务优先级最高的的控制块指针。

    4.OSIntCtxSw() 中断级任务切换

   这是在返回时的任务切换,如果osintnesting>0则不会进行任务切换。中断嵌套中断返回不会进行任务切换。

        我们知道了这些函数的使用,对我们写移植代码会有很多好处。

阅读(804) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~