当前位置: 首页 > news >正文

ARM--day7(cortex_M4核LED实验流程、异常源、异常处理模式、异常向量表、异常处理流程、软中断编程、cortex_A7核中断实验)


 

 软中断代码:(keil软件)

.text
.global _start
_start:@1.构建异常向量表b resetb undef_interruptb software_interruptb prefetch_dataabortb data_abortb .b irqb fiq
reset:@2.系统一上电,程序运行在SVC模式@1>>初始化SVC模式,栈指针ldr sp,=0x40000800@3.从SVC模式切换到user模式msr cpsr,#0xD0@4.user模式	下代码@1>>初始化user模式,栈指针ldr sp,=0x40000700mov r0,#0x1mov r1,#0x2@5.执行软中断指令--->保存现场(四大部三小步)swi 2add r0,r0,r1  @ r0=0x3b stopundef_interrupt:
software_interrupt:@1.压栈保存现场stmfd sp!,{r0-r12,lr}mov r0,#0x3mov r1,#0x4add r0,r0,r1 @ r0=0x7@2.出栈恢复现场ldmfd sp!,{r0-r12,pc}^@ ^:将SPSR_<MODE>寄存器中的值,给到CPSR寄存器中prefetch_dataabort:
data_abort:
irq:
fiq:stop:b stop.end

http://www.lryc.cn/news/140401.html

相关文章:

  • Java中LinkList的基本介绍和细节讨论。双向链表的代码和LinkList的源码。LinkList和ArrayList的比较与选择。
  • Proteus软件安装包分享(附安装教程)
  • “图为科技——什么是边缘计算“
  • SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)
  • mysql 错误码
  • HTML的form表单标签详解~
  • Kafka 消费者“group_name”组正在永远重新平衡
  • 高并发编程-3. Amdahl(阿姆达尔)定律与Gustafson定律
  • ffmpeg之常用的命令行参数
  • tomcat服务器
  • 【面试题】MVC、MVP与MVVM模式是什么?
  • 网络安全02-C段扫描、开放端口
  • vscode流程图插件使用
  • mysql数据导入导出参数说明
  • Qt——QLineEdit控件常见的属性、方法和信号
  • C语言:指针和数组(看完拿捏指针和数组)
  • Conda命令整理-自用版
  • CountDownLatch 和 CyclicBarrier的区别与详解
  • Vue子组件向父组件传值(this.$emit()方法)
  • 【C++】C/C++内存管理-new、delete
  • 高手进阶之路---pyqt自定义信号
  • 研磨设计模式day09原型模式
  • (二)Redis——List
  • 【Go Web 篇】Go 语言进行 Web 开发:构建高性能网络应用
  • 开悟Optimization guide for intermediate tracks
  • wx.request配置服务器域名,只能包含英文大小写字母、数字,解决办法
  • 【有效的括号】
  • 积跬步至千里 || 数学基础、算法与编程
  • Java单元测试 JUnit 5 快速上手
  • 【Linux网络】TCP UDP socket HTTP webSocket之间的区别