AMCC's PowerPC 440EP development kit centers around the Yosemite board (see Fig. 1) that contains a 533-MHz AMCC PPC440EP microcontroller with a 5-stage floating-point unit (FPU). The chip contains a 66-MHz, 32-bit PCI interface that is brought out to a PCI connector on the board. On-chip interfaces include a USB 1.1 host with MAC and PHY, a USB 2.0 device interface with MAC only, dual 100BaseT Ethernet interfaces, serial ports, and I2C and SPI interfaces. There is a 4-channel DMA controller with the ability to move data from NAND flash to SDRAM. The latter supports ECC.
The board contains 256 Mbytes of SDRAM and 32 Mbytes of flash. The flash is programmed with U-Boot, an open source boot monitor, and Linux 2.6. This configuration allows a quick initial evaluation of the board.
The board design is ideal for developing a system that utilizes a PCI interface. For example, a NAS (network attached storage) device can be easily constructed by plugging in an IDE, SATA, or SAS controller board. Of course the hard drives will be sitting on the workbench, but that is a minor issue. A more difficult task will actually be finding the PowerPC device drivers. Luckily, most development will be done using Linux or other PowerPC operating systems, like Green Hills Integrity, that will likely have the necessary device drivers available. The final hardware design would integrate everything onto one board, but software developers can get started immediately.
The dual Ethernet interface and plethora of USB interfaces make this an ideal gateway platform as well. There is even enough memory for something like a Java-based OSGi Gateway platform. Wireless support could also be added via the PCI interface.
The kit comes with the usual power supply, serial and network cables, and numerous evaluation software CDs that I'll get to a little later. The board has support for JTAG and tracing, but this requires additional hardware. It will be required, however, if debugging of device drivers and hardware is necessary or if the U-Boot program is completely fried. It will not be necessary if application software development is the primary goal. In this case, the built-in software works very well.The Software The kit comes with three major development packages and two diagnostic tools. The latter include JTAG and debugging tools from Embedded Toolsmiths and Kozio. The Kozio K-diagnostics are built into the U-Boot monitor that made it a trivial task to check out the board and its peripherals. This is something that is often lacking in other kits, where tracking down bad memory or an improperly working peripheral interface can be tedious at best. The three major development packages include tools from Denx Software Engineering, Green Hills Software, and LynuxWorks. I'll take a look at each.
First a quick look at the quick start doc. This is a short step-by-step procedure for cabling the board and running the built-in support like U-Boot and K-diagnostics. These start out using the serial interface and a terminal application. It was straight forward and the basic functionality is easily mastered. The interface can actually be ignored after network support is configured, although if you need to load a new operating system you will have to contend with U-Boot.
The AMCC CD comes with a web-based interface (see Fig. 2) that can be used to run applications like Telnet and access the built-in web server (see Fig. 3). Overall, getting the system to this point and running all the demos and benchmark programs took less than an hour.
So much for the first plateau. Reaching the next plateau takes a good deal more time.
Denx Software Engineering is the source of U-Boot and the Embedded Linux Development Kit (ELDK). Both are open source and freely available from the Denx website. Denx also provides consulting and customization services. The host platform is Linux and I was able to install it under CentoOS, a variant of Red Hat Linux.
As you might expect, the ELDK is a command-line system using the usual GNU toolchain that has been customized for the PowerPC. The ELDK is also targeted at specific boards like the Yosemite board in this kit. It is possible to use the tools with a graphical development environment like Eclipse, but it requires some customization of the Eclipse CDT (C/C++ Development Toolkit).
On the plus side, the demonstration applications are built using the ELDK, so it is a good place to start. Although you can rebuild the Linux image, it is much easier if running an application is all that's necessary. It is a trivial exercise to use the debugger over an Ethernet link. It's possible to use U-Boot for remote booting or to download an image using TFTP, but getting to this plateau may take a day or two, or more, for those who have not already achieved success with these techniques in the past.
If you are using Windows as a host platform, then Green Hills is worth a look. Green Hills Software's Multi has been around for a long time and age does have its advantages. It is very polished and its compilers are legendary. I had to go on the Internet to register for a 30-day evaluation license as the CD only contains the software.
Because the C source code for Linux is already available it is possible to build the kernel using Multi, but it is more likely that Multi will be used for application development. The documentation is rather generic and it could be a little better regarding the kit. Still, it is easily installed and evaluated, although 30 days is a bit short for anything but a cursory view of Multi.
Green Hills has very good multiprocessor debugging support, so it is a great choice if the PPC440EP will be part of a larger system. Likewise, its profiling tools and compiler technology can significantly improve the end product and how quickly it is developed. Check with Green Hills for the cost of upgrading to a full version of Multi.
The LynuxWorks CD contains an image of its BlueCat Linux. The sources can be downloaded from their website, and the image can be downloaded to the board using U-Boot and TFTP. The same process is used to restore the original Linux image.
BlueCat has a slightly different mix of runtime modules and applications, but it is Linux so even the differences in the command line interface are minor. BlueCat Linux does has some advantages-check out LynuxWorks' website for more details. LynuxWorks offers three things. First is the base, BlueCat Linux. Second, is the system configuration tools. Finally there is the IDE, or rather IDEs. Luminosity is LynuxWorks' Eclipse-based IDE. You can also use Code Warrior and VisualLynux, a Windows plug-in for Microsoft's Visual Studio. There is also LynxOS, a Linux-compatible RTOS.
The key reason for choosing the LynuxWorks path is integration. It delivers all the parts and they are integrated. As with GreenHills, the LynuxWorks products are for evaluation only, although the BlueCat boot image can be used with the kit without restriction.
Overall, AMCC's kit is a good deal. U-Boot is very stable and easy to use, making it a relatively easy process to install a new operating system if necessary. The bundled software is top quality, although Green Hills and LynuxWorks will cost you a bit more if you plan on using them for more than evaluation. It would be nice if the integration and the amount of eval software provided was more complete so you could get a better idea of the final development, debugging, and delivery environment.
Denx's ELDK is not as flashy, but there is no additional cost associated with it. Although the second level of integration could use some more work-or at least some more documentation-it's a hurdle that only needs to be cleared once. If the 440 line of PowerPC processors has the required performance, then this kit will definitely be worth checking out.
Denx Software Engineering
Green Hills Software