mah5001 Asked: 2021-11-16 03:16:04 +0800 CST2021-11-16 03:16:04 +0800 CST 2021-11-16 03:16:04 +0800 CST 有没有办法像Ubuntu一样在arduino中运行linux? 772 我是 arduino 的新手,我对 arduino 很感兴趣。但我知道 Linux 系统与 arm 处理器兼容,而且我知道 arduino 应有 arm 处理器。有没有办法在 arduino due Board 中运行 linux,例如 Ubuntu 或 centOS,以及如何将 sdcard 和 RAM 连接到 ardunio due? linux arduino 2 个回答 Voted Alex 2021-11-16T05:03:27+08:002021-11-16T05:03:27+08:00 Linux只是一个内核,而Ubuntu、CentOS是操作系统,包括可配置的环境和用户态程序。Linux 内核本身是一个非常复杂的系统,需要大量资源。首先问自己:“为什么需要在有限的硬件上使用多处理系统?” . 虽然 Arduino DUE 在某些情况下相当强大,但从多处理的角度来看,它仍然非常有限。你可以尝试类似的东西,但是为什么,虽然您可以花同样多的钱购买 Raspberry Pi,并在其上使用完整的操作系统,同时仍然可以访问多个硬件接口。使用 arduino,您的电力有限(例如电池),或者您需要实时处理和/或作为更强大的计算机(例如 Raspberry Pi)的伴侣。这就是 Arduino 将大放异彩的地方,因为如果您需要实时处理,那么具有完整操作系统的计算机将会很糟糕,因为内核需要定期冻结正在运行的程序来执行内部操作,例如调整时间、注意中断并在队列中处理它们。 很快, - 使用正确的工具来完成工作。 Best Answer sawdust 2021-11-16T23:39:36+08:002021-11-16T23:39:36+08:00 Arduino Due 有一个 Atmel/Microchip Atmel AT91SAM3X8E 微控制器,它将 ARM Cortex-M3 处理器与以太网、USB、CAN、USART 和其他外围设备集成在一起。由于它是 Cortex-M3 处理器,因此没有 MMU(内存管理单元)来提供虚拟内存功能。 Ubuntu 是一个基于 Debian 的 Linux 内核版本,它与开源软件捆绑在一起,以提供具有图形用户界面 (GUI) 的全功能操作系统。运行此类操作系统的系统硬件要求包括 MMU 和视频接口,而 Arduino Due 两者都没有。 然而,有一个版本的 Linux 内核(源自 uClinux 项目)不需要 MMU。还有 C 库 (uClibc) 和用户空间实用程序 (Busybox) 的小内存占用版本。结合这些,您可以为内存有限的无 MMU SoC 构建/安装 Linux 操作系统的无头(无视频/图形界面,只有串行终端)版本。 有关此类系统的限制,请参阅在 Cortex-M3/M4 上运行 uClinux 的实用建议。 有没有办法在 arduino due Board 中运行 Ubuntu 或 centOS 等 linux ...... 由于缺少视频硬件、内存不足和缺少 MMU,因此无法使用“arduino due Board 中的 Ubuntu 或 centOS 等 linux”。 但是,可以构建不需要 MMU 的基于文本的 Linux 内核变体。 ...以及如何将 sdcard 和 RAM 连接到 ardunio 到期? AT91SAM3X8E 确实有一个用于 SD 卡插槽的 HSMCI(高速存储卡接口)。但是没有 DRAM 控制器来支持额外的外部 DRAM,尽管可以使用外部 SRAM。
Linux只是一个内核,而Ubuntu、CentOS是操作系统,包括可配置的环境和用户态程序。Linux 内核本身是一个非常复杂的系统,需要大量资源。首先问自己:“为什么需要在有限的硬件上使用多处理系统?” . 虽然 Arduino DUE 在某些情况下相当强大,但从多处理的角度来看,它仍然非常有限。你可以尝试类似的东西,但是为什么,虽然您可以花同样多的钱购买 Raspberry Pi,并在其上使用完整的操作系统,同时仍然可以访问多个硬件接口。使用 arduino,您的电力有限(例如电池),或者您需要实时处理和/或作为更强大的计算机(例如 Raspberry Pi)的伴侣。这就是 Arduino 将大放异彩的地方,因为如果您需要实时处理,那么具有完整操作系统的计算机将会很糟糕,因为内核需要定期冻结正在运行的程序来执行内部操作,例如调整时间、注意中断并在队列中处理它们。
很快, - 使用正确的工具来完成工作。
Arduino Due 有一个 Atmel/Microchip Atmel AT91SAM3X8E 微控制器,它将 ARM Cortex-M3 处理器与以太网、USB、CAN、USART 和其他外围设备集成在一起。由于它是 Cortex-M3 处理器,因此没有 MMU(内存管理单元)来提供虚拟内存功能。
Ubuntu 是一个基于 Debian 的 Linux 内核版本,它与开源软件捆绑在一起,以提供具有图形用户界面 (GUI) 的全功能操作系统。运行此类操作系统的系统硬件要求包括 MMU 和视频接口,而 Arduino Due 两者都没有。
然而,有一个版本的 Linux 内核(源自 uClinux 项目)不需要 MMU。还有 C 库 (uClibc) 和用户空间实用程序 (Busybox) 的小内存占用版本。结合这些,您可以为内存有限的无 MMU SoC 构建/安装 Linux 操作系统的无头(无视频/图形界面,只有串行终端)版本。
有关此类系统的限制,请参阅在 Cortex-M3/M4 上运行 uClinux 的实用建议。
由于缺少视频硬件、内存不足和缺少 MMU,因此无法使用“arduino due Board 中的 Ubuntu 或 centOS 等 linux”。
但是,可以构建不需要 MMU 的基于文本的 Linux 内核变体。
AT91SAM3X8E 确实有一个用于 SD 卡插槽的 HSMCI(高速存储卡接口)。但是没有 DRAM 控制器来支持额外的外部 DRAM,尽管可以使用外部 SRAM。