Chinaunix首页 | 论坛 | 博客
  • 博客访问: 179403
  • 博文数量: 48
  • 博客积分: 2085
  • 博客等级: 大尉
  • 技术积分: 420
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-20 15:22
文章分类

全部博文(48)

文章存档

2013年(1)

2012年(1)

2011年(1)

2010年(16)

2009年(29)

分类:

2009-10-20 15:49:06

我们在进行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则不会进行任务切换。中断嵌套中断返回不会进行任务切换。

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

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