CN111694602A - 跨分区的数据处理方法及装置 - Google Patents
跨分区的数据处理方法及装置 Download PDFInfo
- Publication number
- CN111694602A CN111694602A CN202010534148.9A CN202010534148A CN111694602A CN 111694602 A CN111694602 A CN 111694602A CN 202010534148 A CN202010534148 A CN 202010534148A CN 111694602 A CN111694602 A CN 111694602A
- Authority
- CN
- China
- Prior art keywords
- partition
- memory access
- access permission
- initial
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000005192 partition Methods 0.000 title claims abstract description 380
- 238000003672 processing method Methods 0.000 title claims description 20
- 230000006870 function Effects 0.000 claims abstract description 142
- 238000000034 method Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 14
- 238000011084 recovery Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了跨分区的数据处理方法及装置,当第一分区中的任务产生跨分区的函数调用请求时,将第一分区的内存访问权限切换为第二分区的初始内存访问权限,调用目标函数,调用完毕后,将第一分区的内存访问权限恢复至其初始内存访问权限。依据初始内存访问权限,每个分区中的任务仅可对该分区对应的内存空间进行写操作,因此,每个分区只需占用MPU中的一个寄存器资源,能够减少寄存器资源的消耗;调用目标函数时,将第一分区的内存访问权限切换为第二分区的初始内存访问权限,调用完成后,再将第一分区的内存访问权限恢复至其初始内存访问权限,能够防止目标函数非预期地访问第一分区对应的内存空间,降低了出现数据安全问题的可能性。
Description
技术领域
本申请涉及汽车电子技术领域,具体涉及一种跨分区的数据处理方法及装置。
背景技术
随着用户对汽车质量和安全性要求的日益提升,功能安全在汽车设计中占据的地位也变得越来越重要。为了实现汽车的功能安全,通常需要对不同安全等级的功能进行隔离,形成不同的分区。分区可以理解为任务集合,每个分区包括一个或者多个任务。每个分区配置有对应的内存空间,而且需要对各分区可访问的内存空间进行限制。一个分区包含的全部任务所使用的变量均存储于该分区对应的内存空间。
目前,对各分区的访问限制采用如下方式:低安全等级的分区仅能访问该分区对应的内存空间,高安全等级的分区可以访问该分区对应的内存空间、以及其他低安全等级的分区对应的内存空间。需要说明的是,某分区访问内存空间是指:该分区中的任务访问内存空间。
但是上述方式会产生一些问题。例如当高安全等级的分区的任务调用低安全等级的分区中的函数来实现某些功能时,该函数可能非预期地访问高安全等级的分区对应的内存空间,引发数据安全问题。并且,若一个分区可以对多个分区对应的内存空间进行写操作,那么该分区需要占用MPU(Memory Protection Unit,内存保护单元)中的多个寄存器资源,而MPU中的寄存器资源是有限的,容易出现寄存器资源不能满足需要的问题。
发明内容
有鉴于此,本申请的目的在于提供一种跨分区的数据处理方法及装置,以降低发生数据安全问题的可能性,减少MPU中寄存器资源的消耗。
为实现上述目的,本申请提供如下技术方案:
一方面,本申请提供一种跨分区的数据处理方法,针对多个分区,预先配置每个分区对应的内存空间和每个分区的初始内存访问权限,其中,依据所述初始内存访问权限,每个任务仅可对其所属分区对应的内存空间进行写操作;所述数据处理方法包括:
当第一分区中的任务产生跨分区的函数调用请求时,将所述第一分区的内存访问权限切换为第二分区的初始内存访问权限,其中,所述第一分区为所述多个分区中的任意一个,所述第二分区为所述函数调用请求所指示目标函数所属的分区;
调用所述目标函数;
在所述目标函数调用完毕后,将所述第一分区的内存访问权限恢复至所述第一分区的初始内存访问权限。
可选的,所述数据处理方法还包括:
将所述目标函数的输出结果存储至预设的缓存寄存器;
在将所述第一分区的内存访问权限恢复至所述第一分区的初始内存访问权限后,将所述输出结果输出至所述第一分区对应的内存空间。
可选的,所述将所述第一分区的内存访问权限切换为第二分区的初始内存访问权限,包括:
从内存保护单元MPU中与所述第二分区对应的寄存器读取地址信息;
将读取出的地址信息写入所述MPU中与所述第一分区对应的寄存器。
可选的,所述将所述第一分区的内存访问权限恢复至所述第一分区的初始内存访问权限,包括:
将所述第一分区的初始地址信息写入所述MPU中与所述第一分区对应的寄存器。
另一方面,本申请提供一种跨分区的数据处理装置,针对多个分区,预先配置每个分区对应的内存空间和每个分区的初始内存访问权限,其中,依据所述初始内存访问权限,每个任务仅可对其所属分区对应的内存空间进行写操作;所述数据处理装置包括:
内存访问权限切换单元,用于当第一分区中的任务产生跨分区的函数调用请求时,将所述第一分区的内存访问权限切换为第二分区的初始内存访问权限,其中,所述第一分区为所述多个分区中的任意一个,所述第二分区为所述函数调用请求所指示目标函数所属的分区;
调用函数单元,用于调用所述目标函数;
内存访问权限恢复单元,用于在所述目标函数调用完毕后,将所述第一分区的内存访问权限恢复至所述第一分区的初始内存访问权限。
可选的,所述数据处理装置还包括:函数结果输出单元;
所述函数结果输出单元,用于将所述目标函数的输出结果存储至预设的缓存寄存器,在所述第一分区的内存访问权限恢复至所述第一分区的初始内存访问权限后,将所述输出结果输出至所述第一分区对应的内存空间。
可选的,所述内存访问权限切换单元将所述第一分区的内存访问权限切换为第二分区的初始内存访问权限,具体为:
从内存保护单元MPU中与所述第二分区对应的寄存器读取地址信息;将读取出的地址信息写入所述MPU中与所述第一分区对应的寄存器。
可选的,所述内存访问权限恢复单元将所述第一分区的内存访问权限恢复至所述第一分区的初始内存访问权限,具体为:
将所述第一分区的初始地址信息写入所述MPU中与所述第一分区对应的寄存器。
本申请提供的跨分区的数据处理方法及装置,为每个分区预先配置对应的内存空间以及初始内存访问权限,依据初始内存访问权限,每个任务仅可对该任务所属分区对应的内存空间进行写操作;当第一分区中的任务产生跨分区的函数调用请求时,将第一分区的内存访问权限切换为第二分区(目标分区,也就是需调用函数所在的分区)的初始内存访问权限,调用该函数调用请求所指示的目标函数,在目标函数调用完毕后,将第一分区的内存访问权限恢复至其初始内存访问权限。
可以看到,基于本申请提供的方案,每个分区的初始内存访问权限被配置为:每个分区中的任务仅可对该分区对应的内存空间进行写操作,因此,每个分区只需占用MPU中的一个寄存器资源,从而能够减少MPU中寄存器资源的消耗;另外,第一分区中的任务调用第二分区中的函数时,将第一分区的内存访问权限切换为第二分区的初始内存访问权限,在函数调用完成后,再将第一分区的内存访问权限恢复至其初始内存访问权限,能够防止被调用的函数(即目标函数)非预期地访问第一分区对应的内存空间,降低了第一分区对应的内存空间出现数据安全问题的可能性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种跨分区的数据处理方法的流程图;
图2为本申请实施例公开的又一种跨分区的数据处理方法的流程图;
图3为本申请实施例公开的一种跨分区的数据处理装置的结构框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
由背景技术我们知道,为了实现汽车的功能安全,通常需要对不同安全等级的功能进行隔离,形成不同的分区。每个分区配置有对应的内存空间,而且需要对各分区可访问的内存空间进行限制。
目前,对各分区的访问限制采用如下方式:低安全等级的分区仅能访问该分区对应的内存空间,高安全等级的分区可以访问该分区对应的内存空间、以及其他低安全等级的分区对应的内存空间。
当低安全等级的分区中的任务需要调用高安全等级的分区中的函数来实现某些功能时,先将低安全等级的分区的访问权限切换为高安全等级的分区的访问权限,再调用高安全等级的分区中的函数。当高安全等级的分区中的任务需要调用低安全等级的分区中的函数来实现某些功能时,直接调用该函数即可。
经申请人研究发现,当高安全等级的分区中的任务调用低安全等级的分区中的函数来实现某些功能时,被调用函数具备高安全等级的分区的访问权限,由于低安全等级的分区中的任务是没有经过功能安全认证的,因此低安全等级的分区中的函数运行时可能非预期地访问高安全等级的分区对应的内存空间,从而引发数据安全问题。例如,当被调用函数发生指针溢出的情况时,会导致高安全等级的分区对应的内存空间被篡改,造成数据错误等。
申请人还发现,在现有技术中,高安全等级的分区除了可以访问自身的内存空间外,还可以访问其他低安全等级的分区对应的内存空间。而多个分区对应的内存空间往往是不连续的,因此,针对高安全等级的分区可以执行写操作的每个内存空间,都需要占用MPU中的一个寄存器资源,也就是,高安全等级的分区需要占用MPU中的多个寄存器资源,而MPU中的寄存器资源是有限的,因而容易出现MPU中的寄存器资源不能满足需要的问题。
有鉴于此,本申请实施例提供一种跨分区的数据处理方法及装置,以降低发生数据安全问题的可能性,且减少MPU中寄存器资源的消耗。
请参见图1,图1示出了本申请实施例提供的一种跨分区的数据处理方法。
针对多个分区,预先配置每个分区对应的内存空间,预先配置每个分区的初始内存访问权限,其中,依据初始内存访问权限,每个任务仅可对该任务所属分区对应的内存空间进行写操作。该数据处理方法包括:
步骤S101:当第一分区中的任务产生跨分区的函数调用请求时,将第一分区的内存访问权限切换为第二分区的初始内存访问权限。
其中,第一分区为多个分区中的任意一个,第二分区为函数调用请求所指示目标函数所属的分区。例如,第一分区可以为高安全等级的分区,第二分区可以为低安全等级的分区。
在具体实现步骤S101的过程中,从内存保护单元MPU中与第二分区对应的寄存器读取地址信息,将读取出的地址信息写入MPU中与第一分区对应的寄存器,从而将第一分区的内存访问权限切换为第二分区的初始内存访问权限。
在一种可能的实施方式中,该地址信息包括起始地址和结束地址。
在另一种可能的实施方式中,该地址信息包括起始地址和内存空间大小。
例如,从内存保护单元MPU中与第二分区对应的寄存器读取出的起始地址为A1,从内存保护单元MPU中与第二分区对应的寄存器读取出的结束地址为A2,将起始地址A1和结束地址A2写入MPU中与第一分区对应的寄存器,从而将第一分区的内存访问权限切换为第二分区的初始内存访问权限。在第一分区的内存访问权限完成切换后,第一分区中的任务可以进行写操作的内存空间的起始地址为A1、结束地址为A2。
又例如,从内存保护单元MPU中与第二分区对应的寄存器读取出的起始地址为A5,从内存保护单元MPU中与第二分区对应的寄存器读取出的内存空间大小为7KB,将起始地址A5和内存空间大小7KB写入MPU中与第一分区对应的寄存器,从而将第一分区的内存访问权限切换为第二分区的初始内存访问权限。在第一分区的内存访问权限完成切换后,第一分区中的任务可以进行写操作的内存空间的起始地址为A5,且内存空间大小为7KB。
可以理解的是,当第一分区中的任务产生跨分区的函数调用请求时,将第一分区的内存访问权限切换为第二分区的初始内存访问权限,也就是说,第一分区此时只能对第二分区对应的内存空间进行写操作。第一分区中的任务调用第二分区中的函数时,被调用的函数也只能对第二分区对应的内存空间进行写操作,即使被调用的函数发生指针溢出的情况,被调用的函数也不会修改第一分区对应的内存空间。
例如,分区A为高安全等级分区,分区B为低安全等级分区,分区A对应的内存空间为RAM中地址为00001至10000(为十进制)的空间,分区B对应的内存空间为RAM中地址为10001至20000(为十进制)的空间,依据初始内存访问权限,分区A中的任务仅可对RAM中地址为00001至10000的空间进行写操作,分区B中的任务仅可对RAM中地址为10001至20000的空间进行写操作。
当分区A中的任务产生函数调用请求,且该函数调用请求所指示目标函数属于分区B时,将分区A的内存访问权限切换为分区B的初始内存访问权限,在进行访问权限切换后,分区A中的任务仅可对RAM中地址为10001至20000的空间进行写操作,被调用的函数也仅可对RAM中地址为10001至20000的空间进行写操作,而不能对RAM中地址为00001至10000的空间进行写操作,即使被调用的函数发生指针溢出的情况,被调用的函数也不会修改分区A对应的内存空间。
也就是说,当高安全等级的分区中的任务调用低安全等级的分区中的函数来实现某些功能时,不会出现被调用函数非预期地访问高安全等级的分区对应的内存空间的情况,降低出现数据安全问题的可能性。
步骤S102:调用目标函数。
步骤S103:在目标函数调用完毕后,将第一分区的内存访问权限恢复至第一分区的初始内存访问权限。
在具体实现步骤S103的过程中,将第一分区的初始地址信息写入MPU中与第一分区对应的寄存器,从而将第一分区的内存访问权限恢复至其初始内存访问权限。
可以理解的是,在将第一分区的内存访问权限恢复至其初始内存权限后,第一分区中的任务只能访问第一分区对应的内存空间。
本申请提供的跨分区的数据处理方法,给每个分区预先配置对应的内存空间以及初始内存访问权限,依据初始内存访问权限,每个任务仅可对该任务所属分区对应的内存空间进行写操作;当第一分区中的任务产生跨分区的函数调用请求时,将第一分区的内存访问权限切换为第二分区(目标分区,也就是需调用函数所在的分区)的初始内存访问权限,调用该函数调用请求所指示的目标函数,在目标函数调用完毕后,将第一分区的内存访问权限恢复至其初始内存访问权限。
可以看到,基于本申请提供的方案,每个分区的初始内存访问权限被配置为:依据初始内存访问权限,每个分区中的任务仅可对该分区对应的内存空间进行写操作,因此,每个分区只需占用MPU中的一个寄存器资源,从而能够减少MPU中寄存器资源的消耗;另外,第一分区中的任务调用第二分区中的函数时,将第一分区的内存访问权限切换为第二分区的初始内存访问权限,在函数调用完成后,再将第一分区的内存访问权限恢复至其初始内存访问权限,能够防止被调用的函数(即目标函数)非预期地访问第一分区对应的内存空间,降低了第一分区对应的内存空间出现数据安全问题的可能性。
参见图2,图2示出了本申请实施例提供的又一种跨分区的数据处理方法。
针对多个分区,预先配置每个分区对应的内存空间,预先配置每个分区的初始内存访问权限,其中,依据初始内存访问权限,每个任务仅可对该任务所属分区对应的内存空间进行写操作。该数据处理方法包括:
步骤S201:当第一分区中的任务产生跨分区的函数调用请求时,将第一分区的内存访问权限切换为第二分区的初始内存访问权限。
具体实现步骤S201的执行原理参见步骤S101的描述即可,这里不再进行赘述说明。
步骤S202:调用目标函数。
步骤S203:将目标函数的输出结果存储至预设的缓存寄存器。
在具体实现步骤S203的过程中,可以利用栈来实现。在跨分区的函数调用过程中,栈的写操作权限是不会改变的,因而可以将输出结果写入至预设的缓存寄存器,之后再从缓存寄存器中取出该输出结果。
需要说明的是,并不是所有函数都有输出结果,因此图2只是本申请公开的可选实施例,在具体实施中,若目标函数未有输出结果,参见图1实施例即可。
步骤S204:在目标函数调用完毕后,将第一分区的内存访问权限恢复至第一分区的初始内存访问权限。
步骤S205:将输出结果输出至第一分区对应的内存空间。
在目标函数调用过程中,第一分区的内存访问权限切换为第二分区的初始内存访问权限,第一分区中的任务只能对第二分区对应的内存空间进行写操作,目标函数无法将输出结果存储至第一分区对应的内存空间,因此通过将目标函数的输出结果存储至预设的缓存寄存器,在第一分区的内存访问权限恢复至第一分区的初始内存访问权限后,再将输出结果输出至第一分区对应的内存空间。
基于本申请提供的跨分区的数据处理方法,每个分区的初始内存访问权限被配置为:依据初始内存访问权限,每个分区中的任务仅可对该分区对应的内存空间进行写操作,因此,每个分区只需占用MPU中的一个寄存器资源,从而能够减少MPU中寄存器资源的消耗;另外,第一分区中的任务调用第二分区中的函数时,第一分区的内存访问权限切换至第二分区的初始内存访问权限,能够防止被调用的函数(即目标函数)非预期地访问第一分区对应的内存空间,降低了第一分区对应的内存空间出现数据安全问题的可能性,如果被调用函数需要输出结果,那么将输出结果存储至预设的缓存寄存器,在将第一分区的内存访问权限恢复至其初始内存访问权限后,将存储于缓存寄存器的输出结果输出至第一分区对应的内存空间。
需要说明的是,对内存空间的读操作通常不会引发数据安全问题。因此,本申请中,可以设置各分区可以对全部的内存空间进行读操作。
本申请上述公开的技术方案,可以理解为:任意一个分区中的任务在需要调用其他分区中的函数时,通过预设函数实现函数调用。
该预设函数的作用是:将源分区的内存访问权限切换为目标分区的初始内存访问权限;在被调用的函数完成数据处理后,再将源分区的内存访问权限恢复至其初始内存访问权限。该预设函数的作用还包括:如果被调用的函数输出结果,那么将输出结果存储至预设的缓存寄存器,在将源分区的内存访问权限恢复至其初始内存访问权限后,从缓存寄存器读取数据,并输出至源分区对应的内存空间。
这里的源分区是指需要跨分区调用函数的分区,目标分区为需调用函数所属的分区。
需要说明的是,在构建具有上述功能的函数后,对该函数进行安全认证,通过安全认证的函数视为可信函数(也可以称为可靠函数),通过该可信函数实现跨分区的函数调用。
可选的,具有上述功能的函数在OS(Operating System,操作***)实现,OS通常会经过功能安全认证,因此在OS***实现的函数是安全可靠的。
本申请上述实施例公开了一种跨分区的数据处理方法,相应的,本申请实施例还公开一种跨分区的数据处理装置,说明书中关于两者的描述可以相互参考。
请参见图3,图3为本申请实施例公开的一种跨分区的数据处理装置的结构框图。
其中,针对多个分区,预先配置每个分区对应的内存空间,预先配置每个分区的初始内存访问权限,其中,依据初始内存访问权限,每个任务仅可对该任务所属分区对应的内存空间进行写操作。
该数据处理装置包括:内存访问权限切换单元301、调用函数单元302以及内存访问权限恢复单元303。
内存访问权限切换单元301用于:当第一分区中的任务产生跨分区的函数调用请求时,将第一分区的内存访问权限切换为第二分区的初始内存访问权限。其中,第一分区为多个分区中的任意一个,第二分区为函数调用请求所指示目标函数所属的分区。
调用函数单元302用于:用于调用目标函数。
内存访问权限恢复单元303用于:在目标函数调用完毕后,将第一分区的内存访问权限恢复至第一分区的初始内存访问权限。
本申请提供的跨分区的数据处理装置,给每个分区预先配置对应的内存空间以及初始内存访问权限,依据初始内存访问权限,每个任务仅可对该任务所属分区对应的内存空间进行写操作;当第一分区中的任务产生跨分区的函数调用请求时,将第一分区的内存访问权限切换为第二分区(目标分区,也就是需调用函数所在的分区)的初始内存访问权限,调用该函数调用请求所指示的目标函数,在目标函数调用完毕后,将第一分区的内存访问权限恢复至其初始内存访问权限。
可以看到,基于本申请提供的方案,每个分区的初始内存访问权限被配置为:依据初始内存访问权限,每个分区中的任务仅可对该分区对应的内存空间进行写操作,因此,每个分区只需占用MPU中的一个寄存器资源,从而能够减少MPU中寄存器资源的消耗;另外,第一分区中的任务调用第二分区中的函数时,将第一分区的内存访问权限切换为第二分区的初始内存访问权限,在函数调用完成后,再将第一分区的内存访问权限恢复至其初始内存访问权限,能够防止被调用的函数(即目标函数)非预期地访问第一分区对应的内存空间,降低了第一分区对应的内存空间出现数据安全问题的可能性。
在一个实施例中,内存访问权限切换单元301将第一分区的内存访问权限切换为第二分区的初始内存访问权限,具体为:从内存保护单元MPU中与第二分区对应的寄存器读取地址信息;将读取出的地址信息写入MPU中与第一分区对应的寄存器。
在一个实施例中,内存访问权限恢复单元303将第一分区的内存访问权限恢复至第一分区的初始内存访问权限,具体为:将第一分区的初始地址信息写入MPU中与第一分区对应的寄存器。
在一种可能的实施方式中,该地址信息包括起始地址和结束地址。
在另一种可能的实施方式中,该地址信息包括起始地址和内存空间大小。
在一个实施例中,在图3所示数据处理装置的基础上,进一步设置函数结果输出单元。
函数结果输出单元用于:将目标函数的输出结果存储至预设的缓存寄存器;在将第一分区的内存访问权限恢复至第一分区的初始内存访问权限后,将输出结果输出至第一分区对应的内存空间。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的数据处理装置而言,由于其与实施例公开的数据处理方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (8)
1.一种跨分区的数据处理方法,其特征在于,针对多个分区,预先配置每个分区对应的内存空间和每个分区的初始内存访问权限,其中,依据所述初始内存访问权限,每个任务仅可对其所属分区对应的内存空间进行写操作;所述数据处理方法包括:
当第一分区中的任务产生跨分区的函数调用请求时,将所述第一分区的内存访问权限切换为第二分区的初始内存访问权限,其中,所述第一分区为所述多个分区中的任意一个,所述第二分区为所述函数调用请求所指示目标函数所属的分区;
调用所述目标函数;
在所述目标函数调用完毕后,将所述第一分区的内存访问权限恢复至所述第一分区的初始内存访问权限。
2.根据权利要求1所述的方法,其特征在于,还包括:
将所述目标函数的输出结果存储至预设的缓存寄存器;
在将所述第一分区的内存访问权限恢复至所述第一分区的初始内存访问权限后,将所述输出结果输出至所述第一分区对应的内存空间。
3.根据权利要求1所述的方法,其特征在于,所述将所述第一分区的内存访问权限切换为第二分区的初始内存访问权限,包括:
从内存保护单元MPU中与所述第二分区对应的寄存器读取地址信息;
将读取出的地址信息写入所述MPU中与所述第一分区对应的寄存器。
4.根据权利要求3所述的方法,其特征在于,所述将所述第一分区的内存访问权限恢复至所述第一分区的初始内存访问权限,包括:
将所述第一分区的初始地址信息写入所述MPU中与所述第一分区对应的寄存器。
5.一种跨分区的数据处理装置,其特征在于,针对多个分区,预先配置每个分区对应的内存空间和每个分区的初始内存访问权限,其中,依据所述初始内存访问权限,每个任务仅可对其所属分区对应的内存空间进行写操作;所述数据处理装置包括:
内存访问权限切换单元,用于当第一分区中的任务产生跨分区的函数调用请求时,将所述第一分区的内存访问权限切换为第二分区的初始内存访问权限,其中,所述第一分区为所述多个分区中的任意一个,所述第二分区为所述函数调用请求所指示目标函数所属的分区;
调用函数单元,用于调用所述目标函数;
内存访问权限恢复单元,用于在所述目标函数调用完毕后,将所述第一分区的内存访问权限恢复至所述第一分区的初始内存访问权限。
6.根据权利要求5所述的装置,其特征在于,还包括:函数结果输出单元;
所述函数结果输出单元,用于将所述目标函数的输出结果存储至预设的缓存寄存器,在所述第一分区的内存访问权限恢复至所述第一分区的初始内存访问权限后,将所述输出结果输出至所述第一分区对应的内存空间。
7.根据权利要求5所述的装置,其特征在于,所述内存访问权限切换单元将所述第一分区的内存访问权限切换为第二分区的初始内存访问权限,具体为:
从内存保护单元MPU中与所述第二分区对应的寄存器读取地址信息;将读取出的地址信息写入所述MPU中与所述第一分区对应的寄存器。
8.根据权利要求7所述的装置,其特征在于,所述内存访问权限恢复单元将所述第一分区的内存访问权限恢复至所述第一分区的初始内存访问权限,具体为:
将所述第一分区的初始地址信息写入所述MPU中与所述第一分区对应的寄存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010534148.9A CN111694602B (zh) | 2020-06-12 | 2020-06-12 | 跨分区的数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010534148.9A CN111694602B (zh) | 2020-06-12 | 2020-06-12 | 跨分区的数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111694602A true CN111694602A (zh) | 2020-09-22 |
CN111694602B CN111694602B (zh) | 2023-08-08 |
Family
ID=72480668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010534148.9A Active CN111694602B (zh) | 2020-06-12 | 2020-06-12 | 跨分区的数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111694602B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738219A (zh) * | 2020-12-28 | 2021-04-30 | 中国第一汽车股份有限公司 | 程序运行方法、装置、车辆及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013140476A (ja) * | 2012-01-04 | 2013-07-18 | Toyota Motor Corp | 情報処理装置、アクセス権限付与方法、プログラム生成装置、及びその方法 |
US20130205389A1 (en) * | 2012-02-08 | 2013-08-08 | Arm Limited | Data processing apparatus and method for protecting secure data and program code from non-secure access when switching between secure and less secure domains |
CN105787360A (zh) * | 2016-03-02 | 2016-07-20 | 杭州字节信息技术有限公司 | 一种嵌入式***内存安全访问控制的技术实现方法 |
CN105980993A (zh) * | 2014-02-10 | 2016-09-28 | Arm 有限公司 | 用于辨识对应目标内存地址的内存属性单元的区域的区域辨识操作 |
-
2020
- 2020-06-12 CN CN202010534148.9A patent/CN111694602B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013140476A (ja) * | 2012-01-04 | 2013-07-18 | Toyota Motor Corp | 情報処理装置、アクセス権限付与方法、プログラム生成装置、及びその方法 |
US20130205389A1 (en) * | 2012-02-08 | 2013-08-08 | Arm Limited | Data processing apparatus and method for protecting secure data and program code from non-secure access when switching between secure and less secure domains |
CN105980993A (zh) * | 2014-02-10 | 2016-09-28 | Arm 有限公司 | 用于辨识对应目标内存地址的内存属性单元的区域的区域辨识操作 |
CN105787360A (zh) * | 2016-03-02 | 2016-07-20 | 杭州字节信息技术有限公司 | 一种嵌入式***内存安全访问控制的技术实现方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738219A (zh) * | 2020-12-28 | 2021-04-30 | 中国第一汽车股份有限公司 | 程序运行方法、装置、车辆及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111694602B (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763099B (zh) | ***的启动方法、装置、电子设备和存储介质 | |
US10812477B2 (en) | Blockchain-based enterprise authentication method, apparatus, and device, and blockchain-based authentication traceability method, apparatus, and device | |
US20060200668A1 (en) | Process for the secure management of the execution of an application | |
CN107018174B (zh) | 一种单元化***服务处理的方法、装置及业务处理*** | |
CN101714124B (zh) | 存储器保护方法及信息处理装置 | |
CN111949605A (zh) | 用于实现文件***的方法、设备和计算机程序产品 | |
CN110162328B (zh) | 一种智能卡操作***升级方法及装置 | |
CN105320578A (zh) | 一种备份和恢复app的方法及装置 | |
CN110781192B (zh) | 区块链数据的验证方法、装置及设备 | |
CN109213450B (zh) | 一种基于闪存阵列的关联元数据删除方法、装置及设备 | |
KR20040105794A (ko) | 메모리 관리 유닛, 코드 검증 장치 및 코드 복호 장치 | |
CN112559386A (zh) | 提升ssd性能的方法、装置、计算机设备及存储介质 | |
CN111694602B (zh) | 跨分区的数据处理方法及装置 | |
CN116028455A (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
CN105700942A (zh) | 应用进程关联启动方法及关联启动装置 | |
CN111797390B (zh) | 程序运行方法、装置、电子设备及计算机可读存储介质 | |
EP3249540B1 (en) | Method for writing multiple copies into storage device, and storage device | |
CN113704177B (zh) | 一种服务器固件升级文件的存储方法、***及相关组件 | |
CN111464312B (zh) | 一种区块链中账户地址的处理方法、装置和电子设备 | |
CN111143418B (zh) | 一种数据库读取数据方法、装置、设备及存储介质 | |
CN111679909A (zh) | 数据处理方法、装置及终端设备 | |
CN112261168A (zh) | 一种多ip端口段用户信息查找方法、终端设备及存储介质 | |
CN110989936A (zh) | 一种存储空间分配方法、装置及存储介质 | |
CN112199042B (zh) | 存储空间管理方法、装置、芯片、设备及存储介质 | |
CN113934697B (zh) | 一种基于内核文件过滤驱动提升io性能方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 4 / F, building 1, No.14 Jiuxianqiao Road, Chaoyang District, Beijing 100020 Applicant after: Beijing Jingwei Hirain Technologies Co.,Inc. Address before: 8 / F, block B, No. 11, Anxiang Beili, Chaoyang District, Beijing 100101 Applicant before: Beijing Jingwei HiRain Technologies Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |