灵动微电子MM32F5330 MPU简介灵动微电子发布了搭载安谋科技“星辰”STAR-MC1处理器的全新高性能MM32F5微控制器系列,该系列在内核、总线和外设配置等多个方面进行了创新,内核上更是首次搭载了Armv8-M架构的“星辰”STAR-MC1处理器。Armv8-M架构相较于Armv7-M架构,除了性能显著提升以外,其中一项就是更加安全:Armv8-M架构引入了TrustZone技术,并强化了内存保护单元(MPU),让代码运行在更安全的环境中。
MPU在4GB地址映射中定义保护区域。Armv8-M上的MPU有8个region,每一个region都有起始地址,结束地址,访问权限和内存属性,每一个region都有单独的属性。和以往Armv7-M的MPU有所不同,Armv8-M的MPU不支持regionoverlap,如果一个地址同时出现在两个不同的region中,会导致HardFault。如果程序访问被MPU禁止的内存位置,处理器就会生成一个MemManage异常。
MPU本质上就是为了保护某一段地址区域不被非授权状态的程序进行访问。通常嵌入式操作系统使用MPU进行内存保护,内核可以根据进程动态更新MPU区域设置。MPU可以让嵌入式系统更加健壮,以及保护一些加密区域。MPU具有以下能力可以增加系统的健壮性: •可以阻止用户去破坏操作系统需要使用的数据 •可以防止一个任务去非法访问其他任务的数据,将任务完全隔离开 •可以把关键数据区设为只读,从而不被破坏 •检测其他意外访问,比如堆栈溢出,数组越界等 |