STM32有没有内存管理单元MMU,它负责虚拟地址到物理地址的映射
MMU是一种硬件模块,它位于中央处理器(CPU)内部,负责在CPU和内存之间实现虚拟内存管理。其主要功能包括:
- 将虚拟地址转换为物理地址。
- 提供访问权限的控制。
- 缓存管理。
MMU是现代计算机操作系统中一个重要的组成部分,它能提高系统的稳定性和安全性。在内存管理方面,MMU通过页面表实现虚拟内存管理,当CPU发出一个虚拟地址时,MMU会通过页面表查找并将其转换为对应的物理地址。此外,MMU还可以实现内存保护和共享等功能
linux系统是运行单位是进程,ucos运行单位是线程。要实现进程芯片必须有MMU(存储管理单元)。crotex-M没有MMU。所以不能运行进程的操作系统。
操作系统有两种 用MMU的 和 不用MMU的
-
用MMU的是Windows MacOS Linux Android
-
不用MMU的是FreeRTOS VxWorks ucOS
CPU有两种 带MMU的 和 不带MMU的
-
带MMU的有 Cortex-A系列 ARM9 ARM11系列
-
不带MMU的有 Cortex-M系列
STM32的M系列,所以不可能运行Linux