Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

uClinux porting on ARM922T

Not open for further replies.


Newbie level 1
May 13, 2011
Reaction score
Trophy points
Activity points

We are in the process of porting Linux to ARM922 based custom board. As an initial level we would like to start with an MMU-less OS. We understand uClinux best suits our requirement as uClinux is for MMU-less MPUs. We are very much beginner with Linux and uClinux. We have some doubt regarding uClinux.

1. In folder ./uClinux-dist/linux 2.6.x/arch/ we didn't find any armnommu folder, while there is a seperate folder named armnommu in /uClinux-dist/linux 2.4.x/arch. So do linux 2.6.x support MMU-less MPU?

2. We found KS8695 in linux 2.6.x is ARM922T based board and we would like to use configuration of KS8695 for porting to our custom board. So Is it possible to port an MMU-less uClinux using KS8695 configuration or does KS8695 only support MMU based OS?

3. We are able to compile successfully the KS8695 based uClinux with the "MMU-based Paged Memory Management Support" under System type menu in Linux Kernel Configuration OFF. Also we have selected Disable I-Cache (I-bit)and Disable D-Cache (C-bit) options.

The file is attached for reference.

Since we don't have a KS8695 EVB, we don't know whether the zImage generated with MMU OFF will work or not.

Please advice.


Here is website of one of the major contributors for the Linux 2.6/ARM distros:

**broken link removed**

The website should be able to answer most of your questions concerning the state of the MMU-Less ARM Linux 2.6 releases.

Also I found a very interesting historical perspective on the acceptance of MMU-Less processors by official Linux releases:

Microcontrollers, on the other hand, have been something of a frontier for Linux. Now they are supported on the mainstream Linux 2.6 kernel. In most cases, previous instances of Linux required a full-featured microprocessor with a memory management unit (MMU). But simpler microcontrollers are typically the more appropriate choice when low cost and simplicity are called for.

There have been ways to put Linux on MMU-less processors prior to version 2.6. The Linux for Microcontrollers project has been a successful branch of Linux for some important small systems. Version 2.6 integrates a significant portion of uClinux into the production kernel, bringing microcontroller support into the Linux mainstream.

The Linux 2.6 version supports several current microcontrollers that don't have memory management units. These include Motorola m68k processors such as Dragonball and ColdFire, as well as Hitachi H8/300 and NEC v850 microprocessors. The ETRAX family of networking microcontrollers by Axis Communications is also supported.

Quoted from the following article:

Hope the info helps answer your questions. I will keep an eye out for additional information.
why don't u try QEMU for basic simulation of your kernel image. Also since u are using MMU less CPU the memory map needs some modification to protect some sections of RAM without which the system might crash.

Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to