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还可以实现内存保护和共享等功能。

相关推荐
jasonslaex1 小时前
stm32传感器通用驱动代码
驱动开发·stm32·嵌入式硬件
CPETW8 小时前
同旺科技 USB TO SPI / I2C适配器(专业版)--EEPROM读写——C
c语言·开发语言·科技·stm32·单片机·嵌入式硬件·电子
woshihonghonga13 小时前
高级定时器TIM1、TIM8
stm32·单片机·嵌入式硬件
花落已飘1 天前
STM32 Bootloader:使用文件头加载并启动应用程序
stm32·bootloader
猿来不是梦1 天前
RT_Thread内核源码分析(五)——内存管理@小堆内存管理算法
stm32·单片机·算法·系统架构·rt_thread操作系统
JXNL@1 天前
STM32外设学习之USB
stm32·嵌入式硬件·学习
yifa201604041 天前
STM32、Arduino和51单片机
stm32·学习·51单片机
学习噢学个屁2 天前
基于STM32汽车温度空调控制系统
c语言·stm32·单片机·嵌入式硬件·汽车
我命由我123452 天前
STM32 开发 - 中断案例(中断概述、STM32 的中断、NVIC 嵌套向量中断控制器、外部中断配置寄存器组、EXTI 外部中断控制器、实例实操)
c语言·开发语言·c++·stm32·单片机·嵌入式硬件·嵌入式
宋一平工作室2 天前
单片机队列功能模块的实战和应用
c语言·开发语言·stm32·单片机·嵌入式硬件