一种内存保护方法、保护装置及单片机制造方法及图纸

技术编号:21477037 阅读:20 留言:0更新日期:2019-06-29 04:42
本发明专利技术提供了一种内存保护方法、内存保护装置及单片机,所述内存保护方法首先确定嵌入式实时操作系统的当前运行状态;然后依据当前运行状态确定是否需要切换已加载的内存保护集;若确定需要切换已加载的内存保护集,则在特权模式下将已加载的内存保护集切换为与当前运行状态对应的内存保护集;最后在当前运行状态下,使用与当前运行状态对应的内存保护集对嵌入式实时操作系统的内存进行保护。可以看出,本发明专利技术实施例中,已加载的内存保护集会切换到与嵌入式实时操作系统当前运行状态对应的内存保护集,依据该内存保护集配置的内存数据访问权限监控内存区域的数据访问,实现了嵌入式操作系统在运行时的内存保护。

【技术实现步骤摘要】
一种内存保护方法、保护装置及单片机
本专利技术属于单片机
,尤其涉及一种内存保护方法及单片机。
技术介绍
随着汽车电子技术的不断发展,采用AUTOSAROS(嵌入式实时操作系统)的单片机在汽车嵌入式系统中的应用越来越广泛。其中,AUTOSAROS内存的安全性关系着汽车驾驶的安全性,因此,需要在AUTOSAROS运行时对内存进行保护。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种内存保护方法、保护装置及单片机,用以实现嵌入式实时操作系统在运行时内存的保护,具体方案如下:一种内存保护方法,包括:确定嵌入式实时操作系统的当前运行状态;依据所述当前运行状态确定是否需要切换已加载的内存保护集;其中,所述嵌入式实时操作系统配置有多组内存保护集,每一组所述内存保护集下配置有所述嵌入式实时操作系统的内存的各个区域对应的内存数据访问权限;若确定需要切换所述已加载的内存保护集,则在特权模式下将所述已加载的内存保护集切换为与所述当前运行状态对应的内存保护集;在所述当前运行状态下,使用所述与所述当前运行状态对应的内存保护集对所述嵌入式实时操作系统的内存进行保护。可选的,若确定无需切换所述已加载的内存保护集,所述方法还包括:依据所需运行的应用数据确定是否改写所述嵌入式实时操作系统配置的数据保护范围寄存器中的数据保护范围或代码保护范围寄存器的代码保护范围;若确定需要改写,则依据所述所需运行的应用数据对应的内存地址改写所述数据保护寄存器中的数据保护范围或依据所述所需运行的应用数据对应的代码范围改写所述代码保护寄存器中的代码保护范围。可选的,所述依据所述所需运行的应用数据对应的内存地址改写所述数据保护寄存器中的数据保护范围或依据所述所需运行的应用数据对应的代码范围改写所述代码保护寄存器中的代码保护范围包括:确定所需运行的应用数据对应的内存地址;确定与所述应用数据对应的数据保护寄存器或代码保护寄存器;将所述应用数据对应的数据保护寄存器或代码保护寄存器中的数据保护范围改写为所述所需运行的应用数据对应的内存地址。可选的,所述嵌入式实时操作系统配置有多组内存保护集,每一组所述内存保护集下配置有所述嵌入式实时操作系统内存的各个区域对应的内存数据访问权限,包括:系统中预先存储有获取配置表;依据所述配置表的配置策略划分所述嵌入式实时操作系统的内存保护集以及所述嵌入式实时操作系统的内存所需保护的内存区域;配置已划分的各个所述内存保护集下各个所述内存区域对应的内存数据访问权限。可选的,所述依据所述配置表的配置策略划分所述嵌入式实时操作系统的内存保护集具体包括:将所述内存保护集划分为内核保护集、一类中断保护集、二类中断保护集以及任务保护集。可选的,所述依据配置表的配置策略划分所述嵌入式实时操作系统所需保护的内存区域具体包括:将所述内核代码的内存地址范围保存至第一代码保护寄存器;将系统栈的内存地址范围保存至第一数据保护寄存器;将内核数据的内存地址范围保存至第二数据保护寄存器;将当前任务栈的内存地址范围保存至第三数据保护寄存器;将当前任务数据的内存地址范围保存至第四数据保护寄存器;将当前中断栈的内存地址范围保存至第五数据保护寄存器;将当前中断数据的内存地址范围保存至第六数据保护寄存器;将当前应用集数据的内存地址范围保存至第七数据保护寄存器。可选的,若确定需要切换所述已加载的内存保护集,所述则在特权模式下将已加载的内存保护集切换为与所述当前运行状态对应的内存保护集包括:若所述与所述当前运行状态对应的内存保护集为任务保护集,则将系统栈中非特权模式的值修改为特权模式的值;在特权模式下将已加载的内存保护集切换为所述任务保护集。可选的,所述若确定需要切换所述已加载的内存保护集后还包括:确定与所述当前运行状态对应的内存保护集的保护集组值;将所述保护集组值写入程序状态寄存器的特殊标志位,以触发在特权模式下将所述已加载的内存保护集切换为与所述当前运行状态对应的内存保护集的步骤。本专利技术另一方面提供了一种内存保护装置,包括:运行状态确定模块,用于确定嵌入式实时操作系统的当前运行状态;判断模块,用于依据所述当前运行状态确定是否需要切换已加载的内存保护集;其中,所述嵌入式实时操作系统配置有多组内存保护集,每一组所述内存保护集下配置有所述嵌入式实时操作系统的内存的各个区域对应的内存数据访问权限;切换模块,用于若确定需要切换所述已加载的内存保护集,则在特权模式下将所述已加载的内存保护集切换为与所述当前运行状态对应的内存保护集;保护模块,用于在所述当前运行状态下,使用所述与所述当前运行状态对应的内存保护集对所述嵌入式实时操作系统的内存进行保护。本专利技术另一方面还公开了一种单片机,包括内存以及用于运行前述所述内存保护装置的处理器。基于上述技术方案,本专利技术提供了一种内存保护方法、内存保护装置及单片机,所述内存保护方法,首先确定嵌入式实时操作系统的当前运行状态;然后依据所述当前运行状态确定是否需要切换已加载的内存保护集;其中,所述嵌入式实时操作系统配置有多组内存保护集,每一组所述内存保护集下配置有所述嵌入式实时操作系统的内存的各个区域对应的内存数据访问权限;若确定需要切换所述已加载的内存保护集,则在特权模式下将已加载的内存保护集切换为与所述当前运行状态对应的内存保护集;最后在所述当前运行状态下,使用所述与所述当前运行状态对应的内存保护集对所述嵌入式实时操作系统的内存进行保护。可以看出,本专利技术实施例中,已加载的内存保护集会切换到与嵌入式实时操作系统当前运行状态对应的内存保护集,依据该内存保护集配置的内存数据访问权限监控内存区域的数据访问,实现了嵌入式操作系统在运行时的内存保护。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种内存保护方法的流程示意图;图2是一种典型的嵌入式实时操作系统的结构示意图;图3是本专利技术实施例公开的一种内存保护装置的结构示意图;图4是本专利技术实施例公开的一种单片机的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。为了便于理解,首先对本专利技术中用到的技术用语进行解释。AUTOSAR(OpenSystemArchitecture)是指汽车开放系统架构。AUTOSAROS是在AUTOSAR架构下的一种嵌入式实时操作系统。MPU(MemoryProtectionUnit)内存保护单元是单片机的硬件处理装置,可以防止系统资源和其他一些任务不被非法访问,如果发生非法访问,MPU就会发现,从而进入到对应的软件处理模块。可以理解的是,软件处理模块进行处理的过程可以参考现有技术,在此不进行赘述。参见图1,本专利技术实施例提供的一种内存保护方法的流程示意图,该方法可以应用于单本文档来自技高网...

【技术保护点】
1.一种内存保护方法,其特征在于,包括:确定嵌入式实时操作系统的当前运行状态;依据所述当前运行状态确定是否需要切换已加载的内存保护集;其中,所述嵌入式实时操作系统配置有多组内存保护集,每一组所述内存保护集下配置有所述嵌入式实时操作系统内存的各个区域对应的内存数据访问权限;若确定需要切换所述已加载的内存保护集,则在特权模式下将所述已加载的内存保护集切换为与所述当前运行状态对应的内存保护集;在所述当前运行状态下,使用所述与所述当前运行状态对应的内存保护集对所述嵌入式实时操作系统的内存进行保护。

【技术特征摘要】
1.一种内存保护方法,其特征在于,包括:确定嵌入式实时操作系统的当前运行状态;依据所述当前运行状态确定是否需要切换已加载的内存保护集;其中,所述嵌入式实时操作系统配置有多组内存保护集,每一组所述内存保护集下配置有所述嵌入式实时操作系统内存的各个区域对应的内存数据访问权限;若确定需要切换所述已加载的内存保护集,则在特权模式下将所述已加载的内存保护集切换为与所述当前运行状态对应的内存保护集;在所述当前运行状态下,使用所述与所述当前运行状态对应的内存保护集对所述嵌入式实时操作系统的内存进行保护。2.根据权利要求1所述的方法,其特征在于,若确定无需切换所述已加载的内存保护集,所述方法还包括:依据所需运行的应用数据确定是否改写所述嵌入式实时操作系统配置的数据保护范围寄存器中的数据保护范围或代码保护范围寄存器中的代码保护范围;若确定需要改写,则依据所述所需运行的应用数据对应的内存地址改写所述数据保护寄存器中的数据保护范围或依据所述所需运行的应用数据对应的代码范围改写所述代码保护寄存器中的代码保护范围。3.根据权利要求2所述的方法,其特征在于,所述依据所述所需运行的应用数据对应的内存地址改写所述数据保护寄存器中的数据保护范围或依据所述所需运行的应用数据对应的代码范围改写所述代码保护寄存器中的代码保护范围包括:确定所述所需运行的应用数据对应的内存地址;确定与所述应用数据对应的数据保护寄存器或代码保护寄存器;将所述应用数据对应的数据保护寄存器或代码保护寄存器中的数据保护范围改写为所述所需运行的应用数据对应的内存地址。4.根据权利要求1至3任意一项所述的方法,其特征在于,所述嵌入式实时操作系统配置有多组内存保护集,每一组所述内存保护集下配置有所述嵌入式实时操作系统内存的各个区域对应的内存数据访问权限,包括:系统中预先存储有配置表;依据所述配置表的配置策略划分所述嵌入式实时操作系统的内存保护集以及所述嵌入式实时操作系统所需保护的内存区域;配置已划分的各个所述内存保护集下各个所述内存区域对应的内存数据访问权限。5.根据权利要求4所述的方法,其特征在于,所述依据所述配置表的配置策略划分所述嵌入式实时操作系统的内存保护集具体包括:将所述内存保护集划分...

【专利技术属性】
技术研发人员:胡文超于洪斌
申请(专利权)人:北京经纬恒润科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1