用于存储器保护单元配置和内容生成的方法、系统和电路技术方案

技术编号:39574252 阅读:8 留言:0更新日期:2023-12-03 19:26
本公开涉及于存储器保护单元配置和内容生成的方法、系统和电路。用于基于用户选择的存储器区域为可编程计算设备生成内容的系统、方法和电路。将共享存储器存取属性的邻接区域合并,将共享至少一个嵌套属性的交错邻接区域界定为组合区域,且将剩余区域界定为分离的独立区域。标识与每个定义区域的大小最接近的存储器保护单元(MPU)区域大小。如果每个区域的起始地址与MPU区域大小的地址结构对齐,则将这些区域分配给具有MPU区域大小的MPU区域;否则,选择与区域的大小对齐的另一MPU大小,并将这些区域分配给具有该大小的MPU区域。生成内容以便为合并的邻接区域、组合区域和独立区域配置可编程计算设备的MPU区域的设置。配置可编程计算设备的MPU区域的设置。配置可编程计算设备的MPU区域的设置。

【技术实现步骤摘要】
用于存储器保护单元配置和内容生成的方法、系统和电路


[0001]本公开一般涉及在嵌入式应用中经常使用的类型的电子设备。更具体地但非排他地,本公开涉及生成用于对这种电子设备进行编程的内容。

技术介绍

[0002]许多可编程微控制器和微处理器体系结构利用特定代码来以用户期望的方式初始化或配置微控制器和微处理器的操作。该代码可以建立期望的时钟设置,分配外围设备,嵌入要在微控制器或微处理器上执行的软件,建立存储器保护和配置,以及准备其它软件或硬件配置设置。为了生成这样的代码,用户将必须针对微控制器或微处理器的特定代码或硬件细微差别而被训练,所述微控制器或微处理器的特定代码或硬件细微差别可以从一种体系结构到另一种体系结构不同。一些体系结构包括使用户能够可视化配置设置的图形工具。然而,这些工具通常是刚性的,并且在生成代码时不为用户提供很大的灵活性。这里描述的实施例是针对这些和其它考虑而作出的。

技术实现思路

[0003]本文中所描述的实施例利用图形用户界面来使用户能够为可编程计算设备选择用户界定的存储器区域,使得为可编程计算设备产生内容(例如,代码,设置,参数,选项位或字节,EEPROM数据等)以设置参数并为用户界定的存储器区域界定存储器保护单元(也称为MPU)区域。接收在可编程计算设备上存储数据的存储器的用户定义区域集合。将共享存储器存取属性的邻接区域合并,将共享至少一个嵌套属性的交错邻接区域界定为组合区域,所述组合区域包括至少一个优先区域以处理所述组合区域中的嵌套区域,且将无法与至少一个交错区域共享存储器存取属性或至少一个嵌套属性的邻接区域界定为分离的独立区域。生成用于为合并的邻接区域、组合区域和独立区域配置存储器保护单元的设置的内容。向所述可编程计算设备提供所述内容。本文所描述的实施例可用于减少可编程计算设备中所需的存储器保护单元区域的数目,因为此资源在可编程计算设备中通常是关键的(通常在存储器保护单元中仅可配置八个区域)。
[0004]在一些实施例中,从邻接区域、组合区域和独立区域中选择区域。标识与所选择区域的大小最接近的存储器保护单元区域大小。如果所选择区域的起始地址与存储器保护单元区域大小的地址结构对齐,则将所选择区域分配给具有存储器保护单元区域大小的存储器保护单元区域。如果所选择区域的起始地址不与第一存储器保护单元区域尺寸的地址结构对齐,则选择与所选择区域的尺寸对齐的第二存储器保护单元尺寸,并将所选择区域分配给具有第二存储器保护单元区域尺寸的存储器保护单元区域。如果所选择区域的大小大于存储器保护单元区域的大小,则将所选择区域的剩余部分分配给第二存储器保护单元区域。在各种情况下,该处理将应用ARM-v6M或v7M MPU的编程约束。例如,ARM-v8M MPU不具有与ARM-v6M或v7MMPU相同的约束。该处理可用于根据所选择可编程计算设备来满足MPU的编程约束。
[0005]在各种实施例中,选择大于第一存储器保护单元区域大小的第二存储器保护单元区域大小,且基于第二较大存储器保护单元区域大小来选择存储器保护单元区域。为所选择存储器保护单元区域标识多个子区域,并且将所选择区域分配给多个子区域的第一部分,并且禁用多个子区域的第二部分。子区域的使用可以允许原始较大区域的更精细分割,每个子区域具有更精细的对准规则。在各种其它实施例中,选择小于第一存储器保护单元区域大小的第二存储器保护单元区域大小。基于所述第二存储器保护单元区域大小来选择第一存储器保护单元区域,且将所选择区域的第一部分分配给所述第一存储器保护单元区域。接着基于所选择区域的剩余大小来选择第二存储器保护单元区域,且将所选择区域的第二部分分配给第二存储器保护单元区域。
[0006]可以对具有不同区域大小或数目的多个存储器保护单元区域配置进行排序,且基于所述排序从所述多个存储器保护单元区域配置中选择存储器保护单元区域配置。在一些实施例中,用户可以提供参数来指示降低使用中的MPU区域的数目是否具有优先级,或者是否使用用户定义的MPU边界的精确匹配被设为具有优先级。
[0007]在此描述的实施例导致基于用户的选择为可编程计算设备生成可配置内容,而无需用户专门编写该内容。
附图说明
[0008]参考以下附图描述非限制性和非穷尽性实施例,其中除非上下文另有指示,否则在各个视图中相同的标号指代相同的部分。附图中元件的尺寸和相对位置不必按比例绘制。例如,各种元件的形状被选择,放大和定位以提高绘图清晰度。为了便于在附图中标识,已经选择了所绘制的元件的特定形状。在下文中参考附图描述一个或多个实施例,其中:
[0009]图1是示出用于实现本文所述实施例的示例计算环境的框图;
[0010]图2是示出根据在此描述的实施例的用于存储在生成内容中使用的方面的示例概念结构的框图;
[0011]图3示出了根据本文所述实施例的用于生成内容的过程的逻辑流程图;
[0012]图4示出了根据本文所述实施例的用于在内容生成过程期间更新图形用户界面的过程的逻辑流程图;
[0013]图5是根据本文所述实施例的部件参数文件的说明性示例;
[0014]图6是根据本文描述的实施例的从参数文件获得值的部件模板文件的说明性示例;
[0015]图7是根据本文所述实施例的使用户能够为项目选择部件的图形用户界面的说明性示例;
[0016]图8是根据本文描述的实施例的使用户能够为用户选择的部件选择参数的图形用户界面的说明性示例;
[0017]图9示出了根据本文所述实施例的用于生成内容以配置存储器保护单元区域的过程的逻辑流程图;
[0018]图10示出了根据本文所述实施例的用于配置存储器保护单元区域的另一过程的逻辑流程图。
[0019]图11A-图11D示出了根据本文所述实施例的用于生成存储器保护单位区域的过
程的逻辑流程图;以及
[0020]图12是根据在此描述的实施例使用户能够定义用于生成内容的存储区域的图形用户界面的说明性示例。
具体实施方式
[0021]在以下描述中,连同附图一起,阐述某些细节以便提供对设备,系统,方法和制品的各种实施例的透彻理解。然而,所属领域的技术人员将了解,可在没有这些细节的情况下实践其它实施例。在其它情况下,与例如诸如晶体管、乘法器、加法器、除法器、比较器、集成电路、逻辑门、有限状态机、加速计、陀螺仪、磁场传感器、存储器、总线系统等的电路相关联的公知结构和方法未在一些图中详细示出或描述,以避免不必要地模糊对实施例的描述。此外,为了避免不必要地模糊对实施例的描述,没有示出或描述与本公开的环境(包括但不限于通信系统和网络)相关联的公知结构或部件。
[0022]除非上下文另有要求,否则在整个说明书和随后的权利要求中,词语“包括”及其变体,例如“包含”和“包括了”应以开放的,包含的意义来解释,即,解释为“包括但不限于”。
[0023]在整个说明书,权利要求书和附图中,除非上下文另有明确规定,否则以下术语采用本文明确关联的含义。术语“本文”是本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括:接收将数据存储在可编程计算设备上的存储器的用户定义区域的集合;基于所述用户定义区域生成具有存储器存取属性的区域的列表;合并共享存储器存取属性的邻接区域;确定交错邻接区域是否共享至少一个嵌套属性;响应于确定所述交错邻接区域共享至少一个嵌套属性,针对所述交错邻接区域定义组合区域,所述组合区域包括至少一个优先区域以处理所述组合区域中的嵌套区域;响应于确定邻接区域未能与至少一个交指区域共享存储器存取属性或至少一个嵌套属性,针对所述邻接区域定义分离的独立区域;以及生成内容以配置用于合并的所述邻接区域、所述组合区域和所述独立区域的存储器保护单元的设置。2.根据权利要求1所述的方法,包括:向所述可编程计算设备提供所述内容。3.根据权利要求1所述的方法,其中生成所述内容包括:基于合并的所述邻接区域、所述组合区域和所述独立区域,生成初始化所述可编程计算设备以存储数据的初始化代码。4.根据权利要求1所述的方法,包括:从所述邻接区域、所述组合区域和所述独立区域中选择区域;标识与所选择区域的大小最接近的存储器保护单元区域大小;确定所选择区域的起始地址是否与所述存储器保护单元区域大小的地址结构对齐;以及响应于所选择区域的所述起始地址与所述存储器保护单元区域大小的所述地址结构对齐,将所选择区域分配给具有所述存储器保护单元区域大小的存储器保护单元区域。5.根据权利要求1所述的方法,包括:从所述邻接区域、所述组合区域和所述独立区域中选择区域;标识与所选择区域的大小最接近的第一存储器保护单元区域大小;确定所选择区域的起始地址是否与所述第一存储器保护单元区域大小的地址结构对齐;以及响应于所选择区域的所述起始地址不与所述第一存储器保护单元区域大小的所述地址结构对齐,选择与所选择区域的大小对齐的第二存储器保护单元大小,并且将所选择区域分配给具有所述第二存储器保护单元区域大小的存储器保护单元区域。6.根据权利要求5所述的方法,包括:确定所选择区域的大小大于所述存储器保护单元区域大小;以及将所选择区域的剩余部分分配给第二存储器保护单元区域。7.根据权利要求1所述的方法,包括:从所述邻接区域、所述组合区域和所述独立区域中选择区域;标识与所选择区域的大小最接近的第一存储器保护单元区域大小;选择大于所述第一存储器保护单元区域大小的第二存储器保护单元区域大小;基于所述第二存储器保护单元区域大小选择存储器保护单元区域;
标识所选择存储器保护单元区域的多个子区域;将所选择区域分配给所述多个子区域的第一部分;以及禁用所述多个子区域的第二部分。8.根据权利要求1所述的方法,包括:从所述邻接区域、所述组合区域和所述独立区域中选择区域;标识与所选择区域的大小最接近的第一存储器保护单元区域大小;选择小于所述第一存储器保护单元区域大小的第二存储器保护单元区域大小;基于所述第二存储器保护单元区域大小,选择第一存储器保护单元区域;将所选择区域的第一部分分配给所述第一存储器保护单元区域;基于所选择区域的剩余大小选择第二存储器保护单元区域;以及将所选择区域的第二部分分配给所述第二存储器保护单元区域。9.根据权利要求1所述的方法,包括:对多个存储器保护单元区域配置进行排序;以及基于所述排序,从所述多个存储器保护单元区域配置中选择存储器保护单元区域配置。10.一种非暂态计算机可读介质,具有配置微控制器以执行一种方法的内容,所述方法包括:接收将数据存储在可编程计算设备上的存储器的用户定义区域的集合;基于所述用户定义区域生成具有存储器存取属性的区域的列表;合并共享存储器存取属性的邻接区域;确定交错邻接区域是否共享至少一个嵌套属性;响应于确定所述交错邻接区域共享至少一个嵌套属性,针对所述交错邻接区域定义组合区域,所述组合区域包括至少一个优先区域以处理所述组合区域中的嵌套区域;响应于确定邻接区域未能与至少一个交指区域共享存储器存取属性或至少一个嵌套属性,针对所述邻接区域定义分离的独立区域;以及生成内容以配置用于合并的所述邻接区域、所述组合区域和所述独立区域的存储器保护单元的设置。11.根据权利要求10所述的非暂态计算机可读介质,其中所述方法包括:向所述可编程计算设备提供所述内容。12.根据权利要求10所述的非暂态计算机可读介质,其中所述方法包括:从所述邻接区域、所述组合区域和所述独立区域中选择区域;标识与所选择区域的大小最接近的存储器保护单元区域大小;确定所选择区域的起始地址是否与所述存储器保护单元区域大小的地址结构对齐;以及响应于所选择区域的所述起始地址与所述存储器保护单元区域大小的所述地址结构对齐,将所选择区域分配给具有所述存储器保护单元区域大小的存储器保护单元区域。13.根据权利要求10所述的非暂态计算机可读介质,其中所述方法包括:从所述邻接区域、所述组合区域和所述独立区域中选择区域;标识与所选择区域的大小最接近的第一存储器保护单元区域大小;
确定所选择区域的起始地址是否与所述第一存储器保护单元区域大小的地址结构对齐;以及响应于所选择区域的所述起始地址不与所述第一存储...

【专利技术属性】
技术研发人员:F
申请(专利权)人:意法半导体大西部公司
类型:发明
国别省市:

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

1