wiki:TBR/BSP/Gen5200

Version 6 (modified by JoelSherrill, on 08/03/07 at 20:54:23) (diff)

Add explicit IceCube? reference.

Gen5200

This BSP supports boards based on the Freescale MPC5200 microcontroller. The following boards are known to work with this BSP:

IceCube?

The code name for the Freescale MPC5200LITE. This is the name of the RTEMS BSP variant which supports all of the MPC5200LITE clones.

Freescale 5200 Lite

This was the evaluation board from Freescale. It is also known as the IceCube?. Its design appears to have been used largely unchanged by multiple board vendors. There is a lot of information on the WWW for this board. The information on this page was based upon using an EP5200C clone of this board. The Freescale MPC5200LITE I have used already had U-Boot on it, so this step was not needed.

Once you link an RTEMS application based on the gen5200 BSP, you have a file in ELF format. The following sequence converts it to an U-Boot image format:

powerpc-rtems4.8-objcopy -R -S -O binary hello.exe hello.bin
cat hello.bin | gzip -9 >hello.gz
/opt/embedded/tools/usr/bin/mkimage \
  -A ppc -O rtems -T kernel -a 0x40000 -e 0x40000 -n "RTEMS" \
  -d hello.gz hello.img

The above takes the ELF image which is linked to load at 0x40000 and converts it to a binary file, zips it, and then converts it to an U-Boot image. This image can be loaded at executed with the following U-Boot command sequence:

tftp 1000000 hello.img
bootm

This places the image hello.img at 0x1000000 in RAM. The bootm command unzips it to its executable location starting at 0x40000 and transfers executable control to its entry point.

WARNING: Be careful that the executable's location and where the image is place in RAM do not overlap for the duration of the unzip process.

The details of setting up the network configuration and automatic boot options are in the U-Boot manual.

BIGGER WARNING: Some revisions on the Freescale MPC5200LITE board have a bug in U-Boot which results in the "'bdinfo" structure passed to RTEMS reporting the incorrect starting address for Flash. The gen5200 BSP detects this and corrects it. This was reported to Freescale in July 2007 and they claimed it would be fixed in future boards. What this means to boards in the field is unknown. My conclusion is that there is some reasonable probability that others will continue to have U-Boot images with this bug so I am leaving the correction in the BSP.

Embedded Planet EP5200C

This is a clone of the Freescale 5200 Lite evaluation board. It ships with Motorola's dBug as the ROM monitor. It is easy to flash U-Boot onto this board.

Be warned that dBug defaults to 9600 baud and U-Boot to 115200 baud. Embedded Planet ships a pre-compiled RAM based GNU/Linux kernel which uses a 9600 baud console. So be careful when switching back and forth to test.

The BSP for this board is a bit different from the others in that it is built WITHOUT vectors. Since this BSP variant only runs via U-Boot, we assume that loading the vectors section trashes U-Boot somehow and the download does not complete.

The following TTCP results were obtained using the CVS head on 11 July 2007 between a Dell Inspiron 9400 (T2500 dual core at 2.0 Ghz) running Fedora 7 to the EP5200 board on a dedicated network:

>>> ttcp -t -s 192.168.1.210
ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001  tcp  -> 192.168.1.210
ttcp-t: socket
ttcp-t: connect
ttcp-t: 16777216 bytes in 1.58 real seconds = 10385.86 KB/sec +++
ttcp-t: 2048 I/O calls, msec/call = 0.79, calls/sec = 1298.23
ttcp-t: 0.0user 1.5sys 0:01real 100% 0i+0d 0maxrss 0+0pf 0+0csw
>>> ttcp -r -s
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001  tcp
ttcp-r: socket
ttcp-r: accept from 192.168.1.210
ttcp-r: 16777216 bytes in 1.78 real seconds = 9194.86 KB/sec +++
ttcp-r: 3499 I/O calls, msec/call = 0.52, calls/sec = 1963.67

BRS5L

This is a project specific module.

PM520_CR825

This is a MicroSys? PM520 module on a CR825 carrier board. This combination offers the following features:

  • 100BBaseT Ethernet
  • 4 serial RS-232 Ports
  • Compact Flash Slot
  • RTC

See:

MicroSys GmbH

PM520_ZE30

This is a MicroSys? PM520 module on a customer specific ZE30 carrier board. This combination offers the following features:

  • 100BBaseT Ethernet
  • 4 serial RS-232 Ports
  • Compact Flash Slot
  • RTC
  • 2 CAN interfaces

Test Reports

CVS Head 2007-06-20: JoelSherrill reports that he has run most tests successfully on an EP5200C. Some tmtests exit with an Exception 3 but still report reasonable times.

4.7-branch-2006-11-18: Thomas Doerfler has reported, that the PM520_ZE30 seems to work out of the box with this snapshot on a PM520_ZE30. Tests executed: ticker.