微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > ARM技术讨论 > wince5.0中断的详细解释

wince5.0中断的详细解释

时间:10-02 整理:3721RD 点击:

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(),重新使能中断.
....
详情请查看立宇泰公司网站技术资源部分!



好文章,要支持!

详情可查看立宇泰公司网站

呵呵,没用过WinCE5不知道用着怎么样,是不是就像电脑上的Windwos差不多,都那个界面。

好资料,分享了!

好资料,分享了!

有帮助哦~~谢谢LZ分享

立宇泰推出了具备视频监控和指纹认证等功能的车载驾培系统终端!

大家一起学习

适合驾培、驾考、物流管理系统的车载一体机终端设备形成系列化
立宇泰推出的车载一代(型号)、车载二代(型号)目前已经大批量使用在各大城市的驾培终端升级中,在实际使用场合考验下,工作稳定、可靠,受到用户的好评。
车载一代:ARM9处理器+WINCE5.0操作系统,480x272像素4.3寸液晶屏,电阻式触摸屏,支持GPS定位,2G/3G拨号,RFID(TypeA/B)卡的读写,指纹采集(上层实现算法),支持1路串口摄像头,内置2~4GTF存储卡,支持音频播放。
车载二代:ARM Cotex-A8处理器+Android2.3操作系统,800x480像素7寸液晶屏,电容式触摸屏,支持GPS定位,2G/3G拨号,RFID(TypeA/B)卡读写,接触式IC卡读写,指纹采集模块(已经实现算法),支持2路模拟摄像头(支持拍照、录像),内置8GTF存储卡,提供外置TF卡接口(最大),支持录音、放音,具备陀螺仪和加速度传感器。
通过与软件方案商、集成商的合作,实现了全新的驾培管理软、硬件体系,促进各大城市的驾培管理变得更加成熟、规范、公平、公正。
http://www.hzlitai.com.cn/product/Tablet-PC/1840.html

    祝贺视频指纹车载驾培终端产品,一次性通过“国家电子计算机外部设备质量监督检验中心”权威部门的检测,测试项目包括:性能检验、环境适应性检验、可靠性检验、电磁兼容性检验、安全检验。http://www.hzlitai.com.cn/news/1855.html

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top