新闻中心

EEPW首页>嵌入式系统>设计应用> LPC2292的μC/OS-II硬件抽象层构建

LPC2292的μC/OS-II硬件抽象层构建

作者: 时间:2012-03-27 来源:网络 收藏

3.5 中断结构和中断处理程序的设计
  中断结构和中断处理程序的设计是嵌入式操作系统HAL中最重要的组成部分。中断机制是操作系统内核实现与外部设备通信、任务系统调用、进行出错处理,以及实现对任务的实时调度的重要手段。因此,硬件抽象层中断系统的管理部分是整个硬件抽象层中的关键。
  μC/OS-II采用了二次跳转的办法。首先在ARM处理器定义的中断向量处安放跳转指令,跳转到指定位置后,再进行位置的第二次映射。其中位置的映射是通过一个汇编定义的宏来实现的。将μC/OS-II移植到中,其宏汇编的定义如下:
MACRO
  $IRQ_Label HANDLER $IRQ_Exception_Function
  EXPORT$IRQ_Label; 输出的标号
  IMPORT$IRQ_Exception_Function; 引用的外部标号
$IRQ_Label
  SUBLR, LR, #4; 计算返回地址
  STMFDSP!, {R0R3, R12, LR}; 保存任务环境
  MRSR3, SPSR; 保存状态
  STMFDSP, {R3, SP, LR}^; 保存用户状态的R3、SP、LR,注意不能回写
  BL$IRQ_Exception_Function; 调用C语言的中断处理程序
  ;/************************************************
  ;比较当前任务控制块和最高优先级任务控制块是否一致,如果一致则直接恢复任务环境;否则,在中断退出时需要进行任务切换,CPU将运行优先级最高的任务,而不是中断前运行的任务
  ;***********************************************
  LDRR0, =OSTCBHighRdy
  LDRR0, [R0]
  LDRR1, =OSTCBCur
  LDRR1, [R1]
  CMPR0, R1
  ADDSP, SP, #4*3
  MSRSPSR_cxsf, R3
  LDMEQFDSP!, {R0R3, R12, PC}^; 恢复环境
  LDRPC, =OS_TASK_SW; 调用进行任务切换
MEND
  为了使用ISR的汇编宏,每个受μC/OS-II管理的ISR都必须按宏汇编要求的格式,在文件IRQ.S中定义:
  XXXX_HANDLERHANDLERXXXX_Exception
  其中:
  XXXX_HANDLER是ISR的起始地址,即汇编宏的起始地址,在初始化向量中断控制器时作为中断向量的地址使用。用户按中断源来命名,即把其中的XXXX换为具体的中断源名称。
  XXXX_Exception是用户用C语言实现编写的功能函数名。该函数供汇编宏调用,用户可以按实际的中断源来命名,即把XXXX换为具体的中断源名称。
3.6 定时管理
  μC/OS-II需要一个周期性的中断源来产生系统时钟节拍。μC/OS-II利用了的Timer0作为定时器产生时钟节拍。其实现步骤为:
  添加中断句柄Timer0_HandlerHANDLER Timer0_Exception配置中断源定时器T0IR = 0xffffffff;T0TC = 0;T0TCR = 0x01;T0MCR = 0x03;T0MR0 = (Fpclk / OS_TICKS_PER_SEC);配置向量中断控制器extern void Timer0_Handler(void);VICVectAddr0 = (uint32)Timer0_Handler;VICVectCntl0 = (0x20 | 0x04);使能中断VICIntEnable = 14;
4 总结
  硬件抽象层的出现,使得嵌入式操作系统的设计者不需要考虑嵌入式系统硬件环境差异较大的问题,可以专心设计通用的操作系统,而将与硬件的接口部分留给硬件抽象层来实现,这样大大提高了嵌入式操作系统在不同硬件平台之间的移植能力。本文基于硬件平台,详细介绍了μC/OS-II的硬件抽象层的构建方法,对其向其他平台的移植提供了参考。
参考文献
[1] Labrosse Jean J.MicroC/OSII,the real kernel second edition[M].北京:北京航空航天大学出版社,2003.284-307.
[2] 王力生,仇志付,唐军敏.嵌入式操作系统通用硬件层的设计[J].单片机与嵌入式系统应用,2006(10):57.
[3] 王涛,张伟良,冯重熙.嵌入式系统硬件抽象层原理与实现[J].电子技术应用,2001(10):26-28.


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭