stm32没有mmu,不能跑linux操作系统

stm32能跑linux操作系统吗?

答案:想要运行linux,芯片需要MMU,STM32没有MMU,所以不能运行Linux,WinCE等;但是可以运行ucosii、freertos、uLinux、vxWorks等。

根本原因:linux系统是运行单位是进程,ucosii运行单位是线程。要实现进程芯片必须有MMU(存储管理单元)。crotex-M没有MMU。所以不能运行进程的操作系统。

有人总结为:

(1)操作系统有两种 用MMU的 和 不用MMU的

用MMU的是Windows MacOS Linux Android

不用MMU的是FreeRTOS VxWorks ucOS

(2)CPU有两种 带MMU的 和 不带MMU的

带MMU的有 Cortex-A系列 ARM9 ARM11系列

不带MMU的有 Cortex-M系列,stm32就是M系列;

MMU的作用:

MMU是一种硬件模块,它位于中央处理器(CPU)内部,负责在CPU和内存之间实现虚拟内存管理。在内存管理方面,MMU通过页面表实现虚拟内存管理,当CPU发出一个虚拟地址时,MMU会通过页面表查找并将其转换为对应的物理地址。此外,MMU还可以实现内存保护和共享等功能。

相关推荐
d111111111d1 小时前
STM32外设--SPI读取W25Q64(学习笔记)硬件SPI
笔记·stm32·单片机·嵌入式硬件·学习
pq113_62 小时前
开源软件学习笔记 - 移植SFUD
笔记·stm32·sfud·ft4222h
steins_甲乙3 小时前
stm32入门篇(6)
stm32·单片机·嵌入式硬件
一支闲人16 小时前
CAN:STM32 CAN外设2
stm32·单片机·基础知识·can协议·stm外设
d111111111d18 小时前
STM32--SPI通讯外设-学习笔记
笔记·stm32·单片机·嵌入式硬件·学习
@good_good_study18 小时前
STM32 UART常用配置函数及实验
stm32
bai54593618 小时前
STM32旋转编码计次
stm32·单片机·嵌入式硬件
d111111111d18 小时前
在STM32中有参宏定义define该怎么使用
笔记·stm32·单片机·嵌入式硬件·学习
KWTXX18 小时前
STM32工作原理与数电模电的紧密联系【主要是介绍电路,模数电,想看STM32的工作原理可以不用看】
stm32·单片机·嵌入式硬件
偶像你挑的噻18 小时前
9-Linux驱动开发-设备树=>设备树插件实现 RGB 灯驱动
linux·驱动开发·stm32·嵌入式硬件