rocking2807
驱动牛犊
驱动牛犊
  • 注册日期2006-11-20
  • 最后登录2010-09-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望88点
  • 贡献值0点
  • 好评度83点
  • 原创分0分
  • 专家分0分
阅读:1643回复:9

wince中断

楼主#
更多 发布于:2007-02-07 08:05
  有没有人知道WINCE4.2中断入口在哪个文件里,FW.S?没有呀
ISR是提供将硬件中断映射为逻辑中断
那我看见IST中有一个MAPIRQ2SYSINTR
它好像也是这个作用,只不过简化了,用它干什么?

有哪位好心将中断的调用关系讲一下
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-02-08 20:53
在哪个文件里面,可能各个BSP不大一样,
你可以查OEMInterruptHandler这个函数,它就是Interrupt的入口.
学海无涯
rocking2807
驱动牛犊
驱动牛犊
  • 注册日期2006-11-20
  • 最后登录2010-09-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望88点
  • 贡献值0点
  • 好评度83点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-02-08 22:22
班主大哥终于出手了
关于这个呢
MapIrq2SysIntr(DWORD _Irq)
{
    if( _Irq<=18 )
        return ( SYSINTR_FIRMWARE + _Irq );
    else
        return (0xffffffff);
}
这个东西在有的IST里有,它是在oalintr.h里定义的,我的是4.2的,2410的BSP
它什么意思?


我说的中断入口的意思,就是和5.0的WINCE500\PRIVATE\WINCEOS\COREOS\NK\KERNEL\ARM\armtrap.s中的
VectorInstructions
        ldr     pc, [pc, #0x3E0-8]              ; reset
        ldr     pc, [pc, #0x3E0-8]              ; undefined instruction
        ldr     pc, [pc, #0x3E0-8]              ; SVC
        ldr     pc, [pc, #0x3E0-8]              ; Prefetch abort
        ldr     pc, [pc, #0x3E0-8]              ; data abort
        ldr     pc, [pc, #0x3E0-8]              ; unused vector location
        ldr     pc, [pc, #0x3E0-8]              ; IRQ
        ldr     pc, [pc, #0x3E0-8]              ; FIQ

VectorTable
        DCD     -1                               ; reset
        DCD     UndefException          ; undefined instruction
        DCD     SWIHandler               ; SVC
        DCD     PrefetchAbort             ; Prefetch abort
        DCD     DataAbortHandler      ; data abort
        DCD     -1                               ; unused vector
        DCD     IRQHandler                ; IRQ
        DCD     FIQHandler                ; FIQ

相对应的在4.2中是什么,在哪个文件里?
我很笨
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-02-09 20:11
MapIrq2SysIntr这个函数从它的内容上看就是把IRQ转化成SYSINTR,

IRQ是硬件中断线,一般与CPU中断状态寄存器的位定义一致辞,就是说第0位定义成IRQ0,第1位定义成IRQ1,依次类推.
SYSINTR是MapIrq2SysIntr这个函数从它的内容上看就是把IRQ转化成SYSINTR,

IRQ是硬件中断线,一般与CPU中断状态寄存器的位定义一致辞,就是说第0位定义成IRQ0,第1位定义成IRQ1,依次类推.
SYSINTR是OS使用的中断定义,即我们在程序中使用的中断定义值.
学海无涯
rocking2807
驱动牛犊
驱动牛犊
  • 注册日期2006-11-20
  • 最后登录2010-09-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望88点
  • 贡献值0点
  • 好评度83点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-02-10 11:22
呵,这个我是知道的
我的意思是
既然有ISR了,为企么还会有这个函数
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-02-10 18:30
哦,不知道你的BSP里是怎么写的,
一般有这个函数的BSP,其ISR先得到IRQ,然后用这个函数将IRQ转化成SYSINTR,再将SYSINTR报告给系统.
不知我说明白没有.
学海无涯
rocking2807
驱动牛犊
驱动牛犊
  • 注册日期2006-11-20
  • 最后登录2010-09-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望88点
  • 贡献值0点
  • 好评度83点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-02-11 10:25
谢谢班长
哈哈
rocking2807
驱动牛犊
驱动牛犊
  • 注册日期2006-11-20
  • 最后登录2010-09-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望88点
  • 贡献值0点
  • 好评度83点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-02-11 17:45
那这个呢
5.0的WINCE500\PRIVATE\WINCEOS\COREOS\NK\KERNEL\ARM\armtrap.s中的
VectorInstructions
    ldr   pc, [pc, #0x3E0-8]         ; reset
    ldr   pc, [pc, #0x3E0-8]         ; undefined instruction
    ldr   pc, [pc, #0x3E0-8]         ; SVC
    ldr   pc, [pc, #0x3E0-8]         ; Prefetch abort
    ldr   pc, [pc, #0x3E0-8]         ; data abort
    ldr   pc, [pc, #0x3E0-8]         ; unused vector location
    ldr   pc, [pc, #0x3E0-8]         ; IRQ
    ldr   pc, [pc, #0x3E0-8]         ; FIQ

VectorTable
    DCD   -1                     ; reset
    DCD   UndefException       ; undefined instruction
    DCD   SWIHandler           ; SVC
    DCD   PrefetchAbort         ; Prefetch abort
    DCD   DataAbortHandler     ; data abort
    DCD   -1                     ; unused vector
    DCD   IRQHandler           ; IRQ
    DCD   FIQHandler           ; FIQ

相对应的在4.2中是什么,在哪个文件里?
哈哈
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-02-13 20:22
XD,不好意思,4.2现在没有了,你自己好好查查吧
学海无涯
rocking2807
驱动牛犊
驱动牛犊
  • 注册日期2006-11-20
  • 最后登录2010-09-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望88点
  • 贡献值0点
  • 好评度83点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-02-14 13:42
我是找啊找的,没找到.
游客

返回顶部