保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

μC/OS-II在凌阳单片机SPCE061A上的移植


>  
  //求出系统堆栈的长度,并将其存入R2
  
  R1=SP
  
  R2=OSStkStart
  
  
  
  
  R1+=1
  
  R2=R2-R1
  
  R1=[_OSTCBCμγ]//R1≤OSTCBStkPtr,R1为任
  
  //务堆栈的头指针
  
  R1=[R1]//首先将系统堆栈长度保存在任
  
  //务堆栈中
  
  [R1]=R2
  
  R3=OSStkStart//得到堆栈的起始地址
  
  //保存系统堆栈到任务堆栈
  
  save_stack:
  
  R3-=1
  
  R1+=1
  
  R4=[R3]
  
  [R1]=R4
  
  R2-=1
  
  JNZsave_stack
  
  CALL_OSTaskSwHook
  
  R1=[_OSTCBHighRdy]
  
  [_OSTCBCur]=R1
  
  R1=[_OSPrioHighRdy]
  
  [_OSPrioCur]=R1
  
  JMPOSCtxSw_in
  
  3.2μCOS-II系统时钟
  
  以凌阳SPCE061A单片机的TMB2时基信号作为系统时钟,每经历一个时钟节拍的时间将产生一次中断,在中断服务子程序中会调用OSTickISR()函数,汇编代码如下:
  
  _OSTickISR:
  
  PUSHALL
  
  R1=0x0001
  
  testR1,[P_INT_Ctrl]
  
  JZOUT
  
  R1=0x0001
  
  [P_INT_Clear]=R1
  
  CALL_OSIntEnter
  
  CALL_OSTimeTick
  
  CALL_OSIntExit
  
  OUT:
  
  R1=0x0001
  
  [P_INT_Clear]=R1
  
  POPALL
  
  RETI
  
  结语
  
  RTOS是当今嵌入式应用的热点。应用RTOS,可以提高产品的可靠性,降低研发周期。μCOS-II具有很好的实时性和很小的代码量,因此掌握μCOS-II的移植方法是相当重要的。本文移植修改的源代码请参见本刊网络补充版(http://fanwen.oyaya.net收集整理)。
  
  
  
  
  
 

《μC/OS-II在凌阳单片机SPCE061A上的移植(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/166366.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。