编写一个stm32 svc关中断函数
2016-03-08 20:24
483 查看
做到了让stm32触发svc中断并传递进去参数然后切换到handler模式并修改特殊寄存器的值,从而达到关中断,但是其实这个程序直接就是特权级,故不进入handler模式也可以修改特殊寄存器。。。。。。
如下为调用写的开关中断函数:
新建了一个文件asm.c,所有我写的汇编函数都在里面:
前两个是关中断和开中断函数,主要做的事将参数传入R8并触发svc中断。
Svc中断中则调用第三个set_i()函数。
当触发了中断之后,M3内核进入handler模式,利用R8中的数据,修改特殊寄存器BASEPRI。这个寄存器只有在特权级才能访问。
Stm32中断分组为组1,优先级位数为4,故抢占优先级为1的中断都被屏蔽。只有tim3中断抢占优先级为0,故调用第一个函数之后只有tim3中断依然可以进行。
来自为知笔记(Wiz)
如下为调用写的开关中断函数:
新建了一个文件asm.c,所有我写的汇编函数都在里面:
前两个是关中断和开中断函数,主要做的事将参数传入R8并触发svc中断。
Svc中断中则调用第三个set_i()函数。
当触发了中断之后,M3内核进入handler模式,利用R8中的数据,修改特殊寄存器BASEPRI。这个寄存器只有在特权级才能访问。
Stm32中断分组为组1,优先级位数为4,故抢占优先级为1的中断都被屏蔽。只有tim3中断抢占优先级为0,故调用第一个函数之后只有tim3中断依然可以进行。
来自为知笔记(Wiz)
相关文章推荐
- Windows 下java环境变量的配置(Windows7 ,8,8.1,10)
- 个人项目—数组求和
- python中有关矩阵的创建、求逆、转置
- 关于使用Java的事情
- HDU杭电 1027 Ignatius and the Princess II
- 移动设备自定义面板切换
- jq延迟的使用
- JAVA 字符流与字节流的区别
- linux 文件描述符的一些底层实现
- Java序列化
- 歌曲背后的故事《可回答音乐相关的问题》
- stm32内联汇编
- CodeForces 132C Logo Turtle (记忆化搜索)
- 1037. Magic Coupon (25)
- 我的SLAM 探索(一)--如何正确地驱动Kinect V2
- 树状数组
- 最小生成树之普里姆算法
- 03-linux指令学习记录
- 推断股票强弱最有效的一个方法
- LeetCode - 48. Rotate Image