Next Previous Contents

3. Target Hardware

Start by picking the processor which most closely matches your I/O requirements, and work out roughly how much RAM and ROM space you need. Then see if you can find an off-the-shelf board which also most closely matches what you need.

3.1 CPU

4xx

http://www.borg.umn.edu/~grant/Linux/

IBM 405GP

http://www.mvista.com/products/405gp_status/main and http://www.chips.ibm.com/products/powerpc/linux/

7xx

ftp://ftp.mvista.com/pub/Area51/ppc-7xx and http://www.chips.ibm.com/products/powerpc/linux/

These devices are all covered in the MontaVista kernel.

Motorola 8xx

http://mot-sps.com/products/microprocessors/32_bit/mpc800/

Information from Motorola is fragmented, because the 850/860 and 823 are handled by different groups. Information about the bits they have in common is generally equally applicable to both, so it's worth purusing the 823 resources even if you're using an 850/860.

These devices are all covered in the MontaVista kernel.

823

See the 823 Engineer's Toolbox at: http://www.motorola.com/SPS/ADC/pps/subpgs/etoolbox/823/index.html

850/855/860

http://www.motorola.com/SPS/RISC/cgi-bin/ncsp/ncsp.cgi

For non-Linux-specific technical FAQ's, see: http://www.mot.com/SPS/RISC/netcomm/support/ and especially: http://www.mot.com/SPS/RISC/netcomm/support/searchdb.html

603e

See: ftp://vlab1.iram.es/pub/linux-2.2/

Motorola 82xx

See http://www.mvista.com/.

8240

See ftp://ftp.mvista.com/pub/Area51/sandpoint-8240.

8260

See: http://lists.linuxppc.org/listarcs/linuxppc-embedded/200002/msg00123.html and http://lists.linuxppc.org/listarcs/linuxppc-embedded/200008/msg00107.html

AltiVec

AltiVec is Motorola's answer to Intel's MMX. See http://www.altivec.com/.

See ftp://ftp.mvista.com/pub/Area51/ppc-altivec.

3.2 RAM and ROM space

Linux has a slightly larger memory footprint than most conventional embedded operating systems when configured with equivalent options. This is the price you pay to leverage the advantages of its enormous desktop user base, and being able to share a common desktop and embedded environment. For most applications the difference is insignificant, but if every last byte counts in your application, you might want to consider RTEMs or eCos instead.

Beware that commercial embedded operating system vendors often make meaningless claims regarding the footprint of their micro-kernel, and the total memory footprint (and often the royalties payable) increases substantially once all the optional packages needed to provide the required functionality for a typical networked device are included. Work out what functionality you need before attempting to make valid comparisons.

For good architectural reasons, Linux isn't a micro-kernel. However, it does allow large chunks of code to be removed easily at configuration time. In practice the architectural distinction between micro and monolithic kernels makes little difference to total memory requirements of the overall system.

Minimum memory requirement when using an initrd based root file system is generally 2 Mb of flash ROM and 8 Mb of RAM, and here's what you can expect to fit in:

This is the most common configuration because it attempts to minimize ROM space at the expense of RAM, since ROM is generally more expensive. However, you can trade off ROM space to reduce RAM usage by using a compressed flash file system and/or running the kernel directly from ROM. Both these options are more difficult, but have been successfully deployed and discussed on the mailing list.

3.3 Commercially available boards

There are many off-the-shelf options including systems from Motorola and other parties. If you're planning on building your own custom hardware, consider using one of the Single Board Computer systems listed below instead. You may get by with just a custom daughter card, or may not need to do any hardware of your own at all.

All the boards listed below are known to run Linux, although the degree of support can vary. Mention to the vendor that you want to run Linux on the board, and they should be able to point you to the relevant files you need. The best supported boards are supported directly in the main kernel development tree, which is most evident by having a dedicated _MACH_... constant already assigned in include/asm-ppc/processor.h.

If you still think you want to do a full custom design, pick a board from one of the following sources with the closest feature match to what you plan to kick start your software development while your custom board is being designed and built:

Embedded Planet

http://www.embeddedplanet.com/

These boards are officially supported by the MontaVista kernel.

You'll want to use the new PlanetCore bootloader, as the old RPXU monitor used to time out on large tftp downloads.

Linux Planet

This is a complete development kit, including hardware and software.

CLLF

See: http://lists.linuxppc.org/listarcs/linuxppc-embedded/199910/msg00055.html

CLLF-860T users should see: http://lists.linuxppc.org/listarcs/linuxppc-embedded/200001/msg00143.html

Bright Star Engineering

http://www.brightstareng.com/

Has an onboard FPGA for configuring hardware, making it extremely flexible for interfacing to exotic devices. They have a Linux development kit available for it too.

If using a 2.2.x kernel, see: http://lists.linuxppc.org/listarcs/linuxppc-embedded/199912/msg00088.html

Simple Network Magic Corporation

http://www.snmc.com/

QS850 QuickStack Network Interface/Network Management Module

http://www.snmc.com/products.html

The QS850 is a highly integrated and compact module for adding networking features to any embedded system. It provides a complete hardware and Linux based software solution for Internet connectivity, Network Management, and Non-volatile File System services. See QSLinux.

TQComponents

http://www.tqc.de/HTM_Files/TQM8xx_Serie.htm

Have a range of very small mini-modules suitable for integration in a larger system, plus a starter kit for development. Supported by Denx Software Engineering, with pictures at: http://www.denx.de/embedded-ppc-en.html

Also, see: http://lists.linuxppc.org/listarcs/linuxppc-embedded/199910/msg00088.html

Motorola Computer Group

http://www.mcg.mot.com/

MBX

http://www.mcg.mot.com/cfm/templates/product.cfm?PageID=217&ProductID=51&PageTypeID=1

Before choosing this, see: http://lists.linuxppc.org/listarcs/linuxppc-embedded/200010/msg00037.html

PowerPlus SBC

http://members.home.net/mmporter/linux/

MVME2600

ftp://vlab1.iram.es/pub/linux-2.2/

AG Electronics

http://www.agelectronics.co.uk/prod_ppc.html

A range of high-performance PowerPC-based products.

Force Computers

http://www.forcecomputers.com/

A range of high-performance PowerPC-based products.

Actis Computer

http://www.actis-computer.com/

VSBC-6862

http://www.actis-computer.com/asp/vsbc6862.asp?adv=100

A VME based single board computer based on the Motorola MPC8260.

Motorola Semiconductor

Family Application Development System

Before you choose this one, see: http://lists.linuxppc.org/listarcs/linuxppc-embedded/199909/msg00007.html

Nevertheless, it is possible. Search for FADS. Also, see Solutions4Linux ADS/FADS 8xx: http://www.solutions4linux.de/powerpc.html

Sandpoint

http://www.motorola.com/SPS/PowerPC/teksupport/refdesigns/sandpoint.html

Contact MontaVista software.

Yellowknife

http://www.motorola.com/SPS/PowerPC/teksupport/refdesigns/yk.html

Contact MontaVista software.

EST Corporation

http://www.estc.com/

A number of development boards, including the MPC8260 based SBC8260.

Haedong Information & Communications

http://www.headtel.com/

MPC860 Processor Modules.

Cogent Computer Systems

http://www.cogcomp.com/

Modular development architecture including many varieties of PowerPC processor.


Next Previous Contents