发布时间 : 星期四 文章涓轰綍Cortex-M澶勭悊鍣ㄨ繍琛屼笉浜唋inux - 鐧惧害鏂囧簱更新完毕开始阅读f68fe4ad26d3240c844769eae009581b6ad9bd92
为何 Cortex-M 处理器运行不了 linux
单片机与应用处理器的核心区别到底是什么呢?是核心主频的差异?还 是 Linux 系统的支持?又或者是处理器的架构?本文将以 NXP 的 Cortex-M 系列 为例做简要介绍。
一、Cortex-M 的定位
处理器的体系结构定义了指令集(ISA)和基于这一体系结构下处理器的程 序员模型,通俗来讲就是相同的 ARM 体系结构下的应用软件是兼容的。从 ARMv1 到 ARMv8,每一次体系结构的修改都会添加实用技术。
在 ARMv7 版本中,内核架构首次从单一款式变成 3 种款式。Cortex-M 系列属于 ARMv7 结构下的一个款式:款式 M。款式 M 包含的处理器有 Cortex-M0、Cortex-M1、Cortex-M3、Cortex-M4 以及 Cortex-M7,以上处理器 常被用于低成本、低功耗、高可靠的嵌入式实时系统中。它们既可以用于“裸 片”开发又能运行实时操作系统,比如 us/os-ll、VxWorks 以及 Aworks(致远电 子开发)等。四、总结
综合以上内容,linux 系统对内存管理单元有极强的依赖,若在没有 MMU 的处理器中运行 linux,恐怕整个系统只能停留在 Uboot 阶段了。由于 Cortex-m 处理器没有内存管理单元,因此跑不了 linux 系统。任何事情都不是 绝对的,如果你重写了 linux 内核且搭配足够大的内存芯片,从理论上来说是 可以省掉 MMU 的。但是,这样的工作量,真的值得吗?实际上,MMU 就是为 了解决操作系统越来越复杂的内存管理而产生的。 五、拓展部分
很大一部分开发者选用嵌入式 linux 系统未能发挥出它的优势,仅仅是 为了获得开发上的便利,比如以太网、4G 上云、LCD 驱动、文件系统、
AWorks 的诞生极大的降低了开发者门槛,为开发者提供便利,使开发者可以 忽略底层技术细节,专注产品“核心域”,更快的开发出具有竞争力的产品。同 时,AWorks 为开发者提供的是高度抽象的通用接口,基于 AWorks 平台的软 件与底层硬件无关,可以“随心所欲”的跨平台复用(如更换 MCU 等等)。跨界硬 件搭载 AWoeks IoT 实时操作系统,让您的开发更容易,功能更强大。 tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!