2

I'm new to arduino and I am interested in arduino. But i know Linux system are compatible with arm processors, and i know that the arduino due haves arm processor. Is there a way to run linux such as Ubuntu or centOS in arduino due Board and how to connect sdcard and RAM to ardunio due?

1
  • NO. That board isn't a computer. Commented Nov 15, 2021 at 11:45

2 Answers 2

4

The Arduino Due has an Atmel/Microchip Atmel AT91SAM3X8E microcontroller, which integrates an ARM Cortex-M3 processor with Ethernet, USB, CAN, USART, and other peripheral. Since it's a Cortex-M3 processor, there is no MMU, memory management unit, to provide virtual memory capability.

Ubuntu is a Debian-based version of the Linux kernel bundled with Open Source software to provide a full-featured operating system with a graphical user interface (GUI). The system hardware requirements for running such an OS include a MMU and a video interface, and the Arduino Due has neither.

However there is a version of the Linux kernel (derived from the uClinux project) that does not require a MMU. There are also small-memory-footprint versions of the C library (uClibc) and user-space utilities (Busybox). Combine these, and you can build/install a headless (no video/graphical interface, just a serial terminal) version of the Linux OS for a MMU-less SoC with limited memory.

See Practical Advice on Running uClinux on Cortex-M3/M4 for the limitations of such a system.


Is there a way to run linux such as Ubuntu or centOS in arduino due Board ...

The lack of video hardware, insufficient memory, and lack of a MMU prevent use of "linux such as Ubuntu or centOS in arduino due Board".
However a text-based variant of the Linux kernel that doesn't require a MMU can be built.

... and how to connect sdcard and RAM to ardunio due?

The AT91SAM3X8E does have a HSMCI (high speed memory card interface) for a SD card socket. But there is no DRAM controller to support additional external DRAM, although external SRAM could be used.

3
  • As far as I know, isn't there a graphical operating system for Arduino?
    – mah5001
    Commented Dec 3, 2021 at 15:49
  • Asking an assertive question is obnoxious. A graphical OS would require a display with graphics capability (e.g. pixel addressability) and an input device (e.g. mouse or touchscreen). Does your board have those?
    – sawdust
    Commented Dec 4, 2021 at 6:33
  • The ideal procedure for a project is (1) define the problem; (2) come up with a solution, and a set of requirements that implement that solution; (3) define software requirements that satisfy solution requirements; (4) define hardware requirements that satisfy solution and software requirements. Seems like you have already selected the hardware (i.e. step #4), and are trying to working backwards.
    – sawdust
    Commented Dec 4, 2021 at 6:40
2

Linux is just a kernel, while Ubuntu, CentOS are operation systems that includes configurable environment and userland programs. Linux kernel itself is pretty complex system that would need a lot of resources. Ask yourself first: - "Why do you need multi processing systems on limited hardware?". While Arduino DUE is comparably powerful for some cases, it still pretty limited from the point of multiprocessing. You can try something like that, but why, while you can buy for the same amount of money a Raspberry Pi, and use on it full blown operation system on it while still having access to multiple hardware interfaces. Use arduino, where you limited with power (such as battery), or you need real time processing and/or as companion to more powerful computer such as Raspberry Pi. Thtat's the place where Arduino will shine because if you need real time processing, computers with full blown operation systems will sucks since kernel need to freeze periodically running programs to do internal stuff, like adjust time, watch for interruption and process them in queue.

So shortly, - use the right tool for a job.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .