当前位置:首页>> wince5.0中断的详细解释

wince5.0中断的详细解释

发布时间:2011-11-26作者:智汇小新

  1 WinCE中第一次对中断的处理是在OAL的OEMInit()中,该函数调用OALIntrInit()完成对中断的初始化。

  2 OALIntrInit()对中断的初始化做了如下工作:

  2.1 通过配置IPR0-IPR33设置中断优先级,优先级定义在g_IntPriorities和g_IntPriorities2中,其中IRQ_OSMR0为最高优先级, IRQ_KEYPAD为最低优先级。

  2.2 设置ICCR,在空闲模式时只对有效的,非屏蔽的中断响应。

  2.3 BSPIntrInit()。该函数对BSP中需要处理的中断进行初始化工作,主要是设置ICMR寄存器使GPIO1(CPLD)和GPIO2为非屏蔽状态,然后通过OALIntrStaticTranslate建立IRQ和sysintr之间的关联。

  2.4 对于WinCE来说,中断可以作如下分类:

  1》 与BSP无关的Kernel使用的内部中断, 比如IRQ_OSMR0(for

  sched),IRQ_RTCALARM;

  2》 与BSP有关的CPU内部中断,比如IRQ_USBOHCI, IRQ_OSM

  R1, IRQ_KEYPAD, IRQ_FFUART, IRQ_BTUART, IRQ_STUART, IRQ_DMAC, IRQ_USBFN;

  3》 CPLD所管理的中断,以GPIO1通知CPU中断的产生,在收到G

  PIO1产生的中断后可以通过读取地址0x0A00_0010判断具体的中断源,比如IRQ_GPIO1_MMCCD(MMC_IN_INT, MMC_OUT_INT), IRQ_GPIO1_USBCD(USB_IN_INT, USB_OUT_INT), IRQ_GPIO1_PCMCIA_S0_CSC(CF_IN_INT. CF_OUT_INT),还有在代码中没有处理的SIM卡中断(SIM_IN_INT, SIM_OUT_INT)。

  4》 GPIO2_120产生的中断,通过寄存器ICIP的位10-GPIO_x通

  知CPU中断的产生,然后查询寄存器GEDR_x可以判断具体的中断源,比如IRQ_GPIO12_MARATHO, IRQ_GPIO10_ETHERNET,IRQ_GPIO13_UCB1400;

  5》 以Installable ISR形式产生的中断,这类中断通常是以DLL的形式安装,在注册表中定义其实际的IRQ中断值,比如IRQ_MMC_DETECT,IRQ_MMC_CONTROL;

  2.5 有几种方式可以建立实际中断IRQ到系统中断sysintr之间的关联,对于build-in设备,可以在OEMInit中通过OALIntrStaticTranslate来建立静态的关联;但是对于installable ISRs,可以在注册表中定义实际的中断IRQ,然后通过在KernelIOControl中使用IOCTL_HAL_REQUEST_SYSINTR来实时分配新的sysintr,这有助于驱动的移植。

  3 在CPU接收到中断后,对中断的处理是在 OEMInterruptHandler()中,该函数的首先屏蔽该中断,最后得到实际中断IRQ所对应的sysintr的值。

  3.1 首先它通过中断寄存器ICHP得到实际的IRQ值;

  3.2 对于GPIO产生的中断,通过清空GFER和GRER寄存器来屏蔽相同的中断;对于其余的CPU内部中断,通过清空ICMR寄存器的相应位来屏蔽中断;

  3.3 对于Kernel使用的IRQ_OSMR0和IRQ_OSMR2,分别进行处理,得到sysintr;

  3.4 对于通过GPIO0,GPIO1和GPIO2_120产生的中断,将IRQ的值进行转化,使之与OAL/intr.c和bulverder_intr.h中所定义的新的IRQ值相对应,此时的IRQ值就不是在ICIP中对定义的IRQ值了;

  3.5 接着调用NKCallIntChain(irq)判断该IRQ是否已经被加入中断列表,同时开始调用该中断的ISR程序。

  4 当中断处理完成后,调用OALIntrDoneIrqs(),重新使能中断。

公司简介

宜科(天津)电子有限公司是中国工业自动化的领军企业,于2003年在天津投资成立,销售和服务网络覆盖全国。作为中国本土工业自动化产品的提供商和智能制造解决方案的供应商,宜科在汽车、汽车零部件、工程机械、机器人、食品制药、印刷包装、纺织机械、物流设备、电子制造等诸多领域占据领先地位。宜科为智慧工厂的整体规划实施提供自系统层、控制层、网络层到执行层自上而下的全系列服务,产品及解决方案涵盖但不局限于云平台、MES制造执行系统、工业现场总线、工业以太网、工业无线通讯、机器人及智能设备组成的自动化生产线、自动化电气控制系统集成、智能物流仓储系统等,以实现真正智能化的生产制造,从而带来生产力和生产效率的大幅提升,以及对生产灵活性和生产复杂性的管理能力的大幅提升。多年来,宜科以创新的技术、卓越的解决方案和产品坚持不懈地为中国制造业的发展提供全面支持,并以出众的品质和令人信赖的可靠性、领先的技术成就、不懈的创新追求,在业界独树一帜。帮助中国制造业转型升级,加速智能制造进程,成为中国工业4.0智慧工厂解决方案当之无愧的践行者。

更多详情>>

联系我们

  • 联系人:章清涛
  • 热线:18611695135
  • 电话:
  • 传真:
  • 邮箱:18210150532@139.com

Copyright © 2015 ilinki.net Inc. All rights reserved. 智汇工业版权所有

电话:010-62314658 邮箱:service@ilinki.net

主办单位:智汇万联(北京)信息技术有限公司

京ICP备15030148号-1