单片机为什么不能跑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。

相关推荐
Mr_Xuhhh12 小时前
博客标题:深入理解Shell:从进程控制到自主实现一个微型Shell
linux·运维·服务器
JoyCheung-12 小时前
Free底层是怎么释放内存的
linux·c语言
旖旎夜光12 小时前
Linux(9)
linux·学习
清风66666613 小时前
基于单片机的多功能智能婴儿车设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
码咔吧咔13 小时前
STM32芯片简介,以及STM32的存储器映射是什么?
stm32·单片机·嵌入式硬件
喵了meme14 小时前
Linux学习日记24:Linux网络编程基础
linux·网络·学习
whlqjn_121114 小时前
linux下使用SHC对Shell脚本进行封装和源码隐藏
linux·centos
weixin_4624462315 小时前
K8s 集群部署基础:Linux 三节点 SSH 互信(免密登录)配置指南
linux·kubernetes·ssh
别掩15 小时前
MOS防倒灌电路设计
单片机·嵌入式硬件
Hard but lovely15 小时前
Linux: 线程同步-- 基于条件变量 &&生产消费模型
linux·开发语言·c++