一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

在开放和安全的处理器环境中生成安全分区区域的系统和方法与流程

2022-03-16 04:43:33 来源:中国专利 TAG:


1.本实现方式一般涉及安全处理系统,并且更具体地涉及在开放和安全处理器环境中生成安全分区区域。


背景技术:

2.嵌入式和便携式电子系统越来越复杂并且面临越来越大的安全风险。此外,对嵌入式和便携式计算机系统的用例数量和灵活性的需求日益扩大。越来越多的嵌入式和便携式计算机系统需要在各种场景中存储、访问和管理敏感信息,同时还要支持开放和灵活的应用操作。然而,常规系统可能无法将安全数据、操作和指令与未经授权的访问有效地分区。因此,需要用于在开放且安全的处理器环境中生成安全分区区域的技术解决方案。


技术实现要素:

3.示例实现方式包括一种通过以下方式将存储器设备分区的方法:检测包括非暂时性存储器设备的处理设备的引导状态,基于引导状态来标识处理设备的启动状态,并且根据启动状态满足操作状态条件的确定,将存储器设备分区到至少一个安全地址区域中。
4.示例实现方式还包括通过以下方式来生成与非暂时性存储器设备相关联的安全分区的方法:通过标识被限制在处理设备的安全子系统处执行的目标处理指令,向目标处理指令分配安全地址,将安全地址与处理设备的非暂时性存储器设备的安全地址区域相关联,以及生成包括安全地址的安全分区表。
5.示例实现方式还包括一种系统,该系统具有:引导加载器,被配置为检测引导状态并且基于引导状态来标识启动状态;分区寄存器,可操作地耦合到引导加载器并且被配置为根据启动状态满足操作状态条件的确定,将存储器设备分区到至少一个安全地址区域中;以及可操作地耦合到引导加载器的系统处理器,被配置为根据启动状态满足操作状态条件的确定,将与安全地址区域相关联的分区地址写入分区寄存器,并且还被配置为根据启动状态不满足操作状态条件的确定,进入处理设备的操作状态。
附图说明
6.通过结合附图阅读以下具体实现方式的描述,本实现方式的这些和其他方面和特征对于本领域普通技术人员将变得显而易见,其中:
7.图1图示了根据本实现方式的一个示例系统。
8.图2图示了根据图1的系统的一个示例安全子系统。
9.图3图示了根据本实现方式的将非暂时性存储器设备分区到安全系统地址区域中的示例方法。
10.图4图示了根据本实现方式的将非暂时性存储器设备分区到安全系统地址区域中的另一示例方法。
具体实施方式
11.现在将参考附图来详细描述本实现方式,附图被提供作为实现方式的例示性示例,以使得本领域技术人员能够实践对本领域技术人员显而易见的实现方式和备选方案。值得注意的是,以下的图和示例并不意在将本实现方式的范围限制为单个实现方式,而是通过交换所描述或图示的元素中的一些或全部,其他实现方式是可能的。此外,在本实现方式的某些元素可以使用已知组件部分或全部地实现的情况下,将仅描述此类已知组件中对于理解本实现方式所必需的那些部分,并且此类已知组件的其他部分的详细描述将被省略,以免混淆当前的实现方式。除非本文中另有说明,否则对于本领域技术人员显而易见的是,被描述为以软件来实现的实现方式不应限于此,而是可以包括以硬件、或者软件和硬件的组合实现的实现方式,反之亦然。在本说明书中,除非本文另有明确说明,否则示出单个组件的实现方式不应被视为限制;相反,本公开旨在涵盖包括多个相同组件的其他实现方式,反之亦然。此外,除非明确说明,否则申请人不打算将说明书或权利要求中的任何术语赋予不常见的或特殊的含义。此外,本实现方式涵盖本文中通过例示的方式提及的已知组件的当前和未来已知的等效物。
12.在一些实现方式中,安全嵌入式处理系统包括所有处理请求均可访问的系统区域以及仅安全操作、对象等可访问的安全系统区域两者。在一些实现方式中,通过硬件限制或阻止安全存储器地址的直接寻址来对安全系统存储器区域的访问进行限制、强制执行等。为了提高安全性并且将渗透到安全存储器区域中的风险最小化,通过如下方式生成安全分区是有利的:将安全存储器区域限定为包括所有安全访问操作、对象等,同时排除可以被用于通过不当或意外执行而访问安全区域的所有其他操作、对象等。与针对系统和安全操作两者的处理器指令的生成协作自动生成安全分区,以将所有安全功能准确地包括在安全存储器区域中,同时从安全存储器区域中准确地排除所有系统功能是进一步有利的。
13.图1图示了根据本实现方式的示例系统。如图1中的示例所示,示例系统100包括本地系统110和编译器系统120中的至少一个。在一些实现方式中,本地系统110包括系统处理器102、引导加载器104、安全子系统106、系统存储器108、通信接口114、系统分区寄存器112和系统总线116。在一些实现方式中,本地系统110包括电子电路板、印刷电路板、导电衬底等。在一些实现方式中,编译器系统120包括构建控制器122和分区生成器124。在一些实现方式中,编译器系统120包括通过一个或多个有线、无线、数字、网络等连接可操作地耦合或可操作地可耦合到本地系统110的个人计算机、服务器计算机等。
14.系统处理器102可操作来执行与本地处理系统110相关联的一个或多个指令。在一些实现方式中,系统处理器102是电子处理器、集成电路等,包括数字逻辑、模拟逻辑、数字传感器、模拟传感器、通信总线、易失性存储器、非易失性存储器等中的一个或多个。在一些实现方式中,系统处理器102包括但不限于:至少一个微控制器单元(mcu)、微处理器单元(mpu)、中央处理单元(cpu)、图形处理单元(gpu)、物理处理单元(ppu)、嵌入式控制器(ec)等。在一些实现方式中,系统处理器102包括存储器,存储器可操作为存储或者正存储用于操作系统处理器102的组件以及操作与系统处理器102可操作地耦合的组件的一个或多个指令。在一些实现方式中,一个或多个指令包括固件、软件、硬件、操作系统、嵌入式操作系统等中的至少一个。应当理解,系统处理器102或本地系统110通常可以包括至少一个通信总线控制器,以实现系统处理器102和本地系统110的其他元件之间的通信。
15.引导加载器104可操作来执行一个或多个指令,以对本地系统110、系统处理器102、安全子系统106、系统存储器和通信接口114中的一个或多个进行操作、初始化、启动、重启、关闭、休眠等。在一些实现方式中,引导固件包括一个或多个电气、电子和逻辑设备。在一些实现方式中,引导固件包括一个或多个集成电路、晶体管、晶体管阵列等。在一些实现方式中,引导固件包括一个或多个引导指令、引导加载器等。在一些实现方式中,引导加载器104包括、被耦合到、可耦合到等一个或多个硬件开关、跳线引脚、跳线、熔丝等,一个或多个硬件开关、跳线引脚、跳线、熔丝等可操作来对一个或多个引导状态进行设置、选择、确定、控制等。在一些实现方式中,引导加载器104可操作以至少部分地基于一个或多个硬件开关、跳线引脚、跳线、熔丝等来检测一个或多个启动状态。
16.安全子系统106可操作来执行系统处理器102、引导加载器104、系统存储器108、通信接口114、系统分区寄存器112和编译器系统120中的一个或多个不可访问的处理、存储、检索等。在一些实现方式中,安全子系统106包括对访问一个或多个存储器设备、存储器位置、存储器地址等的限制。在一些实现方式中,安全子系统106包括对访问一个或多个处理设备、处理功能等的限制。在一些实现方式中,安全子系统106存储或可操作为存储由通信接口114在本地系统110处接收的信息。作为一个示例,安全子系统106可以存储密码、财务信息、加密密钥、用户标识信息、安全令牌等。在一些实现方式中,安全子系统106或者其一个或多个组件可由系统分区寄存器112和编译器系统120中的至少一个来可控地修改。因此,在一些实现方式中,安全子系统106可以执行安全子系统106外部的任何设备或系统不可访问的一个或多个功能。
17.系统存储器108可操作为存储与本地系统110相关联的数据。在一些实现方式中,系统存储器108包括用于存储二进制数据、数字数据等的一个或多个硬件存储器设备。在一些实现方式中,系统存储器108包括一个或多个电气组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体器件、触发器、算术单元等。在一些实现方式中,系统存储器108包括非易失性存储器设备、固态存储器设备、闪存设备和nand存储器设备中的至少一个。在一些实现方式中,系统存储器108包括一个或多个物理存储器阵列上设置的一个或多个可寻址存储器区域。在一些实现方式中,系统存储器108的一个或多个可寻址存储器区域可由系统分区寄存器112和编译器系统120中的至少一个可控地修改。在一些实现方式中,物理存储器阵列包括在特定的半导体器件、集成电路器件、印刷电路板器件等上设置的nand门阵列。
18.系统分区寄存器112可操作为对系统处理器102对系统存储器108的访问进行控制、限制等。在一些实现方式中,系统分区寄存器112包括一个或多个电气组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体器件、触发器、算术单元等。在一些实现方式中,系统分区寄存器112包括非易失性存储器设备、固态存储器设备、闪存设备和nand存储器设备中的至少一个。在一些实现方式中,系统分区寄存器112包括与系统存储器108相关联的一个或多个存储器地址。在一些实现方式中,系统分区寄存器112控制可由系统处理器102直接寻址的系统存储器的存储器地址。在一些实现方式中,系统分区寄存器112限定了系统存储器108可用于由系统处理器112直接寻址的逻辑部分、子集等。应当理解,系统分区寄存器112可以被可选地包括,以明确限定系统处理器112可直接寻址的存储器地址。备选地,应当理解,在一些实现方式中,系统处理器112可以直接寻址与安全子系统
106没有明确关联的任何存储器地址。
19.在一些实现方式中,系统分区寄存器112限定一个或多个地址范围,一个或多个地址范围标识或限制了系统处理器102可直接寻址的系统存储器108的存储器地址。在一些实现方式中,系统分区寄存器112包括限定可由系统处理器102直接寻址的连续地址范围、块等的一个或多个地址对。作为一个示例,系统分区寄存器112可以包括第一地址对,第一地址对包括限定可由系统处理器102于其间直接寻址的地址范围的第一地址0000f000和第二地址00f00000。在一些实现方式中,系统分区寄存器112包括标识了不连续存储器块的多个存储器地址对。作为一个示例,除了第一地址对之外,系统分区寄存器112还可以包括第二地址对,第二地址对包括限定可由系统处理器102于其间直接寻址的地址范围的第三地址00f01000和第四地址00f0f000。在一些实现方式中,系统处理器102被限制、阻止对系统分区寄存器112所存储的任何地址范围之外的任何存储器地址直接寻址。在一些实现方式中,系统存储器102是物理存储器阵列的逻辑子集,并且由系统分区寄存器112所存储的存储器地址来限定。
20.通信接口114可操作为将本地系统110通信地耦合到编译器系统120。在一些实现方式中,通信接口114包括一个或多个有线接口设备、信道等。在一些实现方式中,通信接口包括、可操作地耦合到或可操作地可耦合到一个或多个外部设备、系统等的i2c、uart或类似的通信接口。系统总线116可操作为在系统处理器102、引导加载器104、系统存储器108、系统分区寄存器112、通信接口114和编译器系统120之间通信一个或多个指令、信号、条件、状态等。在一些实现方式中,系统总线116包括一个或多个数字、模拟等的通信信道、线路、迹线等。
21.构建控制器122可操作为生成可由系统处理器102和安全子系统106执行的一个或多个机器可读指令。在一些实现方式中,构建控制器包括与系统处理器102和安全子系统106中的至少一个相关联的高级指令的集成开发环境(ide)、编译器、链接器和汇编器中的至少一个。在一些实现方式中,高级指令包括以至少一种计算机编程语言编写的计算机编程代码。作为一个示例,高级指令可以使用c 等来编写。在一些实现方式中,构建控制器122可操作为生成可由系统处理器102或安全子系统106执行的一个或多个机器可读指令。在一些实现方式中,构建控制器122生成单个指令集,单个指令集包括可由系统处理器102或安全子系统106执行的所有指令。在一些实现方式中,指令集包括一个或多个操作、函数、报头、对象、类、数据等的一个或多个标识符。作为一个示例,单个指令集可以包括elf文件。作为另一示例,elf文件可以包括描述一个或多个函数、报头、对象、类、数据等的一个或多个报头区段。
22.分区生成器124可操作为生成至少一个分区表,至少一个分区表标识可由系统处理器102和安全子系统106中的一个或多个直接寻址的一个或多个存储器位置。在一些实现方式中,分区生成器124可操作为生成系统处理器102可直接寻址的系统存储器108的系统存储器区域。在一些实现方式中,分区生成器124可操作为生成系统处理器102不可直接寻址的安全子系统106的安全存储器区域。在一些实现方式中,分区生成器124可操作为生成可由系统处理器102直接寻址的安全子系统的安全访问存储器区域。在一些实现方式中,分区生成器124生成限定对系统存储器区域、安全存储器区域和安全访问存储器区域的访问控制、限制等的一个分区表。备选地,在一些实现方式中,分区生成器124生成多个分区表,
每个分区表分别限定对系统存储器区域、安全存储器区域和安全访问存储器区域中的一个或多个的访问控制、限制等。作为一个示例,分区生成器124可以生成限定系统存储器区域的系统分区表,并且可以生成限定安全存储器区域和安全访问存储器区域的安全分区表。
23.图2图示了根据图1的示例系统的示例安全子系统。如图2中以示例的方式图示的,示例安全子系统200包括安全存储器202、安全处理器204和安全分区寄存器206。在一些实现方式中,安全子系统106包括安全子系统200。
24.安全存储器202可操作为存储与安全子系统200相关联的数据。在一些实现方式中,安全子系统200限制或阻止从本地处理系统110访问安全存储器202的至少一部分。在一些实现方式中,安全子系统200限制或阻止从本地处理系统110直接寻址安全存储器202的至少一部分。在一些实现方式中,安全存储器202包括用于存储二进制数据、数字数据等的一个或多个固件存储器设备。在一些实现方式中,安全存储器202包括一个或多个电气组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体器件、触发器、算术单元等。在一些实现方式中,安全存储器202包括非易失性存储器设备、固态存储器设备、闪存设备和nand存储器设备中的至少一个。在一些实现方式中,安全存储器202包括一个或多个物理存储器阵列上设置的一个或多个可寻址存储器区域。在一些实现方式中,系统存储器108的一个或多个可寻址存储器区域可由安全分区寄存器206和编译器系统120中的至少一个可控地修改。在一些实现方式中,安全存储器202包括可从本地处理区域直接寻址的逻辑安全访问区域。在一些实现方式中,安全存储器202是系统存储器108的可调整大小的逻辑部分、分区、区域等。在一些实现方式中,物理存储器阵列包括在特定半导体器件、集成电路器件、印刷电路板器件等上设置的nand门阵列。
25.安全处理器204可操作为执行与安全子系统200相关联的一个或多个指令。在一些实现方式中,安全处理器204限制或阻止从本地处理系统110访问安全存储器202的至少一部分。在一些实现方式中,安全处理器204限制或阻止从本地处理系统110直接寻址安全存储器202的至少一部分。在一些实现方式中,安全处理器204可操作为执行与限制或阻止对安全子系统200的访问相关联的一个或多个处理操作。在一些实现方式中,安全处理器可操作地耦合到系统总线114。在一些实现方式中,安全处理器204包括符合系统处理器102的一个或多个设备。
26.安全分区寄存器206可操作为对系统处理器102和本地处理系统110中的一个或多个对安全存储器202的访问进行控制、限制等。在一些实现方式中,安全分区寄存器206包括一个或多个电气组件、电子组件、可编程电子组件、可重新编程电子组件、集成电路、半导体器件、触发器、算术单元等。在一些实现方式中,安全分区寄存器206包括非易失性存储器设备、固态存储器设备、闪存设备和nand存储器设备中的至少一个。在一些实现方式中,安全分区寄存器206包括与安全存储器202相关联的一个或多个存储器地址。在一些实现方式中,安全分区寄存器206控制可由系统处理器102直接寻址的安全存储器202的存储器地址,作为安全存储器202的安全访问区域。在一些实现方式中,安全分区寄存器206限定安全存储器202可用于由安全处理器204直接寻址的逻辑部分、子集等。应理解,安全分区寄存器206可以被可选地包括,以明确限定可由安全处理器204直接寻址的存储器地址。备选地,应当理解,在一些实现方式中,安全处理器204可以通过系统分区寄存器112来直接寻址与安全子系统106明确关联的任何存储器地址。
27.在一些实现方式中,安全分区寄存器206限定一个或多个地址范围,一个或多个地址范围标识或限制系统处理器102可直接寻址的安全存储器202的存储器地址。在一些实现方式中,安全分区寄存器206包括限定由系统处理器102直接寻址的连续地址范围、块等的一个或多个地址对。作为一个示例,安全分区寄存器206可以包括第一地址对,第一地址对包括限定由系统处理器102于其间可直接寻址的地址范围的第一地址00001000和第二地址0000ffff。在一些实现方式中,系统安全分区寄存器206包括标识了不连续存储器块的多个存储器地址对。作为一个示例,除了第一地址对之外,安全分区寄存器206还可以包括第二地址对,第二地址对包括限定由系统处理器102于其间可直接寻址的地址范围的第三地址1000000和第四地址f0000000。在一些实现方式中,系统处理器102被限制、阻止对安全分区寄存器206所存储的任何地址范围内的任何存储器地址直接寻址。在一些实现方式中,系统处理器102被允许直接寻址由安全分区寄存器206存储并与安全访问存储器区域相关联的任何地址范围内的任何存储器地址。在一些实现方式中,安全存储器202是物理存储器阵列的逻辑子集,并且由安全分区寄存器206所存储的存储器地址来限定。
28.图3图示了根据本实现方式的将非暂时性存储器设备分区到安全系统地址区域中的示例方法。在一些实现方式中,示例系统100执行根据本实现方式的方法300。在一些实现方式中,方法300开始于步骤310。
29.在步骤310处,示例系统进入通电状态。在一些实现方式中,系统处理器102和引导加载器104中的至少一个进入通电状态。在一些实现方式中,通电状态包括固件引导、通电自检、寄存器清除等。在一些实现方式中,通电状态由一个或多个硬件设备设置来控制,硬件设备设置包括但不限于硬件开关、跳线等。在一些实现方式中,示例系统基于通过通电信号施加电力、向本地处理系统110传送电力的硬件开关等而进入通电状态。方法300然后继续到步骤312。
30.在步骤312处,示例系统检测物理引导状态。在一些实现方式中,引导加载器104检测物理引导状态。在一些实现方式中,物理引导状态由硬件开关、跳线引脚、跳线连接等的特定配置来设置。在一些实现方式中,特定配置在通电状态之前被设置。在一些实现方式中,引导加载器104通过检测与引导状态相关联的开关状态来检测物理引导状态。方法300然后继续到步骤314。在步骤314处,示例系统至少部分地基于物理引导状态来标识启动状态。在一些实现方式中,引导加载器104标识启动状态。在一些实现方式中,引导加载器104通过检测引导跳线引脚是否断开来标识启动状态。方法300然后继续到步骤320。
31.在步骤320处,示例系统确定所标识的启动状态是否对应于操作状态。在一些实现方式中,断开的引导跳线引脚配置与分区管理状态相关联,并且闭合的引导跳线引脚配置与操作状态相关联。在一些实现方式中,通过将引导跳线引脚焊接等为闭合而阻止进一步进入分区管理状态,示例系统被锁定到不可变分区表中。作为一个示例,开发人员可以下载与特定安全应用相关联的分区表,并且可以将闭合的引导跳线引脚焊接来阻止对分区表的任何篡改及其对直接寻址各种安全存储器地址的安全限制。根据所标识的启动状态对应于操作状态的确定,方法300继续到步骤360。备选地,根据所标识的启动状态不对应于操作状态的确定,方法300继续到步骤330。
32.在步骤330处,示例系统断开到编译器系统的物理通信信道。在一些实现方式中,通信接口114断开到编译器系统120的物理通信信道。在一些实现方式中,通信接口114通过
有线连接来断开到编译器系统120的物理通信信道,有线连接包括但不限于i2c连接、uart连接等。应当理解,在一些实现方式中,通信接口可以备选地断开到编译器系统的无线通信信道。方法300然后继续到步骤332。
33.在步骤332处,示例系统对通信信道和编译器系统中的至少一个进行验证。在一些实现方式中,系统处理器102和安全子系统106中的至少一个验证与本地系统110和编译器系统120之间的通信信道、编译器系统120、应用程序用户等中的至少一个相关联的至少一个标识符。在一些实现方式中,系统处理器102和安全子系统106中的至少一个验证与本地系统110和编译器系统120之间的通信信道、编译器系统120、应用程序用户等中的至少一个相关联的至少一个安全协议、保护、限制等。在一些实现方式中,标识符包括访问令牌、验证密钥、公钥等。在一些实现方式中,安全协议、保护、限制等包括加密密钥、加密验证过程等。应当理解,在一些实现方式中,示例系统可选地验证通信信道或编译器系统。方法300然后继续到步骤340。
34.在步骤340处,示例系统通过通信信道,从编译器系统获取一个或多个安全分区地址。在一些实现方式中,本地系统110通过通信接口114,从编译器系统120获取至少一个分区表。在一些实现方式中,分区表包括限定系统存储器108的系统存储器区域的一个或多个地址。在一些实现方式中,分区表包括限定安全存储器202的安全存储器区域的一个或多个地址。在一些实现方式中,分区表包括限定安全存储器202的安全访问存储器区域的一个或多个地址。方法300然后继续到步骤342。在步骤342处,示例系统将来自编译器系统的一个或多个安全分区地址与本地系统处的一个或多个安全分区地址进行比较。在一些实现方式中,系统处理器102、引导加载器104和安全子系统106中的至少一个将来自编译器系统120的安全分区地址与系统分区寄存器112和安全分区寄存器206中的一个或多个处的安全分区地址进行比较。应当理解,如果没有安全分区地址被存储在系统分区寄存器112和安全分区寄存器206上,则示例系统可选地对安全分区地址进行比较。应当进一步理解,如果本地处理系统110和编译器系统120中的一个或多个强制对系统分区寄存器112和安全分区寄存器206中的一个或多个进行更新、刷新、覆写等,示例系统可选地对安全分区地址进行比较。方法300然后继续到步骤350。
35.在步骤350处,示例系统确定来自编译器系统的一个或多个分区地址是否对应于本地系统处的一个或多个分区地址。在一些实现方式中,系统处理器102、引导加载器104和安全子系统106中的至少一个确定来自编译器系统120的任何安全分区地址是否与本地系统110处的任何预先存在的安全分区地址不同。在一些实现方式中,系统处理器102、引导加载器104和安全子系统106中的至少一个还可选地确定来自编译器系统120的任何系统分区地址是否不同于本地系统110处的任何预先存在的系统分区地址。在一些实现方式中,系统处理器102、引导加载器104和安全子系统106中的至少一个还可选地确定来自编译器系统120的任何安全访问分区地址是否不同于本地系统110处的任何预先存在的安全访问分区地址。
36.根据来自编译器系统的一个或多个安全分区地址对应于本地系统处的一个或多个安全分区地址的确定,方法300继续到步骤360。在一些实现方式中,如果来自编译器系统120的所有分区地址与本地系统110处预先存在的所有分区地址匹配,则方法300继续到步骤360。备选地,根据来自编译器系统的一个或多个安全分区地址不对应于本地系统110处
的一个或多个安全分区地址的确定,方法300继续到步骤352。在一些实现方式中,如果来自编译器系统120的任何分区地址与本地系统110处预先存在的任何分区地址不匹配,则方法300继续到步骤352。在一些实现方式中,从编译器系统120接收的任何附加分区地址导致地址不对应的确定。在一些实现方式中,从编译器系统120接收的分区地址中未包括的预先存在于本地系统110处的任何分区地址导致地址不对应的确定。
37.在步骤352处,示例系统将一个或多个分区地址写入本地系统和本地系统的安全子系统处的一个或多个分区寄存器。在一些实现方式中,系统处理器102和引导加载器104中的至少一个将系统分区地址写入系统分区寄存器112。在一些实现方式中,安全子系统106和引导加载器104中的至少一个将安全分区地址写入到安全分区寄存器206。在一些实现方式中,安全子系统106和引导加载器104中的至少一个将安全访问分区地址写入安全分区寄存器206。方法352然后继续到步骤360。在步骤360处,示例系统进入操作状态。在一些实现方式中,本地系统110进入允许执行系统存储器108上存储的应用指令的操作状态。在一些实现方式中,本地系统110在通过通信接口114接收分区表的同时接收应用指令。在一些实现方式中,本地系统110直接进入操作状态。备选地,在一些实现方式中,本地系统在返回到通电状态、另一干预状态或其组合之后进入操作状态。在一些实现方式中,方法300在步骤360处结束。
38.图4图示了根据本实现方式的将非暂时性存储器设备分区到安全系统地址区域中的另一示例方法。在一些实现方式中,示例系统100执行根据本实现方式的方法400。在一些实现方式中,方法400开始于步骤410。
39.在步骤410处,示例系统获取一个或多个经编译的处理器指令。在一些实现方式中,构建控制器122和分区生成器124中的至少一个获取经编译的处理器指令。在一些实现方式中,构建控制器122通过基于高级代码指令生成经编译的处理器指令,来获取经编译的处理器指令。备选地,在一些实现方式中,分区生成器124通过接收由不同于构建控制器122的编译器设备或系统生成的经编译的处理器指令来获取经编译的处理器指令。方法400然后继续到步骤420。
40.在步骤420处,示例系统至少部分地基于经编译的处理器指令来标识一个或多个安全处理器指令。在一些实现方式中,分区生成器124标识安全处理器指令。在一些实现方式中,分区生成器124直接标识请求访问安全存储器202、安全对象、安全操作等中的一个或多个的经编译的指令。在一些实现方式中,步骤420包括步骤422和424中的至少一个。在步骤422处,示例系统标识一个或多个安全处理器操作。在一些实现方式中,分区生成器124对标识了一个或多个经编译的处理器操作的经编译的处理器指令集进行解析、遍历、读取等。在一些实现方式中,经编译的处理器指令集包括elf文件,并且将经编译的进程操作标识为其中的编译的函数报头。在步骤424处,示例系统标识与所识别的安全处理器操作相关联的一个或多个安全指令。在一些实现方式中,示例系统将与每个经编译的处理器操作相关联的一个或多个指令相关联、分组、收集等。作为一个示例,分区生成器124可以基于elf文件报头来标识经编译的函数,并且可以将与函数报头及其对应函数体中的一个或多个相关联的多个经编译的指令相关联。在一些实现方式中,分区生成器124基于与请求访问安全存储器202、安全对象、安全操作等中的一个或多个的函数报头或函数体的关联来标识安全编译处理器指令。在一些实现方式中,分区生成器124基于与请求访问安全访问对象、安全访问
操作等中的一个或多个的函数报头或函数体的关联来标识安全访问编译处理器指令。方法400然后继续到步骤430。
41.在步骤430处,示例系统将一个或多个安全地址分配给一个或多个对应的编译处理器指令。在一些实现方式中,分区生成器124分配与安全存储器202相关联的安全地址。在一些实现方式中,分区生成器124将安全地址分配给与安全子系统106的安全设备、数据、功能等相关联的编译处理器指令。方法400然后继续到步骤440。
42.在步骤440处,示例系统标识一个或多个系统处理器指令。在一些实现方式中,分区生成器124标识系统处理器指令。在一些实现方式中,分区生成器124直接标识与安全存储器202、安全对象、安全操作等中的一个或多个独立或分离地操作的编译指令。在一些实现方式中,示例系统与标识安全编译处理器指令相对应地来标识系统处理器指令。备选地,在一些实现方式中,示例系统将系统处理器指令标识为未被标识为安全处理器指令的任何指令。方法400然后继续到步骤450。
43.在步骤450处,示例系统将一个或多个系统地址分配给一个或多个对应的系统处理器指令。在一些实现方式中,分区生成器124分配与系统存储器108相关联的系统地址。在一些实现方式中,分区生成器124将安全地址分配给与安全子系统106独立或分离地访问设备、数据、功能等的编译处理器指令。备选地,在一些实现方式中,示例系统将系统地址分配给未被标识为安全处理器指令的任何系统处理器指令。方法400然后继续到步骤460。
44.在步骤460处,示例系统至少部分地基于一个或多个安全地址来生成一个或多个安全地址对。在一些实现方式中,分区生成器124生成包括所有安全地址的一个或多个安全地址对。在一些实现方式中,分区生成器124通过生成仅包括所有安全地址的地址对,来将与安全存储器202相关联的存储器地址的数量最小化。在一些实现方式中,分区生成器124生成包括所有安全访问地址的一个或多个安全访问地址对。在一些实现方式中,分区生成器124通过生成仅包括所有安全访问地址的地址对,来将与安全存储器202相关联的存储器地址的数量最小化。方法400然后继续到步骤462。在步骤462处,示例系统至少部分地基于一个或多个系统地址来生成一个或多个系统地址对。在一些实现方式中,示例系统与生成安全地址对相对应地来生成系统地址对。备选地,在一些实现方式中,示例系统生成包括除所有安全地址对和安全访问地址对之外的所有地址的系统地址对。因此,在一些实现方式中,系统地址对包括与安全地址或安全访问地址不关联的所有存储器地址。方法400然后继续到步骤470。
45.在步骤470处,示例系统至少部分地基于安全地址对和系统地址对中的一个或多个来生成分区表。在一些实现方式中,分区生成器124生成包括系统地址对、安全地址对和安全访问地址对中的一个或多个的一个或多个分区表。方法400然后继续到步骤472。在步骤472处,示例系统将分区表传输到本地系统。在一些实现方式中,分区生成器124和编译器系统120中的一个或多个通过通信接口114而将分区表传输到本地系统110。在一些实现方式中,方法400在步骤472处结束。
46.本文中描述的主题有时例示了不同的组件被包含在不同的其他组件内或者与不同的其他组件连接。应当理解,这样描绘的架构是例示性的,并且实际上可以实施实现相同功能的许多其他架构。从概念上讲,实现相同功能的任何组件布置均是有效“关联”的,使得所需的功能被实现。因此,不论架构或中间组件如何,本文中组合来实现特定功能的任何两
个组件可以被视为彼此“关联”,使得期望的功能被实现。同样,如此关联的任何两个组件也可以被视为彼此“可操作地连接”或“可操作地耦合”来实现所需的功能,并且能够如此关联的任何两个组件也可以被视为彼此“可操作地耦合”来实现所需的功能。可操作地耦合的具体示例包括但不限于物理可配合和/或物理交互组件和/或无线可交互和/或无线交互组件和/或逻辑交互和/或逻辑可交互组件。
47.关于本文中复数和/或单数术语的使用,本领域技术人员可以根据上下文和/或应用,从复数转译为单数和/或从单数转译为复数。为了清楚起见,本文中可以明确地阐述各种单数/复数排列。
48.本领域技术人员将理解,一般而言,本文中使用的术语,特别是所附权利要求书(例如,所附权利要求书的主体)中使用的术语通常旨在作为“开放式”术语(例如,术语“包括(including)”应被解释为“包括但不限于”,术语“具有”应被解释为“至少具有”,术语“包括(includes)”应被解释为“包括但不限于”等)。
49.尽管附图和描述可以例示方法步骤的特定顺序,但是除非以上另有说明,否则这些步骤的顺序可以与所描绘和描述的不同。此外,除非以上另有说明,否则两个或更多个步骤可以同时或部分同时地执行。例如,这样的变化可能与所选择的软件和硬件系统以及设计者的选择相关。所有这些变化都在本公开的范围内。同样,所描述的方法的软件实现方式可以利用具有基于规则的逻辑和其他逻辑的标准编程技术来完成,以完成各种连接步骤、处理步骤、比较步骤和判定步骤。
50.本领域技术人员将进一步理解,如果意图引入特定数量的权利要求引述,则这样的意图将在权利要求中明确引述,并且在没有该引述的情况下,不存在该意图。例如,为了帮助理解,以下所附权利要求可以包含使用介绍性短语“至少一个”和“一个或多个”来介绍权利要求引述。然而,即使当同一权利要求包括介绍性短语“一个或多个”或“至少一个”和不定冠词(诸如“一”或“一个”(“(a)”或“(an)”))时,此类短语的使用不应被解释为暗示通过不定冠词“一”或“一个”(“(a)”或“(an)”)引入权利要求引述将包含此类引入的权利要求引述的任何特定权利要求限制为仅包含一个此类引述的发明(例如,“一”和/或“一个”(“(a)”和/或“(an)”)通常应被解释为“至少一个”或“一个或多个”);这同样适用于使用定冠词来引入权利要求引述。附加地,即使所引入的特定数量的权利要求引述被明确引述,本领域技术人员将认识到,此类引述通常应被解释为至少表示所引用的数量(例如,没有其他修饰语的仅仅“两个引述”,通常是指至少两个引述,或者两个或更多个引述)。
51.此外,在使用与“a、b和c等中的至少一个”类似的约定的那些情况下,一般而言,这样的构造旨在使本领域技术人员将理解该约定(例如,“具有a、b和c中的至少一个的系统”将包括但不限于以下系统:仅具有a、仅具有b、仅具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b和c的系统等)。在使用与“a、b或c等中的至少一个”类似的约定的那些情况下,一般而言,这样的构造旨在使本领域技术人员将理解该约定(例如,“具有a、b或c中的至少一个的系统”将包括但不限于以下系统:仅具有a、仅具有b、仅具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b和c的系统等)。本领域技术人员将进一步理解,实际上呈现两个或更多个备选术语的任何分离词和/或短语,无论是在说明书、权利要求或附图中,都应被理解为考虑包括这些术语之一、术语中的一个或者两个术语的可能性。例如,短语“a或b”将被理解为包括“a”或“b”或者“a和b”的可能性。
52.此外,除非另有说明,否则“接近”、“大约”、“约”、“基本上”等词语的使用意味着正负百分之十。
53.已出于例示和描述的目的呈现了例示性实现方式的前述描述。并不旨在对所公开的精确形式进行穷举或限制,并且根据上述教导可以进行修改和变化,或者修改和变化可以从所公开的实现方式的实践中获得。本发明的范围旨在由所附权利要求及其等同物来限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献