单片机为什么不能跑Linux

单片机为什么不能跑Linux

单片机-Cortex M的定位

  • 单片机,常被称为微控制器(MCU)
  • 比较常见的STM32单片机,它的CPU采用的ARM公司的Cortex-M系列的内核设计。

其实常说的单片机开发,即MCU开发,或者说就是Cortex-M开发。

Cortex M的定位

ARM处理器的体系结构定义了指令集(ISA)和基于这一体系结构下处理器的模型。ARM的指令集从ARMv1发展到今天的ARMv9。

ARMv7开始,其指令集架构变成了3种款式

  • Cortex-A:高性能的处理器级平台,性能比肩计算机。
  • Cortex-R:定位应用于高端嵌入式系统,高可靠及高时效性。
  • Cortex-M:用于深度嵌入、定制的嵌入式系统。Cortex-M的处理器没有内存管理单元MMU。

内存管理单元MMU

负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查。在多用户,多进程的操作系统中,MMU使得各个用户进程都有独立的地址空间。

操作系统

  • 一般将操作系统分为实时操作系统和非实时操作系统
  • 实时操作系统大多为单进程、多线程(多任务),所有线程共享一套物理地址空间,不需要MMU,例如VxWorks、FreeRTOS。
  • Linux系统属于非实时 操作系统,多进程是主要的特点。

总结

Linux系统依赖于MMU,M系列没有MMU,可以到A系列上开发Linux。

相关推荐
cen__y6 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
chao1898447 小时前
STM32 HAL库驱动AT24C02 EEPROM例程
stm32·单片机·嵌入式硬件
不仙5208 小时前
VMware Workstation 26.0.0 在 Ubuntu 24.04 (内核 6.17.0) 上的安装与内核模块编译问题
linux·ubuntu·elasticsearch
AI视觉网奇8 小时前
linux 检索库 判断库是否支持
java·linux·服务器
dapeng-大鹏8 小时前
KVM+LVM 零停机在线扩容 Ubuntu 根分区:从磁盘添加到逻辑卷扩展完整
linux·运维·ubuntu·磁盘空间扩展
不会武功的火柴9 小时前
SystemVerilog语法(8)-有限状态机(FSM)
嵌入式硬件·fpga开发·自动化·ic验证·rtl·uvm方法学
闫记康9 小时前
Linux学习day5
linux·chrome·学习
TechPioneer_lp9 小时前
30 岁硕士 Linux C 开发背景,未来想去澳洲就业,研究方向该选 AI、SDN 漏洞还是 Linux 内核?
linux·人工智能·职业规划·澳洲求职
_kerneler10 小时前
[qemu+kvm]: trap 寄存器脱敏优化方法
linux
猫猫的小茶馆10 小时前
【Python】函数与模块化编程
linux·开发语言·arm开发·驱动开发·python·stm32