词条 | 中断处理 |
释义 | 中断处理当CPU执行完一条现行指令时,如果外设向CPU发出中断请求,那么CPU在满足响应的情况下,将发出中断响应信号,与此同时关闭中断,表示CPU不在受理另外一个设备的中断。这时,CPU将寻找中断请求源是哪一个设备,并保存CPU自己的程序计数器(PC)的内容。然后,他将转移到处理该中断源的中断服务程序。CPU在保存现场信息,设备服务(如交换数据)以后,将恢复现场信息。在这些动作完成以后,开放中断,并返回到原来被中断的主程序的下一条指令。 arm启动过程中的中断向量?详细内容??最近在研究arm 对其启动一直有一点不太明白。在上电启动后,系统应该从跳入0地址异常中断处执行,然而我们一般将代码烧写到SDRAM中0xc000000的地址。这里的0xc000000并非0x00000000上电复位地址,为什么却可以启动,跳到复位程序处执行? AREA Boot ,CODE, READONLYENTRYB ResetHandlerB UndefHandlerB SWIHandlerB PreAbortHandlerB DataAbortHandlerBB IRQHandlerB FIQHandler0004,但实际却不是这样 同时 arm是32位处理器,PC指针是32位,按理说中断向量地址应该也是32位,也就是4个byte,加上B这条指令,应该也是一个32bit的指令,总共就应该是8个byte,那么一个中断向量,如B ResetHandler,就应该是占0x00000000~0x00000008,而不是0x00000000~0x000 0? 操作回答?这要看你把那个存储器映射到0地址了。如果你把SDRAM映射到0地址,那么SDRAM的0地址就是0x0的起始地址。另外,跳转指令是32bit没错,而且跳转到哪里是直接在指令中以偏移地址给出的,而不是先给指令再给地址。也就是说地址和指令在一起,总共32bit。否则的话就不用限制跳转指令的跳转范围了。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。