stm32f407 mpu问题咨询

2019-07-14 21:51发布

大家好,小弟想问下有谁用过M4内核的mpu功能,是否有示例可以分享下,
或者MPU中的特权级代码和用户级代码是怎么区别,通过什么指令可以实现两者的跳转?
权威指南和用户手册都看了,貌似没找到,
谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
lskam123
1楼-- · 2019-07-15 02:56
1522495332 发表于 2015-9-17 22:22
刚好做项目用过,用STM32F429的MPU。我感觉了CM3的MPU没差别。《Cortex-M3 权威指南》这份资料里有很详细的介绍。
示例在公司电话没法提供,只能大致说一下我的使用。我用MPU主要是用来保护某些特定的区域,我负责设备的固件开发,然后封装成lib库交给应用开发人员,为了防止他们有意或无意修改系统的设置,我通过MPU的设置 ...

这个我也看过了,代码也是参照写的,就是会发现一个bug   CONTROL[0]  置位的时候  进入USER模式,,pendsvc这个功能不能使用  svc就可以使用,,所以就怀疑是不是很进入用户模式的时候问题了
1522495332
2楼-- · 2019-07-15 06:02
在用户级下能用SVC指令,不能用pendSVC。因为这两个异常的设计是为像操作系统这样的系统级别的程序用,SVC异常是系统开放给用户的一个进入内核的入口,而pendsvc异常一般被配置最低优先级,用来负责多任务切换等工作,从这个角度看,是不允许用户程序去触发pendSVC异常的。
异常说明.JPG
下图或许会你有帮助
用户级下使用软件中断.JPG

一周热门 更多>