[发明专利]一种程序调用方法在审
申请号: | 201811410189.6 | 申请日: | 2018-11-23 |
公开(公告)号: | CN109684049A | 公开(公告)日: | 2019-04-26 |
发明(设计)人: | 龚进;冯旭超;秦岭 | 申请(专利权)人: | 上海琪埔维半导体有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/54 |
代理公司: | 上海申新律师事务所 31272 | 代理人: | 俞涤炯 |
地址: | 200120 上海市浦东新区中国(上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用户程序 外设寄存器 芯片 存储保护单元 访问寄存器 程序调用 代码数据 芯片内核 用户需要 寄存器 寄存器设置 处理模式 访问模式 继续执行 间接操作 用户操作 误操作 回线 使能 出错 开发 返回 应用 保证 访问 服务 | ||
本发明公开了一种程序调用方法,应用于采用cortex‑m类型的芯片内核的芯片中,芯片中设置一存储保护单元,芯片内核连接一寄存器,用户通过用户程序使能存储保护单元,以将寄存器设置为处于特定访问模式下,当用户需要通过用户程序访问寄存器中的代码数据时,芯片被切换至处理模式;当用户完成对寄存器的访问后,芯片被切换回线程模式,继续执行用户程序,并在用户需要通过用户程序访问寄存器中的代码数据时返回步骤S2。使用本发明可以缩短用户的开发时间,提高用户程序的稳定性、可靠性。用户通过发起SVC服务间接操作外设寄存器,可以避免用户操作外设寄存器时出错,缩短开发时间,此方式可保证程序不会误操作对系统非常关键的外设寄存器,提高系统的安全性。
技术领域
本发明涉及本发明属于集成电路芯片的安全性设计领域,尤其涉及一种程序调用方法。
背景技术
芯片上都会集成许多功能,要使用这些功能就需要对芯片的外设寄存器进行读写。也就是说程序想要实现芯片各种各样的功能就离不开对这些外设寄存器的访问。由于程序的缺陷或者工作环境的干扰,程序有可能会出现没有意料到的对外设寄存器的错误访问,从而产生没有意料到的结果。通常cortex-m的芯片供应商提供的驱动程序库都是让用户程序运行在特权级访问模式,即用户程序可以直接访问外设寄存器。因为程序处在特权级访问模式可以直接访问外设寄存器,当程序跑飞时,也可以直接操作外设寄存器。这样有可能会导致对系统安全性和稳定性有关键作用的外设被误操作。为解决此类问题,使用Cortex-m3设备时可以利用MPU模块的保护功能。Cortex-m芯片有MPU模块可以将外设寄存器设置为不同的访问权限。如将外设寄存器设置为特权级模式下可以访问,非特权级模式下禁止访问。在此种情况下用户程序就会因为处在非特权级访问模式下无法操作外设寄存器。
现有的cortex-m的芯片厂商都是通过直接提交驱动程序库的方式。用户程序运行在线程模式且处于特权模式访问等级。需要操作外设寄存器时直接调用芯片厂商提供的驱动程序库,从而达到操作硬件的目的。
现有方式一直是处于线程模式特权级,用户程序执行的整个过程都是处于特权级访问等级,芯片厂商提供的驱动程序库可以供用户调用,用户程序可以通过驱动程序库来操作硬件。当程序跑飞或者用户使用其它方式直接操作外设寄存器时可能导致关系的外设影响整个系统的安全性和稳定性。
因此,提供一种更稳定可靠程序调用方法是本领域技术人员亟待解决的问题。
发明内容
针对所述技术的不足,本发明要解决的问题,提供一种更稳定更可靠的程序调用方法。
为实现上述目的,本发明通过以下方案来实现。
一种程序调用方法,应用于采用cortex-m类型的芯片内核的芯片中,所述芯片带有存储保护单元;其中,所述芯片内核连接一设置于所述芯片内的寄存器,通过所述芯片中的所述存储保护单元可将所述寄存器设置为处于一特定访问模式下,于所述特定访问模式下,所述芯片内核只有在具有特权访问权限时才能对所述外设寄存器进行访问;
所述寄存器内保存有寄存器数据;
所述芯片内核具有处理模式和线程模式两种工作模式,于所述处理模式下,所述芯片内核具有所述特权访问权限,于所述线程模式下,所述芯片内核具有所述特权访问权限和非特权访问权限;
所述芯片内核初始处于所述线程模式下;
所述程序调用方法具体包括:
步骤S1,用户在运行用户程序之前,通过相应的驱动程序使能所述芯片中的所述存储保护单元,以将所述寄存器设置为处于所述特定访问模式下,同时将所述芯片内核设置为处于所述线程模式下,以及具有所述非特权访问权限;
步骤S2,当用户需要通过所述用户程序访问所述外设寄存器中的所述寄存器数据时,所述芯片内核通过一服务请求程序进入所述处理模式,并被允许访问所述寄存器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海琪埔维半导体有限公司,未经上海琪埔维半导体有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811410189.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:事务提交系统中处理事务的方法及装置
- 下一篇:一种并行化事务执行器的使用方法