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

相关推荐
云山工作室4 小时前
基于单片机的牧场奶牛养殖系统设计(论文+源码)
stm32·单片机·嵌入式硬件·毕业设计·毕设
CosimaLi11 小时前
STM32F10x硬件I2C
stm32·单片机·嵌入式硬件
GilgameshJSS15 小时前
STM32H743-ARM例程36-DNS
c语言·arm开发·stm32·单片机·嵌入式硬件
Jie_jiejiayou1 天前
STM32F10xxx启动模式配置与ISP一键下载
stm32·isp·烧录模式
GilgameshJSS1 天前
STM32H743-ARM例程33-TOUCH
c语言·arm开发·stm32·单片机·嵌入式硬件
hazy1k1 天前
51单片机基础-继电器实验
stm32·单片机·嵌入式硬件·51单片机·1024程序员节
kaka❷❷2 天前
STM32中 ESP8266 MQTT ModBus RS482 介绍
stm32·嵌入式硬件·智能路由器
hazy1k2 天前
51单片机基础-TFT LCD 显示(ILI9341,SPI 4线)
c语言·stm32·单片机·嵌入式硬件·51单片机
D.....l2 天前
STM32学习(MCU控制)(RS485 and ModBus)
stm32·单片机·学习
Jie_jiejiayou2 天前
按键防抖 — 工业级标准实现总结(STM32)
c语言·stm32·按键消抖