第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不显示。

相关推荐
晓晓暮雨潇潇17 小时前
FPGA开发技能(10)热电偶测温ADS1118方案
fpga开发·verilog·热电偶·ads1118·温度测试方案
zidan14122 天前
XILINX硬件设计-(1)LVDS接口总结
fpga开发
啄缘之间2 天前
verilog练习:i2c slave 模块设计
学习·fpga开发·verilog·uvm
nature_forest2 天前
quartus24.1版本子模块因时钟问题无法综合通过,FPGA过OOC问题复盘
fpga开发
hi942 天前
Versal - Petalinux 2024.2(下载与安装+VD100+安装JupyterLab+SD卡分区+SDT流程)
linux·fpga开发·petalinux·versal soc
博览鸿蒙2 天前
想成为FPGA工程师需要学什么?主要工作内容是什么?
fpga开发
博览鸿蒙2 天前
FPGA设计怎么学?值得学吗?
fpga开发
啄缘之间3 天前
verilog练习:8bit移位寄存器
开发语言·学习·fpga开发·verilog·uvm
9527华安3 天前
FPGA高端项目:实时视频缩放+UltraScale GTH光编码+UDP图传架构,高速接口转网络视频传输,提供工程源码和技术支持
网络·fpga开发·图像缩放·高速接口·ultrascale gth·8b10b
碎碎思4 天前
DeepSeek在FPGA/IC开发中的创新应用与未来潜力
fpga开发