您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术基于MC68HC908GP32的μC/OS-II移植 正文
基于MC68HC908GP32的μC/OS-II移植

基于MC68HC908GP32的μC/OS-II移植

点击数:7449 次   录入时间:03-04 11:59:12   整理:http://www.55dianzi.com   嵌入式系统-技术

  CLI

  }

  for(;;){

  PORTA&=0xFE;

  OSTimeDly(5); /*延时0.5s*/

  PORTA|=0x01;

  /*延时0.5s*/

  DSTimeDly(5);

  Count++;

  If(count= =4){

  OSSemPost(Semaphore);

  Count=0;

  }

  }}

  void Task2(void *pdata)

  {

  Byte err;

  For(;;){

  OSSemPend(Semaphore,0,&err);

  PORTA&=0xFD:

  OSSemPend(Semaphore,0,&err);

  PORTA|=0x02;

  }

  }

  void main(void){

  Hardwarelnit(); /*完成硬件的初始化工作*/

  Oslint(); /*初始化多任务环境*/

  Semaphore=OSSEMCreate(0);

  OSTaskCreate(Task1,(void*)0,(void*)&Task1Stk

  [TASK_STK_SIZE],10);

  OSTaskCreate(Task2,void*)0,(void*)&Task2Stk

  [TASK_STK_SIZE],9);

  OSStart();

  }

  在主程序main()中,用户必须先调用OSInit(),然后创建各个任务和信号量等,最后调用OSStart(),以启动内核运行,开始正常的任务调度。

  本例中尽量减小了对RAM的需求:假如中断嵌套层数不超过三层,所需事件只有一个,即只需要一个事件控制块;应用中对μC/OS-II提供的功能进行最大限度的裁剪,能不用的尽量不用。采用了上述措施后,μC/OS-II的RAM使用情况大致如下:μC/OC-II所使用的全局变量占用22字节,事件控制块占用12字节。此外,当系统初始化时,还需要最小30字节的系统堆栈用于初始化TCB,并传递参数。以上为μC/OS-II中系统所必需的RAM,计64字节。

  综上所述,GP32的512字节RAM可分为8个64字节的RAM块。如果运行4个任务,能留给应用程序的RAM也只剩下128字节了。如果在GP32上运行μC/OS-II,且不多于8个任务,则任务调度表可以再简化,不需要调度64个任务,只调度8个任务就可以了。



上一页  [1] [2] [3] 


本文关键字:暂无联系方式嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术