[发明专利]处理器及其原生MPU的SBoot处理方法有效
申请号: | 201911343420.9 | 申请日: | 2019-12-20 |
公开(公告)号: | CN111143821B | 公开(公告)日: | 2023-04-11 |
发明(设计)人: | 杜宽森;王大永;谭永伟 | 申请(专利权)人: | 上海航芯电子科技股份有限公司 |
主分类号: | G06F21/44 | 分类号: | G06F21/44;G06F21/60;G06F21/62 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 胡晶 |
地址: | 201101 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理器 及其 原生 mpu sboot 处理 方法 | ||
1.一种处理器原生MPU的SBoot处理方法,其特征在于,包括:
在二级用户应用工作在非特权级权限时,二级用户应用若需调用禁止访问区的关键代码,则:
调用只读区中相应的接口函数,以向调用管理函数传递目标函数相应的索引值;
触发第一SVC中断,并使得:退出所述第一SVC中断后,处理器的工作权限被配置为特权级权限,并跳转至调用管理函数,以使得所述调用管理函数执行所述索引值对应的目标函数;
目标函数执行完成后,触发第二SVC中断,并使得:退出所述第二SVC中断后,处理器的工作权限恢复为非特权级权限。
2.根据权利要求1所述的方法,其特征在于,在二级用户应用工作在非特权级权限时,若二级用户应用运行中产生中断,则:
进入SBoot的中断处理过程,处理器此时工作在Handler模式,应用获取特权级权限;
在所述SBoot的中断处理过程中触发嵌套的第三SVC中断,并使得所述处理器在退出所述第三SVC中断后工作在Thread模式;工作在所述Thread模式的处理器的工作权限被配置为非特权级权限;
在所述Thread模式下,调用二级用户的中断处理程序;
在调用结束后触发嵌套的第四SVC中断,并使得所述处理器在退出所述第四SVC中断后恢复工作在Handler模式。
3.根据权利要求1或2所述的方法,其特征在于,在二级用户应用工作在非特权级权限之前,还包括:
当一级用户完成开发工作后,将所述SBoot下载到芯片并设置为默认启动程序;
在所述SBoot启动之后,分别确定所述禁止访问区与所述只读区;
将一级用户已经开发完成的关键代码下载至所述禁止访问区,并在所述只读区中记录用于调用目标函数的接口函数。
4.根据权利要求1或2所述的方法,其特征在于,退出所述第二SVC中断后,还包括:
退出至所述只读区中接口函数的返回地址,继续主流程的运行。
5.根据权利要求1或2所述的方法,其特征在于,所述SBoot中未设有读存储空间的接口。
6.根据权利要求1或2所述的方法,其特征在于,所述SBoot中各中断的优先级中,SVC中断优先级最高。
7.根据权利要求1或2所述的方法,其特征在于,当所述处理器处于Thread模式时,特权级权限与非特权级权限是通过控制寄存器的设置变化的。
8.一种处理器,其特征在于,用于执行权利要求1至7任一项所述的处理方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海航芯电子科技股份有限公司,未经上海航芯电子科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911343420.9/1.html,转载请声明来源钻瓜专利网。