会员中心 我自己做 机器人玩具                  

当前位置 :机器人首页>机器人技术文章>ARM技术>
热门关键字: 管道机器人图片  asimo  机器人  机器  水上机器人
[机器人技术文章]ARM基础知识      
时间:2008-05-10   来源:机器人   作者:Jiqiren.net  关注指数:

**快速中断请求(FIQ)**
当处理器的外部快速中断请求引脚有效,而且CPSR的F控制位被清除时,处理器产生外部中断请求异常中断

异常中断向量表及异常中断优先级
中断向量表指定了个异常中断及其处理程序的对应关系。他通常存放在存储地址的低端。在ARM体系中,异常中断向量表的大小为32字节,其中每个异常中断占据4个字节大小,保留了4个字节空间。
每个异常中断对应的中断向量表中的4个字节的空间中存放了一个跳转指令或者一个向PC寄存器中赋值的数据访问指令。通过这两种指令,程序将跳转到相应的异常中断处理程序处执行。当几个异常中断同时发生时,就必须按照一定的次序来处理这些异常中断。

各个异常中断的中断向量地址以及中断的处理优先级

中断向量地址           异常中断类型             异常中断模式               优先级(6最低)

0x00                   复位                     特权模式                   1

0x04                   未定义的指令             未定义指令终止模式         6

0x08                   软件中断                 特权模式                   6

0x0C                   指令预取终止             终止模式                   5

0x10                   数据访问终止             终止模式                   2

0x14                   保留                     未使用                     未使用

0x18                   外部中断请求             IRQ模式                    4

0x1C                   快速中断请求             FIQ模式                    3

在应用程序中安装异常中断处理程序

1.使用跳转指令:可以在异常中断对应异常向量表中特定位置放置一条跳转指令,直接跳转到该异常中断的处理程序。这种方法有一个缺点,即只能在32M空间范围内跳转。

2.使用数据读取指令LDR:使用数据读取指令LDR向程序计数器PC中直接赋值。这种方法分为两步:先将异常中断处理程序的绝对地址存放在存放在距离向量表4KB范围内的一个存储单元中;再使用数据读取指令LDR将该单元的内容读取到程序计数器PC中。

**在系统复位时安装异常中断处理程序**

1.地址0x00处为ROM的情况

  使用数据读取指令LDR示例如下所示:

  Vector_Init_Block

  LDR PC, Reset_Addr

  LDR PC, Undefined_Addr

  LDR PC, SW_Addr

  LDR PC, Prefeth_Addr

  LDR PC, Abort_Addr

  NOP

  LDR PC, IRQ_Addr

  LDR PC, FIQ_Addr

  Reset_Addr  DCD Start_Boot

  Undefined_Addr DCD Undefined_Handle

  SW_Addr  DCD SWI_Handle

  Prefeth_Addr  DCD Prefeth_Handle

  Abort_Addr  DCD Abort_Handle

   DCD 0

  IRQ_Addr  DCD IRQ_Handle

  FIQ_Addr  DCD FIQ_Handle

使用跳转指令的示例如下所示:

  Vector_Init_Block

  BL Reset_Handle

  BL DCD Undefined_Handle

  BL SWI_Handle

  BL Prefeth_Handle

  BL Abort_Handle

  NOP

  BL IRQ_Handle

  BL FIQ_Handle

2.地址0x00处为RAM的情况

Tags:ARM基础    

     
到现在才向上顶了2
我来顶一下
上一篇:[机器人技术文章]ARM开发入门
下一篇:一步步教你在KEIL UV3上建立自己的ARM工程




  • 揭開人類机器人的智慧
    地球上最强悍的四足机器人(美国军用)-机器人(Jiqiren.net) 图片
    美军用拆弹机器人