Professional Documents
Culture Documents
Why use Linux in an embedded System? Running Linux without an MMU. Running Linux on Multicore systems. Debugging embedded Linux. Toolchains and evaluation boards.
dedicated to specific functions, usually consisting of a microprocessor and firmware. The computer becomes an integral part of the device as opposed to devices which are controlled by an independent, stand-alone computer. It implies software that integrates operating system and application functions.
Examples
Networking Equipment Cellular Phones
PDAs
Home Appliances
Numbers
Computers embedded in them. Typical American home has >40 Embedded processors Embedded Computers account for >99% of all CPUs used.
lowest cost Often Require very long (years) continuous uptime Often Have Real Time constraints Usually require less power use Often Lack typical computer peripherals More often than not Embedded computers use non x86 architectures.
customization. This is Easy with Linux because it is open source. Linux is Free. No Licensing Costs, no per unit shipped royalties. Linux can be stripped down to be very lightweight. (complete router in less than 2MB flash 8MB RAM) Linux is already ported to a wide variety of Architectures. (x86, ARM, MIPS, XScale, SuperH, PowerPC, 68k 29k)
programmers familiar with the Linux environment Linux is stable. Server uptimes routinely hit months if not years. There exists a large body of functional applications for linux which can be quickly adapted for your project rather than rewriting fhem from scratch.
Share code segments between processes while allowing different data segments ( IE
Shared libraries )
Switch Processes Quickly Fork new processes. Share code segments between processes allocate new stack space to a process
CPU
ALU MMU
CPU receives instruction to fetch data at address 0x00100000 into register r3. ALU issues Read request MMU looks in TLB and determines that this is really 0x8f100000 in RAM
Register File
TLB
MMU issues the read to the external memory system. CPU receives data from 0x8f100000 and proceeds with the next instruction.
www.uclinux.org www.ucdot.org
VersaLogic -- x86 Gumstix -- XScale KwikByte - ARM9 MicroTik - MIPS 4kc Linksys wrt54g MIPS
www.linuxdevices.com - general embedded Linux news eval board listings www.linux-mips.org Linux on MIPS processors www.uclibc.org smaller sized replacement for glibc www.ucdot.org Embedded Linux Developer Forum
MontaVista Linux - www.mvista.com Jungo Software www.jungo.com Timesys Linux www.timesys.com WindRiver www.windriver.com Also VxWorks
END
Mike Cherba mcherba@gmail.com www.euglug.org