= Gen5200 = {{Infobox BSP |image = TSP3289_IMG_LITE5200.jpg |BSP_name = gen5200 |Manufacturer = Multiple |Architecture = PowerPC |CPU_model = Freescale MPC5200 |Aliases = icecube, pm520_cr285, pm520_ze30, brs51 }} 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 (http://www.freescale.com/files/microcontrollers/doc/prod_brief/MPC5200LITEPB.pdf). 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. * How to flash U-Boot - http://emsys.denayer.wenk.be/emcam/Linux_on_MPC5200_(UK).pdf 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: [http://www.microsys.de 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: [wiki:TBR/User/JoelSherrill 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.