Recently I started discovering the Linux noMMU world. Here is a status about my
investigation and work. The noMMU world of embedded systems is growing again.
To get an idea what noMMU Linux is, take a look at this new site http://nommu.org.
The main Linux distribution for noMMU Linux aka uClinux is http://www.uclinux.org.
Following architectures are available without MMU and supported by OpenADK and uClibc-ng:
arm - Cortex-M processors from ARM, Emcraft is selling hardware and software
blackfin/bfin - Embedded processor from Analog Devices
c6x - DSP from Texas Instruments
coldfire - Freescale m68k embedded processors, only v4 have a MMU
fr-v - Processor from Fujitsu (will be hopefully resurrected in uClibc-ng soon)
h8/300 - Processor from Renesas Technology
lm32 - LaticeMico32 microprocessor optimized for Lattice Semiconductor FPGA's
microblaze - FPGA processor from Xilinx
mips - only used on Sony PlayStation Portable devices (PSP)
nios2 FPGA processor from Altera
sh2 - SuperH 2 from Renesas Technology, patent expired, see http://0pf.org
sparc - LEON from Cobham Gaisler have some noMMU bitstreams
xtensa - Cadence recently implemented the needed bits and bytes to use on noMMU
There are some discontinued ports: e1, v850 and nios.
There are three different binary formats used in uClibc-ng to support these devices
as normal ELF can not be used:
bFLT, FLAT - used by bfin, coldfire, h8/300, lm32, microblaze, mips, nios2, sh2, sparc and xtensa
FDPIC - used by bfin/fr-v and sh2 (not merged or tested)
DSBT - used by c6x only
For some of the architectures emulators and simulators exist:
bfin - GDB simulator
coldfire - Qemu emulator
h8/300 - GDB simulator
lm32 - Qemu emulator
I got access to some hardware to do testing of uClibc-ng:
ARM Cortex-M4 Kinetis K70 brought from Emcraft
Blackfin BF548 sponsored by Arcturus Networks
Coldfire CF5328 sponsored by Arcturus Networks
MIPS PSP brought via Ebay
Xtensa Xilinix Kintex 7 sponsored by Cadence Design Systems
I am trying to convince Texas Instruments to sponsor a C6X board and
I might get access to LEON FPGA bitstreams to test SPARC.
Still need to figure out, which FPGA would be the best for LM32 testing.
Yesterday I got the uClibc-ng test suite running on the coldfire board the first time.
I don't think uClibc developers ever run the testsuite on noMMU hardware as they depend
on GNU make, which requires fork(). uClibc-ng uses a nice POSIX shell script from Thorsten
Glaser, which runs equally well with mksh and busybox hush, which is the best shell to use
on noMMU systems right now.
So the next action points are:
- get sh2 bFLT working on Numato Mimas v2 with J2 core running
- get sh2 FDPIC support merged into uClibc-ng
- test Xtensa noMMU on my sponsored Xilinix Kintex7, need to find out how generate bitstreams
- get recent Linux kernel running on arm, coldfire and blackfin boards to no longer
need to chroot into uClibc-ng userland
happy hacking
Saturday, December 5. 2015
noMMU status
Trackbacks
Trackback specific URI for this entry
No Trackbacks