第19篇 基于ARM A9处理器用汇编语言实现中断<一>

**Q:**DE1-SoC_Computer系统的异常与中断有哪些特点呢?

A: DE2-115 Computer系统中的ARM Cortex-A9处理器支持8种类型的异常,包括reset和interrupt request(IRQ)以及一些故障导致的异常,详细异常类型与异常处理过程在Introduction to the ARM Processor文档中进行了介绍。IRQ异常允许I/O外设产生中断,中断发生时在处理器中会引起一个IRQ异常。所有外设产生的中断都会引起IRQ异常,每个外设都在通用中断控制器(GIC,Generic Interrupt Controller)中标识一个中断号(Interrupt ID),以下是DE1-SoC_Computer系统中的Timer和并行端口的中断号。

本次实验会用到按键KEY产生中断:当按下某一个KEY时,Interruptmask寄存器中的对应位被置1以使能中断,同时,Edgecapture寄存器中的对应位会被置1,中断服务程序通过读取Edgecapture寄存器来判断按下的是哪一个按键。将任意值写入Edgecapture寄存器会使将要传输到GIC的中断信号无效,并将Edgecapture寄存器的所有位清零。按键并行端口产生的中断的寄存器:

另外还会用到定时器中断,关于异常与中断的更详细信息,可以进一步参考...\University_Program\Computer_Systems\DE1-SoC\DE1-SoC_Computer\doc_ARM里的DE1-SoC_Computer_ARM文档。

相关推荐
Wx120不知道取啥名2 天前
基于MCU实现的电机转速精确控制方案:软件设计与实现
单片机·嵌入式硬件·定时器·adc·中断·电机控制·软件方案
CYRUS_STUDIO2 天前
Unidbg Trace 反 OLLVM 控制流平坦化(fla)
android·逆向·汇编语言
CYRUS_STUDIO14 天前
基于 Unicorn 实现一个轻量级的 ARM64 模拟器
android·逆向·汇编语言
Ronin-Lotus1 个月前
嵌入式硬件篇---常用的汇编语言指令
单片机·嵌入式硬件·职场和发展·c·汇编语言
Terasic友晶科技1 个月前
第30篇 基于ARM A9处理器用C语言实现中断<六>
c语言·fpga开发·中断
CYRUS_STUDIO1 个月前
使用 AndroidNativeEmu 调用 JNI 函数
android·逆向·汇编语言
Terasic友晶科技1 个月前
第28篇 基于ARM A9处理器用C语言实现中断<四>
c语言·de1-soc开发板·按键和定时器中断
Terasic友晶科技2 个月前
第26篇 基于ARM A9处理器用C语言实现中断<二>
c语言·fpga开发·中断·de1-soc开发板
我是菜鸡163842 个月前
Arm64 中 B跳转汇编的使用是如何实现的
汇编语言
Terasic友晶科技2 个月前
第25篇 基于ARM A9处理器用C语言实现中断<一>
c语言·fpga开发·中断·de1-soc开发板