基于ARM A9处理器用汇编语言实现中断
创作时间:
作者:
@小白创作中心
基于ARM A9处理器用汇编语言实现中断
引用
CSDN
1.
https://m.blog.csdn.net/weixin_47841246/article/details/145048170
本文将介绍在ARM A9处理器中使用汇编语言实现中断的过程和原理。通过一个具体的示例代码,详细介绍了如何创建异常向量表、初始化定时器和按键子程序,以及如何处理中断事件。文章还解释了如何使用FPGA Interval Timer中断控制LED闪烁速率,以及如何使用按键中断改变LED闪烁方向。
以下是一段在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文档。
热门推荐
线路板的层数作用,线路板几层是怎么看的?
工程师如何判断PCB板是几层板?
结算价与收盘价:探究金融市场的每日交易奥秘
期权的价值和价格是如何确定的?影响期权定价的主要因素有哪些?
“进口药”消失之问|结构变了!越来越多进口新药纳入医保
“糖友”如何科学运动,注意这些要点→
债券基金投资指南:风险评估与精选策略
火车上的水是从哪来的 为什么一直有热水 揭秘火车供水全程
济徐高铁:地方利益的博弈与区域发展的机遇!
台州娶老婆礼金给多少 浙江台州男人娶妻标准有哪些
租赁合同的漏洞及欺诈主要表现在哪些方面
什么是肉芽肿
《宿敌》:谍战剧的新探索
Token的原理及区别,以及与Cookie,Session之间的区别?
算法基础 - 冒泡排序
老年人适合做什么样的运动
手指掉皮原因及预防措施,助你拥有健康光滑的手指皮肤
基围虾冷冻可以放多久?三种冷冻保存方法详解
全民普及保险知识宣传,构建保险意识新篇章
蛋白质摄入量解读:不同人群每天摄入多少蛋白质合适?
魔方种类繁多,学习顺序如何合理化?
“熔断”规则——美股市场的涨跌停
大脑神经递质失衡:原因、影响与应对方法
如何在深圳购买个人医保?这种购买方式有哪些选择?
骨裂多久能愈合?这些因素影响愈合时间
详解:大陆公司收购香港公司的完整流程与注意事项
MVC模式详解:软件工程中的经典架构模式
冥想5分钟,真的等于熟睡1小时?
温热牛奶的功效与作用
极速提升客户服务响应速度的 11 种技巧