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

Q:怎样编写ARM A9处理器汇编语言代码配置使用按键和定时器中断?

**A:**本次实验同样为中断模式和监督模式都设置ARM A9堆栈指针,并使能中断,此外在主程序中调用子程序CONFIG_HPS_TIMER和CONFIG_KEYS分别对HPS Timer 0(100MHz时钟)和按键KEY进行配置,使定时器产生某个周期的中断。

主程序会执行一个无限循环将全局变量COUNT的值写到DE1-SoC开发板的红色LED;在exceptions.s中的子程序CONFIG_GIC中配置GIC,将HPS Timer 0和按键产生的中断发送到ARM处理器;hps_timer.s文件的HPS Timer0的中断服务例程中,每次按下按键时RUN的值在1和0之间切换,当RUN=0时,COUNT的值保持不变,当RUN=1时,每0.25秒COUNT的值增加1;另外同样需要创建key_isr.s按键中断服务程序、 defines.s以及interrupt_ID.s程序。

烧录程序到DE1-SoC开发板上看到实验现象:红色LED上显示的计数值每隔0.25秒递增1,LEDR[17:0]从全熄灭到全点亮状态循环显示;按下KEY[3:0]任意一个按键会停止计数,再次按下任意一个按键会继续计数。

相关推荐
minglie11 小时前
PetaLinux 使用技巧与缓存配置
fpga开发
青春猪头ic少年梦不到兔女郎师姐16 小时前
软硬件协同仿真和验证的标准接口协议SCE-MI简介
fpga开发·uvm验证·软硬件协同仿真验证
集芯微电科技有限公司20 小时前
12V/500mA低IQ高PSRR快速瞬态线性稳压器/LDO
c语言·数据结构·单片机·嵌入式硬件·fpga开发
千宇宙航1 天前
闲庭信步使用图像验证平台加速FPGA的开发:第三十二课——车牌识别的FPGA实现(4)车牌字符的分割定位
图像处理·计算机视觉·fpga开发·车牌识别·图像腐蚀·图像膨胀
FPGA_ADDA2 天前
24GSPS高速DA FMC子卡
fpga开发·fmc子卡·高速数据采集回放·dac39rf·高速da子卡
千宇宙航2 天前
闲庭信步使用图像验证平台加速FPGA的开发:第二十九课——车牌识别的FPGA实现(1)车牌定位的预处理
图像处理·计算机视觉·fpga开发·车牌识别
微风中的麦穗2 天前
【Altium Designer2025】电子设计自动化(EDA)软件——Altium Designer25版保姆级下载安装详细图文教程(附安装包)
fpga开发·自动化·pcb设计·altium designer·电路设计·电路仿真·电子设计
易硅2 天前
AG32 mcu+cpld 联合编程(概念及流程)
vscode·单片机·嵌入式硬件·mcu·fpga开发
碎碎思3 天前
【Vivado那些事儿】AMD-XILINX 7系列比特流加密
fpga开发
lwd_up3 天前
多片RFSoC同步,64T 64R
fpga开发·无线通信·信号处理·fpga