Chinaunix首页 | 论坛 | 博客
  • 博客访问: 21050
  • 博文数量: 4
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2014-08-12 20:05
文章分类
文章存档

2015年(3)

2014年(1)

我的朋友
最近访客

分类: 嵌入式

2014-09-11 14:33:51

    对于初次接触嵌入式实时操作系统的朋友来说,UCOSII 构思巧妙,结构简洁精练,可读性强,同时又具备了实时操作系统的全部功能, 虽然它只是一个内核,但非常适合初次接触嵌入式实时操作系统的朋友,可以说是麻雀虽小, 五脏俱全,本章,笔者将从UCOSII任务调度的硬件软件方面着手,介绍UCOSII,让读者能够初步了解嵌入式实施操作系统。

    UCOSII 是一个可以基于ROM 运行的、可裁减的、抢占式、实时多任务内核,具有高度可 移植性,特别适合于微处理器和控制器,是和很多商业操作系统性能相当的实时操作系统 (RTOS)

    这里有几个UCOSII 相关的概念需要大家了解一下。任务优先级,任务堆栈,任务控制块, 任务就绪表和任务调度器。 
    任务优先级,这个概念比较好理解,ucos 中,每个任务都有唯一的一个优先级。优先级是任务的唯一标识。在UCOSII 中,使用CPU 的时候,优先级高(数值小)的任务比优先级低的任务具有优先使用权,即任务就绪表中总是优先级最高的任务获得CPU 使用权,只有高优先级的任务让出CPU 使用权(比如延时)时,低优先级的任务才能获得CPU 使用权。UCOSII 不支持多个任务优先级相同,也就是每个务的优先级必须不一样。 
    任务堆栈,就是存储器中的连续存储空间。为了满足任务切换和响应中断时保存CPU 寄存器中的内容以及任务调用其他函数时的需要,每个任务都有自己的堆栈。在创建任务的时候,任务堆栈是任务创建的一个重要入口参数。 
    任务控制块OS_TCB,用来记录任务堆栈指针,任务当前状态以及任务优先级等任务属性。UCOSII 的任何任务都是通过任务控制(TCB )的东西来控制的,一旦任务创建了,任务控制块OS_TCB 就会被赋值。每个任务管理块有3 个最重要的参数:1,任务函数指针;2 ,务堆栈指针;3,任务优先级;任务控制块就是任务在系统里面的身份证(UCOSII 通过优先级识别任务)
    任务就绪表,简而言之就是用来记录系统中所有处于就绪状态的任务。它是一个位图,系 统中每个任务都在这个位图中占据一个进制位,该位置的状态(1 或者0 )就表示任务是否处于就绪状态。 
    任务调度的作用一是在任务就绪表中查找优先级最高的就绪任务,二是实现任务的切换。 

    UCOSII的每个任务都是一个死循环,如图可以说明UCOSII 的状态转换:


这里讲到UCOSII的一些基础知识,下面将会讲到与UCOSII的相关函数,
  1建立任务函数:
  1. OSTaskCreate(void(*task)(void*pd),void*pdata,OS_STK*ptos,INTU prio)
    2 )任务删除函数:
  1. INT8U OSTaskDel(INT8U prio) 
这里特别注意:任务不能随便删除,必须在确保被删除任务的资源被释放的前提下才能删除! 
    3)请求任务删除函数:
  1. INT8U OSTaskDelReq(INT8U prio) ;
    4 )改变任务的优先级函数 :
  1. INT8U OSTaskChangePrio(INT8U oldprio,INT8U newprio) ;
    5 )任务挂起函数:
  1. INT8U OSTaskSuspend(INT8U prio) ;
    6 )任务恢复函数:
  1. INT8U OSTaskResume(INT8U prio) ;
    7 )任务信息查询:
  1. INT8U OSTaskQuery(INT8U prio,OS_TCB *pdata);

介绍UCOSII的平台是在STM32上,现在来介绍一下在stm32上运行UCOSII的步骤:
(1 )移植UCOSII
(2 )编写任务函数并设置其堆栈大小和优先级等参数。

(3 )初始化UCOSII,并在UCOSII 中创建任务
4 )启动UCOSII 
          调用OSStart,启动UCOSII 。
      通过以上 4   个步骤,UCOSII     就开始在 STM32  上面运行了,这里还需要注意我们必须对os_cfg.h 进行部分配置,以满足我们自己的需要。 








 

阅读(1965) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:Wince设备环境和画笔应用

给主人留下些什么吧!~~