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.
http://www.borg.umn.edu/~grant/Linux/
http://www.mvista.com/products/405gp_status/main and http://www.chips.ibm.com/products/powerpc/linux/
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.
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.
See the 823 Engineer's Toolbox at: http://www.motorola.com/SPS/ADC/pps/subpgs/etoolbox/823/index.html
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
See: ftp://vlab1.iram.es/pub/linux-2.2/
See ftp://ftp.mvista.com/pub/Area51/sandpoint-8240.
See: http://lists.linuxppc.org/listarcs/linuxppc-embedded/200002/msg00123.html and http://lists.linuxppc.org/listarcs/linuxppc-embedded/200008/msg00107.html
AltiVec is Motorola's answer to Intel's MMX. See http://www.altivec.com/.
See ftp://ftp.mvista.com/pub/Area51/ppc-altivec.
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.
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:
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.
This is a complete development kit, including hardware and software.
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
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
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.
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
http://www.mcg.mot.com/
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
http://members.home.net/mmporter/linux/
ftp://vlab1.iram.es/pub/linux-2.2/
http://www.agelectronics.co.uk/prod_ppc.html
A range of high-performance PowerPC-based products.
http://www.forcecomputers.com/
A range of high-performance PowerPC-based products.
http://www.actis-computer.com/
http://www.actis-computer.com/asp/vsbc6862.asp?adv=100
A VME based single board computer based on the Motorola MPC8260.
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
http://www.motorola.com/SPS/PowerPC/teksupport/refdesigns/sandpoint.html
Contact MontaVista software.
http://www.motorola.com/SPS/PowerPC/teksupport/refdesigns/yk.html
Contact MontaVista software.
A number of development boards, including the MPC8260 based SBC8260.
MPC860 Processor Modules.
http://www.cogcomp.com/
Modular development architecture including many varieties of PowerPC processor.