What Is It?
The Freescale MPC8308-RDB is a development platform that uses the low cost PowerQUICC II Pro 32bit PPC Processor. The board uses the u-boot bootloader and a stripped version of Linux that are contained within the 8MByte onboard flash. The MPC8308-RDB also makes use of Linux Target Image Builder (LTIB), allowing a developer to easily build a custom Linux with the required packages.
What Is Included?
The MPC8308-RDB comes in a very well designed box, extra padding space insures no accidental damage can occur during transit. The box weighs around 5KG I was expecting much less. However, it became apparent why once I opened the box. This was my first development board from Freescale, although I had used other boards from different companies before. Because of this I expected an open-case PCB, a few standoffs and a power cable that I wouldn’t be able to use with my sockets. This clearly is not the case with Freescale.
- MPC8308-RDB, with nice metal case. (This is accounts for the extra weight)
- Power Block, rated at 5v/4.2amp and 12v/3amp.
- USA Power Cable.
- Three Universal Power Adapters. (I can convert anything to anywhere now)
- DB9 RS232 Male/Female Cable 6ft.
- Ethernet Straight Through Cable 6ft.
- USB Standard A/Mini B Cable.
- CodeWarrior 8.8 CD Windows.
- CodeWarrior 8.8 CD Linux.
- LTIB/Help Files/Board Design Files DVD.
- Warranty Card/Packing List/Contact Information Sheet.
The help files are HTML based, just simply open it using your browser. Some files such as the board schematics are PDFs.
More About The Board
The MPC8308-RDB uses the 400MHz CPU some documents state it is 333MHz.
- Dual UART. Both connectors are found on the board edge.
- Dual I2C. One interfaces to a RTC, the other a Freescale MCU.
- PCI Express. Mini PCI express connector ready to use.
- eSDHC. SD/MMC connector found on the board edge.
- USB2.0. Mini style connector found on the board edge. USB can be configured as host or device. However, being a mini connector acting as a host gives the problem of what device could I connect.
- 128MByte DDR2 Memory. Note that the embedded Linux is configured to run as a ram-disk therefore this is lower during use.
- Ethernet. The MPC8308 has 2 gigabit connections. One of these is connected directly via a Realtek PHY. The other connects via a Vitesse switch, allowing 5 more ethernet ports. This gives a total of 6, some documentation states total of 5.
- Local Bus. 8Mbyte NOR Flash and 32Mbyte NAND Flash. DIP switch on the board selects the !CS for booting. NOR is default setting, I think the NAND is empty.
The MCU mentioned before is a MC9S08QG8. There is a header to allow reprogramming of this device but I could not find the source or even a compiled copy of the current code running on the MCU.
All headers are populated; this includes a COP/JTAG header, test points and changeable jumper settings.
Initial Use
You are given the impression that you just need to turn the device on and few seconds later you will be at a Linux login prompt. Turns out you will be at a bootloader prompt. You can’t simply type boot at this prompt because you need to know the memory locations of where things are stored. I had to follow the help document about building and flashing a new BSP (Board Support Package), but I skipped towards the end and ran the commands it told me assuming there was already a default BSP in the flash.
The preloaded BSP is very bare, ftp server, I2C tools and few other small utilities.
LTIB
I wanted to create a BSP with functionality than the preloaded one. To do this I first had to install LTIB.
This requires a Linux platform, I installed Fedora 13 in a virtual machine.
The help files clearly show how to install LTIB and build a BSP. It is an easy process; firstly installation is just a couple of commands. Then you use the text-based menu to configure your BSP. You are amending the BSP currently preloaded therefore most settings are already correct, just the package list needs changing.
It will then build the BSP and you are left with a set of files that you can flash onto the board. Because the BSP runs from a ram-disk on the board you can even use the TFTP support in u-boot to load a new BSP directly into memory without having to worry about leaving the flash in a broken state. Remember u-boot also lives somewhere in the flash.
Should you ever destroy u-boot you must use CodeWarrior and the COP header to flash it back. However, you need the USB TAP Emulator device that you would need to buy.
CodeWarrior
I installed CodeWarrior on my Windows system. It was very easy just a standard installer, press next a few times and its done. I have not used CodeWarrior for anything yet.
Projects
I created a new BSP with more packages. I selected Apache HTTP web server, PHP and Python. It created the package fine but it was too big to fit in the current ram-disk settings. I tried to amend the values myself however was not able to get a working configuration where I had enough memory available for my ram-disk and Linux. There is also no documentation on what to do when your BSP is too big to fit in the standard ram-disk settings.
Because of this I created a second BSP this time just Apache HTTP web server. The end result was a smaller BSP that fitted in the default ram-disk settings. Everything worked as expected but because I was unable to also include PHP (I found PHP has dependency of MySQL this is why the BSP is so bloated.) I was still quite limited in what I could do.
Next I wanted to stream a video file from the board over the network and view it on my laptop. There is software called live555 to do this, it is also found in many media applications such as VLC. However, there is not a package in BSP for this.
When you install LTIB you also install the gcc toolchain for PPC. I was able to compile live555 on my Fedora virtual machine and then copy the binaries over. I placed a MPEG2 media file on an SD card and mounted it in Linux.
I was really happy with the result of this. I was able to stream this file over the network without any delay/skipping. It was using around 15% CPU load.
Advantages
I feel the MPC8308-RDB is good value for money (299 USD). I definitely received more than I was expecting. The device is very capable and you can do lots with it once you have good understanding how the memory is mapped etc.
Disadvantages
With documentation being incorrect in some places and no documentation on how to configure the system to run without the use of a ram-disk I feel this is the biggest disadvantage to the package.
Also the USB connector on the board. Being a mini connector really limited me to what I could do with it. I would of got more use if this was a standard host connector and not a device connector.
Conclusion
The MPC8308-RDB does what it says. And I am very happy with the performance of the PowerQUICC CPU. I would be interested in future Freescale products/kits due to the overall good experience I have had from this one.
Also I am not going to give up on trying to run the system without having to use a ram-disk. If I am successful I will post a follow up thread on how I achieved it.
Thanks again to everyone involved in allowing this road test to happen.
Regards,
Alan.
Alan.



