The hardware used in this book was carefully selected to maximize the impact of the examples. Having three target architectures exposes you to their similarities and differences. You should realize that the embedded world is not necessarily an x86 world. The interface hardware connected to the Project Trailblazer target boards was selected from among inexpensive chips and devices that are commonly available from local or online electronics suppliers. This interfacing hardware was chosen so that you can duplicate the book's examples on your own bench if you choose to.
For the most part, the Project Trailblazer hardware performed as expected throughout this book. In dealing with hardware designs, however, there are sometimes problems with vendors' products. Project Trailblazer had its share of these problems. Most of these problems were small; some required returning boards and devices to the manufacturers for repair. What's important to know is not that small problems existed but how quickly the manufacturers responded with solutions. Brightstar Engineering, Embedded Planet, Silicon Storage Technology, and Tri-M Systems provided exemplary hardware support for this book.
A key selling point of x86 single-board computers is their binary compatibility with their desktop counterparts: You are supposed to be able to develop an application on your desktop machine, copy it to your target board, and you're done. This book's examples show that working with the MediaEngine and the RPX-CLLF was as easy as working with the MZ104. After you configure your development environment, whether you're compiling or cross-compiling, binary compatibility is no longer a benefit.
Beyond binary compatibility, the relative speed difference between desktops and embedded hardware may mislead you in terms of target board performance. You could develop an application on your desktop machine, only to find out that it doesn't perform adequately on your target board. Also, if you're developing hardware interfaces for an embedded design, developing on your desktop could introduce additional complexity or board turns. Many single-board computers implement the PC104 form factor or other bus and physical board standards. Your desktop machine has PCI slots and might have ISA slots, but it certainly doesn't have a PC104 connector. You can't easily connect PC104 boards to your desktop. You might still opt for the x86 solution where vendor competition spurs competitive pricing. Adherence to form factors offers product alternatives and isolation from sole-source suppliers. Porting issues won't affect your kernel version decisions either. Practically all kernel source development is immediately available for use in x86 designs.
As far as non-x86 boards go, the MediaEngine and the RPX-CLLF have excellent designs and capabilities, via their StrongARM and PowerPC processors. Both the MediaEngine and RPX-CLLF contain bootloader code and a set of onboard diagnostic tools. These tools allow you to configure booting options, program on-board Flash memory, and examine processor registers and memory. These diagnostic tools are invaluable for debugging hardware designs. They allow you to configure CPU registers, which enable you to exercise hardware without booting an operating system. Most of the Project Trailblazer hardware connected to the MediaEngine or RPX-CLLF was debugged using this capability. These target boards also offer easy interface connectors to the CPU bus. Both the StrongARM 1110 and the PowerPC MPC860 processors contain a variety of on-board peripherals that permit external interfacing without additional external hardware controllers. Your design might require the universal serial bus, inter-integrated circuit (I2C) communications, serial peripheral interface (SPI), or memory-mapped input/output. An ARM or PowerPC processor might contain exactly the peripherals your design requires. This would reduce your design time, part count, physical size, and cost while increasing reliability. Kernel version availability is a potential drawback of selecting an ARM or PowerPC solution. ARM and PowerPC kernel patches require development time. Patch releases for these processors typically lag kernel releases.