Which board has an ARM microcontroller with MMU?

Go To Last Post
14 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I found Arduino Due with AT91SAM3X8E. I wasn't sure if it has MMU so I opened the datasheet, Ctrl+F'd, typed "MMU" or "Memory Management" and I don't get positive results.

Is there an Arduino board that has an ARM microcontroller with MMU?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The only Arduino board that has an MMU would be the YUN, but it is not ARM but MIPS. There might ge an Intel based Arduino board, but i am a bit behind with the latest offerings. If you look at Raspberry Pi and Beaglebone, these have ARM cpus with mmus - these usually run Linux.

Note 'microcontrollers' usually don't have mmus - 'microprocessors' somestimes do.

Last Edited: Sat. Sep 5, 2015 - 10:31 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

You are looking for Cortex-A, not Cortex-M. What differentiates A (application processor) from M (eMbedded) is the presence of an MMU to run virtualising operating systems like Linux. 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Galileo probably has an MMU as well.  It's an x86.

Why do you want an MMU?

Why do you want an ARDUINO with an MMU?  You might as well pick one of the the boards with existing MMU-based infrastructure (ie linux), like Raspberry Pi or Beaglebone (or many others.)

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've heard of Gameduino (note, not Gamebuino). It's an FPGA based GPU for retro graphics. I was thinking of using it with Arduino Mega (Atmega2560) and then putting it all onto one PCB and thus making it the first AVR game console where the AVR microcontroller doesn't mess with the graphics, but has free time to do other things during non-VBlank times.

 

Realizing that it's easy to make a virus, cause null-pointers of structs to write garbage on the I/O register section and probably some fatal troubles (like turning an input pin that receives 5V to an output pin and thereby causing a short circuit or messing with the lock bits), corrupt EEPROM, erase SD cards (either intentionally or unintentionally), etc., I've decided to use an ARM processor because of the MMU that can easily throw an exception on null-pointers (like Windows kernel restricts the first 64kB of virtual memory), access violation and other stuff. It will be even safer to use with everything else. To cause some I/O change or call a function for for example sending a bitmap over SPI, the game code will call the kernel to send the SPI data that needs to be sent. Easy as that. The user's game code won't even need to have any system stuff in it, but just a few functions or macros that are basically ASM instructions for putting parameters on the stack, calling the kernel subroutine and returning back to the game code.

 

Therefore, I need an ARM processor with an MMU. I would like it very much if it could somehow have a little bootloader or to be cheaply programmable by some cheap programmator like AVRisp and not JTAGICE which is like 3 times more than an AVR.

One guy told me that I need to have better hardware that costs less and that's what ARM is about: costs way less than AVR and is much stronger than AVR. He told me that real retro projects don't use retro hardware, but instead use strong hardware to emulate the retro graphics and sound all in much higher quality than how it was only possible in 1985. On the other side, the NESDev forums' people say that people like it more when everything is limited in hardware because it forces the programmer to optimize their code. But this guy tells me that people don't care about 8-bit/16-bit/32-bit, but instead that the game is playable and that it works and as for the developers, it should be easily programmable.

 

The goal, as usual (as like almost one year ago, to be more precise), is to make an open-source retro console which is cheap like $40 and at the same time is able to act like a computer to play MP3 files (thanks to the VLSI Solution MP3 codec chip), read TXT files, manage files, etc..

 

The reason why I wanted to use Arduino is because many cheap ultra-retro projects have succeeded thanks to the compatibility with Arduino and the large userbase of Arduino users. It will be very hard to succeed on Kickstarter or anywhere if I don't use Arduino (regardless of how Arduino IDE doesn't have refactor functions like Atmel Studio, doesn't have a debugger or a simulator and how I can even work in assembly if I have to).

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think we've been through this before.
Realise that going to a Cortex A series part ( ones with mmus) means you need external ram and flash. You've pretty well jumped to an 8 layer pcb with impedance matched tracks. Holy shit batman! That sounds like a Raspberry Pi! Wait a second - can it emulate 80's games? It runs MAME. I think you're a bit late to the party especially when there's a kickstarter thingy for $9.
https://www.kickstarter.com/projects/1598272670/chip-the-worlds-first-9-computer
It has an ARM, a mmu and can emulate 80's games with video and sound. And is $9.

But wait! You want something with a lcd, touchscreen, wifi and battery? That's an Android tablet. Plenty have been hacked. These can be got for close to your $40 budget.
Next time you're having a smoke of the peace pipe, do some research first.

Last Edited: Sun. Sep 6, 2015 - 03:52 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Foxcat385 wrote:
I've decided to use an ARM processor because of the MMU that can easily throw an exception on null-pointers (like Windows kernel restricts the first 64kB of virtual memory), access violation and other stuff.
An ARM Memory Protection Unit (MPU) can perform inter-region mis-access detection.

There's a uClinux for a competitor's ARM Cortex-M7 evaluation board; that board is less expensive than Atmel's equivalent (48USD vs 136USD) and has a capacitive touchscreen LCD (approx HVGA).


YouTube

Mouser Presents: ST Microelectronics STM32 F7 Discovery Kit

Mouser Electronics

Published on Aug 19, 2015

https://www.youtube.com/watch?v=R78zvO-s6H0

EmCraft Systems

News

http://www.emcraft.com/news/

...

July 8, 2015: Release 1.14.1 introduces a new Linux BSP for the STmicro STM32F7 Discovery board. The list of supported peripherals includes UART, GPIO, Ethernet, USB host, RTC, SD Card, and some other I/O interfaces.

...

Electronic Design

Practical Advice on Running uClinux on Cortex-M3/M4

by

Sep 17, 2012

http://electronicdesign.com/embedded/practical-advice-running-uclinux-cortex-m3m4

...

... the Cortex-M3/M4 architecture provides a memory protection mechanism called MPU (Memory Protection Unit).

Using the MPU, Emcraft Systems has added to the kernel an optional feature (configurable using an CONFIG_MPU build-time option) that implements process-to-process and process-to-kernel protection on par with the memory protection mechanisms implemented in Linux using MMU.

...

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Foxcat385 wrote:

 

Therefore, I need an ARM processor with an MMU.

 

...

cheap like $40 and at the same time is able to act like a computer to play MP3 files

...

The reason why I wanted to use Arduino is because many cheap ultra-retro projects have succeeded thanks to the compatibility with Arduino and the large userbase of Arduino users. It will be very hard to succeed on Kickstarter or anywhere if I don't use Arduino (regardless of how Arduino IDE doesn't have refactor functions like Atmel Studio, doesn't have a debugger or a simulator and how I can even work in assembly if I have to).

 

I'm afraid you have picked a set of requirement that is impossible to fulfill. Well intentioned advice perhaps, but you don't need an MMU, or even perhaps an ARM.

 

You need to look at solutions available in the price range, then work out which is the best fit to your requirements. You will have to accept some compromises.

 

I think the best bang for buck is still the Raspberry Pi, but of course is not Arduino compatible. Within the Arduino system, the fastest is probably Galileo, but not at $40.

 

Realistically, in Arduino the SAM3X (Due) is relatively cheap and powerful, but there are several other options outside Arduino, e.g. STM32F4 series.

 

Of course, you can always write your own package to use other hardware inside Arduino IDE, writing an Arduino core is quite doable depending on the complexity of the target, but is not a trivial exercise.

Bob.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Alright, then I'm selling all these AVR stuff that I bought.

 

Is there a version of Raspberry Pi that has all those USB sockets, audio jacks, etc. externally addable so that I can arrange them my way on another PCB? I was thinking of a good phone design, but it would be impossible to accomplish with this layout of stuff. It'd need to be in a form of a pocket PC. I was thinking of buying BeagleBone if it has just a PCB with those nasty complex layers with RAM, Flash, CPU, GPU, etc. on it while I only care about the rest on another PCB. Could BeagleBone save me? You know, I'm just trying to avoid this memory bus issue and have it on one PCB while I care about the rest of the hardware and software. It would be connected to my PCB with tiny little ribbon cables like in regular phones. That will also be good to have a PCB special for keyboard which doesn't really have to be parallel with the rest of the PCBs so that they just go where they have to go. That seems to be good. I could go on as usual, but now you get my new decision (yeah, I know I'm boring you with that, but I'm sorry. I was testing lots of stuff and reading datasheets with a friend and would get disappointed in inabilities of hardware). I just need a PCB with a changeable layout of the sockets.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

donotdespisethesnake wrote:
Within the Arduino system, the fastest is probably Galileo, but not at $40.
And the Intel Edison though about double the 40USD with the Arduino breakout.

Arduino

Intel Edison

https://www.arduino.cc/en/ArduinoCertified/IntelEdison

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Foxcat385 wrote:
Is there a version of Raspberry Pi that has all those USB sockets, audio jacks, etc. externally addable so that I can arrange them my way on another PCB?
Raspberry Pi Compute Module.

Foxcat385 wrote:
I just need a PCB with a changeable layout of the sockets.
A System-on-Module (SoM); plugs into your I/O board.

Some SoM use the MPU from a BeagleBone; some use an Atmel ARM Cortex-A or ARM9 MPU.


Raspberry Pi

Compute Module

https://www.raspberrypi.org/products/compute-module/

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Foxcat385 wrote:
I was thinking of a good phone design, but it would be impossible to accomplish with this layout of stuff. It'd need to be in a form of a pocket PC.

Atmel

Bits & Pieces

RePhone is the world’s first open source, modular smartphone

Posted by: Atmel Staff

Posted on: September 22, 2015

http://blog.atmel.com/2015/09/22/rephone-is-the-worlds-first-open-source-modular-smartphone/

via https://plus.google.com/106109247591403112418/posts/ZYFqqRd4emX

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Wow. Looks very inspiring! Thank you! I think I'll go for the Raspberry Pi Computer Module. And I didn't know someone made such a good phone with an ATmega.

 

How are they gonna even be able to install apps? Do all have to be recompiled every single time?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Foxcat385 wrote:

Wow. Looks very inspiring! Thank you! I think I'll go for the Raspberry Pi Computer Module. And I didn't know someone made such a good phone with an ATmega.

 

How are they gonna even be able to install apps? Do all have to be recompiled every single time?

 

The GSM core module is an ARM7, there is no way you run a mobile stack on an ATMega!

 

The ATmega is like an Arduino compatible plug-in, so you write sketches for the Atmega which talk to the core module.

 

Architecturally, it is little different to an Arduino with the GSM shield, but the physical packaging is much better.

 

 

Bob.