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

**Q:**怎样理解在ARM A9处理器中用汇编语言实现中断的过程和原理呢?

**A:**以下是一段在ARM A9处理器中使用汇编语言实现中断的示例主程序代码,该代码的开始部分创建异常向量表,矢量表中的条目提供了跳转到各种异常服务程序的指令;然后中间部分代码初始化定时器和按键的子程序;最后部分是程序用到的全局变量。主程序调用子程序初始化HPS Timer、FPGA Interval Timer以及FPGA KEY;最后程序初始化HPS GPIO1端口,使能A9处理器中的IRQ中断然后进入无限循环,当全局变量tick在HPS Timer的异常服务程序被置1时,DE1-SoC开发板上的USER_LED被点亮或熄灭。

该代码使用了两个中断,其中FPGA Interval Timer中断用于控制LED滚动闪烁的速率,而按键中断用于控制LED滚动闪烁的方向。在DE1-SoC上运行这段代码后,4个连续点亮的红色LED从右向左呈现流水灯似闪烁,按下KEY0或KEY1,流水灯的方向会改变。

关于该示例代码的更详细原理与中断处理过程可以参考...\University_Program\Computer_Systems\DE1-SoC\DE1-SoC_Computer\doc_ARM里的DE1-SoC_Computer_ARM文档。

相关推荐
乘风~&1 小时前
fpga助教面试题
fpga开发
Hcoco_me13 小时前
HDLBits ——> Building Larger Circuits
fpga开发
碎碎思14 小时前
FPGA DSP:Vivado 中带有 DDS 的 FIR 滤波器
fpga开发
电子阿板3 天前
ZYNQ TCP Server PS端千兆网口速率低问题,要修改BSP中LWIP配置参数
嵌入式硬件·tcp/ip·fpga开发·tcp
9527华安3 天前
FPGA实现SDI视频解码转GTY光口传输,基于GS2971+Aurora 8b/10b编解码架构,提供工程源码和技术支持
fpga开发·架构·音视频·8b/10b·sdi·gty·gs2971
Terasic友晶科技3 天前
第28篇 基于ARM A9处理器用C语言实现中断<四>
c语言·de1-soc开发板·按键和定时器中断
cjie2213 天前
国产FPGA开发板选择
fpga开发
RunningCamel4 天前
FPGA开发进阶指南:从基础到精通的技术跃迁
fpga开发
7yewh4 天前
数字电路-基础逻辑门实验
fpga开发
Lily48015 天前
ram的使用——初始化很重要
fpga开发