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, 2013 at 6:57
  • \$\begingroup\$ Its Memory Protection Unit, link added \$\endgroup\$
    – gpuguy
    Nov 9, 2013 at 7:02
  • 7
    \$\begingroup\$ Technically Linux needs a MMU, not a MPU. \$\endgroup\$ Nov 9, 2013 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\$ Nov 9, 2013 at 10:11

1 Answer 1


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/)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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