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

Q:怎样编写ARM A9处理器汇编语言代码配置按键端口产生中断?

A:使用Intel Monitor Program创建中断程序时,Linker Section Presets下拉菜单中需选择Exceptions。主程序在.vectors代码段为ARM处理器设置异常向量表,在.text代码段主程序为中断模式和监督模式都设置堆栈指针,初始化通用中断控制器(GIC),配置按键端口以产生中断,最后在处理器中使能中断。

创建config_GIC.s文件,并添加初始化GIC的子程序CONFIG_GIC,配置GIC将按键端口产生的中断发送到ARM处理器;创建key_isr.s按键中断服务程序、 defines.s以及interrupt_ID.s程序。

该汇编语言程序实现的功能是:按下DE1-SoC开发板的按键KEY[3:0]时,对应的在七段数码管HEX[3:0]上显示对应的数字3~0;再次按下KEY,对应的HEX不显示。

相关推荐
leixj0255 小时前
Vivado中Tri_mode_ethernet_mac的时序约束、分析、调整——(一)时序约束的基本概念
fpga开发·时序约束
fei_sun5 小时前
【FPGA】时序约束与分析
fpga开发
贝塔实验室1 天前
宇航用VIRTEX5系列FPGA的动态刷新方法及实现
考研·fpga开发·硬件架构·硬件工程·学习方法·业界资讯·fpga
贝塔实验室1 天前
FPGA的 基本结构(Xilinx 公司Virtex-II 系列FPGA )
fpga开发·重构·硬件架构·硬件工程·创业创新·fpga·程序员创富
爱思考的发菜_汽车网络信息安全1 天前
芯片详细讲解,从而区分CPU、MPU、DSP、GPU、FPGA、MCU、SOC、ECU
fpga开发·芯片
起床学FPGA1 天前
vivado时序约束和优化
fpga开发
博览鸿蒙2 天前
FPGA设计:入行芯片领域的理想起点
fpga开发
ThreeYear_s2 天前
基于FPGA的出租车里程时间计费器
fpga开发
ThreeYear_s2 天前
基于FPGA的洗衣机控制器电子定时器
fpga开发