第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,LEDR17:0从全熄灭到全点亮状态循环显示;按下KEY3:0任意一个按键会停止计数,再次按下任意一个按键会继续计数。

相关推荐
ARM+FPGA+AI工业主板定制专家13 小时前
国产化RK3576+FPGA架构|晶圆传输机器人高速定位+AI瑕疵检测一体化方案
fpga开发·架构·机器人·嵌入式·fpga·工控·机器人运控
Eloudy1 天前
FPGA (QSFP28 + CMAC US+ RoCEv2) 与 Ubuntu22 + Mellanox 网卡直连分析
fpga开发
szxinmai主板定制专家1 天前
RK3568+FPGA高速并行采集|半导体探针测试设备多通道同步数据采集系统设计
人工智能·嵌入式硬件·计算机视觉·fpga开发
ARM|X86+FPGA工业主板厂家2 天前
RK3588+FPGA+EtherCAT异构架构解析|工业场景如何同时保住AI算力与微秒级运动实时性
人工智能·fpga开发·架构
zlinear数据采集卡3 天前
从“脏信号”到“纳伏级纯净”:硬核拆解DABL7606的多级抗混叠滤波与24位过采样算法
arm开发·科技·嵌入式硬件·fpga开发·开源
尤老师FPGA3 天前
HDMI数据的接收发送实验(二十)
fpga开发
千寻xun3 天前
三、实战篇-NVME SSD控制之FPGA实现(一)
fpga开发·nvme ssd·nvme协议
XMAIPC_Robot4 天前
软硬协同实时控制|RK3588业务调度+FPGA硬件时序,ethercat实现半导体设备微秒级响应(125us)
linux·arm开发·人工智能·fpga开发
upper20204 天前
从零开始设计riscv cpu记录之七
fpga开发·riscv·riscv设计·btb·分支预测
ARM|X86+FPGA工业主板厂家4 天前
AI视觉跟随运动控制实战|RK3588 NPU检测+FPGA EtherCAT多轴联动精准跟随方案,适用于半导体视觉对位等
人工智能·fpga开发·硬件工程·ethercat·实时系统