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

相关推荐
XiHongShi20162 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
优信电子2 天前
AIT1001 非接触式红外测温模块 STM32 驱动开发实战:从引脚到代码全解析
stm32·嵌入式·温度传感器·红外测温·非接触式测温·ait1001
深圳老胡2 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
wuyk5552 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
Brilliantwxx2 天前
【STM32】 SPI Flash 驱动开发实战:阻塞模式驱动 W25Q64(含工程代码)
开发语言·stm32·单片机·嵌入式硬件
youcans_2 天前
【嵌入式软件AI编程】16. Claude Code 与 VS Code 的协同开发
stm32·mcu·嵌入式·ai编程·claude code
Zw-awa2 天前
按键接到 STM32 后:GPIO 输入到底读到了什么
stm32
MarkZhou6242 天前
智能蒸烤双核通信架构拆解:从冗余耦合到分层解耦
stm32·单片机·嵌入式硬件·架构·安卓·安全架构
chem41112 天前
STM32CubeMX Linux 开发环境搭建
stm32·单片机·linux系统
无敌贵点大王3 天前
RTThread学习记录11——RT-Thread 设备模型吃透:UART/ADC/PWM/PIN 到底有什么区别?
c语言·stm32·学习·链表