【技术实现步骤摘要】
应用MPU保护场景下的内存分配方法及系统
[0001]本专利技术涉及内存处理
,具体地涉及一种应用MPU保护场景下的内存分配方法及一种应用MPU保护场景下的内存分配系统。
技术介绍
[0002]存储保护单元(memory protection unit),简称MPU。其可以设置不同存储区域的存储器访问特性(如只支持特权访问或全访问)和存储器属性(如可缓存、可缓冲、可共享),对存储器(主要是内存和外设)提供保护,从而提高系统可靠性。MPU能够将memorymap内存映射区分为多个具备访问规则的区域,经过规则设置后能够实现内存保护、外设保护和代码访问保护。嵌入式操作系统运用多线程实现多任务,比如ucos(多任务实时内核操作系统),FreeRTOS(一种实时操作系统内核),RT
‑
thread(一种开源实时操作系统)等。例如,于Cortex
‑
M开发的裸机程序或使用嵌入式操作系统的程序,对于MCU上的资源每个任务都是共享的,可以认为是单进程多线程模型。当操作系统使用MPU保护,将任务进行分 ...
【技术保护点】
【技术特征摘要】
1.一种应用MPU保护场景下的内存分配方法,其特征在于,所述方法包括:S10)获取待存储信息和当前存储状态信息,并基于所述待存储信息和所述当前存储状态信息确定存储区域的划分方案;S20)基于所确定的划分方案设置对应的MPU保护寄存器;S30)基于对应的MPU保护寄存器的信息,确定下一次的划分方案;S40)重复执行步骤S20)至步骤S30),直到完成所述存储区域的划分,其中,每一次划分的划分方案均基于上一次划分对MPU保护寄存器的设置结果确定。2.根据权利要求1所述的方法,其特征在于,所述待存储信息为待存储数据的大小信息;所述当前存储状态信息为当前已经使用的存储空间的大小信息。3.根据权利要求2所述的方法,其特征在于,步骤S10)中,所述基于所述待存储信息和所述当前存储状态信息对存储区域的划分方案进行确定,包括:基于MPU保护寄存器的对齐规则,从当前已经使用的存储空间的使用结束地址开始,通过预设首次划分原则,以待存储数据的大小信息为待存储数据分配对应大小的存储区域;基于预设首次划分原则,在分配的存储区域中,确定首次划分下的MPU保护寄存器的信息设置规则,将确定的信息设置规则作为存储区域的划分方案。4.根据权利要求3所述的方法,其特征在于,所述首次划分下的MPU保护寄存器的信息设置规则包括:首次划分下的MPU保护寄存器数量、首次划分下的各MPU保护寄存器的保护大小、首次划分下的各MPU保护寄存器的起始地址对齐大小以及首次划分下的各MPU保护寄存器的起始地址。5.根据权利要求3所述的方法,其特征在于,所述预设首次划分原则包括:首次划分使用的MPU保护寄存器的总保护大小不小于待存储数据的大小;首次划分使用的MPU保护寄存器中,任一个MPU保护寄存器的保护大小不大于待存储数据的大小;首次划分的MPU保护寄存器中的首个MPU保护寄存器的起始地址与已经使用的存储空间的使用结束地址重合,或位于已经使用的存储空间的使用结束地址之前;首次划分的MPU保护寄存器中的次个MPU保护寄存器的起始地址依次与相邻前一个MPU保护寄存器的结束地址重合。6.根据权利要求4所述的方法,其特征在于,步骤S20)中,所述基于对应的MPU保护寄存器的信息,确定下一次的划分方案,包括:在基于预设首次划分原则完成存储区域首次划分的基础上,基于预设后续划分原则,确定下一次划分下的MPU保护寄存器的信息设置规则,将确定的信息设置规则作为存储区域的下一次的划分方案。7.根据权利要求6所述的方法,其特征在于,除首次划分以外,后续轮次划分下的MPU保护寄存器的信息设置规则包括:后续轮次划分下的各MPU保护寄存器的保护大小、后续轮次划分下的各MPU保护寄存器的起始地址对齐大小以及后续轮次划分下的各MPU保护寄存器的起始地址。8.根据权利要求7所述的方法,其特征在于,所述预设后续划分原则为除首次划分以外
的后续所有轮次划分的划分方案共同遵守的原则;所述预设后续划分原则包括:划分的MPU保护寄存器中的首个MPU保护寄存器的保护大小和起始地址对齐大小均为上一次划分方案下的前向MPU保护寄存器的子区域大小;划分的MPU保护寄存器中的首个MPU保护寄存器的起始地址与已经使用的存储空间的使用结束地址重合,或位于已经使用的存储空间的使用结束地址之前;划分的MPU保护寄存器中的后续MPU...
【专利技术属性】
技术研发人员:王鑫,胡启龙,樊林,梁华,秦理想,崔永旭,许晶,刘永富,
申请(专利权)人:北京智芯半导体科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。