I have an EFM32 board having Cortex M3. This board is having an Memory Protection Unit. Will it be a good idea to port Linux on it? I am discouraged because of this answer: Linux on ARM Cortex-M3 series, especially since I need a fast boot-up and efficiently running OS.

  • \$\begingroup\$ What do you mean by 'MPU'? \$\endgroup\$ – user36129 Nov 9 '13 at 6:57
  • \$\begingroup\$ Its Memory Protection Unit, link added \$\endgroup\$ – gpuguy Nov 9 '13 at 7:02
  • 7
    \$\begingroup\$ Technically Linux needs a MMU, not a MPU. \$\endgroup\$ – Ignacio Vazquez-Abrams Nov 9 '13 at 7:08
  • 1
    \$\begingroup\$ How much RAM does your system have? A reasonable minimum for Linux is 64 Mb for a very limited system. \$\endgroup\$ – Wouter van Ooijen Nov 9 '13 at 10:11

As others have alluded to in the comments of the question, I think what you are actually looking for is an MMU (Memory Management Unit) not an MPU (Memory Protection Unit). Among other things, a memory management unit is responsible for translating virtual memory addresses to physical memory addresses.

A memory protection unit really just keeps code executing in one mode (typically an unprivileged mode) from clobbering someone else's memory (usually the kernel's memory). This prevents a user program from bringing down the whole system.

If you are looking for a Unix-like operating system that you can run on hardware without an MMU (like Cortex-M based hardware), you might want to consider NuttX (http://nuttx.org/)

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.