内存保护单元介绍
内存保护单元(memory protection unit),简称:MPU。
MPU的功能:
- 设置不同存储区域的存储器访问权限(特权级、用户级)
- 设置存储器(内存和外设)属性(可缓存、可缓冲、可共享代
代码访问保护、内存保护、外设保护。
管理员(权限 & 通行规则/路径)
具体好处
① 阻止用户应用程序破坏操作系统使用的数据
② 阻止一个任务访问其他任务的数据区,从而隔离任务
③ 把关键数据区域设置为只读,从根本上解决被破坏的可能
④ 检测意外的存储访问,如堆栈溢出、数组越界等
⑤ 将SRAM或RAM空间定义为不可执行,防止代码注入攻击
总结:提高嵌入式系统的健壮性,使系统更加安全
MPU设置内存区域的访问权限
MPU配置内存区域的访问属性
三种内存类型对应的情景
Cache简介
Cache(高级缓存)是提升STM32性能的关键一步。
M7内核芯片做了一级Cache支持,Cache分为数据缓存D-Cache和指令缓存I-Cache。
Cache支持4种基本操作:1,使能;2,禁止; 3,清空; 4,无效化
读操作:
CPU要读取的SRAM区数据在Cache中已经加载好,叫读命中(Cache hit);
如果Cache里面没有,这就是读Cache Miss。
写操作:
CPU要写的SRAM区数据在Cache中已经开辟了对应的区域,这就叫写命中(Cache hit);
如果Cache里面没有开辟对应的区域怎么办,这就是所谓的写Cache Miss。
保证cache有足够高的命中率,尽量少的cache miss,读/写速度会有比较大的提高。