Problem with running hello_world on Lite5200 eval board

Brian Mu bmu88 at yahoo.com
Thu Apr 30 16:50:09 UTC 2009


Hi,

I would like to get some help on running hello_world on Lite5200 eval board (icecube).

I
downloaded and compiled u-boot-2009.03 successfully on my Fedora box and
tftp/flash_updated to the eval board. Here is the boot message when the
board is up:

U-Boot 2009.03 (Apr 21 2009 - 12:25:02)

CPU:   MPC5200 v1.2, Core v1.1 at 198 MHz
       Bus 66 MHz, IPB 33 MHz, PCI 16.500 MHz
Board: Motorola MPC5200 (IceCube)
I2C:   85 kHz, ready
DRAM:  64 MB
FLASH: 16 MB
PCI:   Bus Dev VenId DevId Class Int
        00  1a  1057  5803  0680  00
In:    serial
Out:   serial
Err:   serial
Net:   FEC ETHERNET
IDE:   Bus 0: not available  

Type "run flash_nfs" to mount root filesystem over NFS

Hit any key to stop autoboot:  0 
=> 
=> 
=> tftp 90000 hello.bin
Using FEC ETHERNET device
TFTP from server 172.21.3.224; our IP address is 172.21.3.46
Filename 'hello.bin'.
Load address: 0x90000
Loading: #########
done
Bytes transferred = 127712 (1f2e0 hex)
=> go 90000
## Starting application at 0x00090000 ...


I also configure/make/installed the released branch of RTEMS 4.9 by the following steps

Configure RTEMS for icecube
    cd build
   
../rtems-4.9.2/configure --target=powerpc-rtems4.9 --enable-cxx
--enable-networking --disable-itron --enable-rtemsbsp=icecube

Compile RTEMS for icecube
    make all
    su
    make install

Compile examples
    cd ../examples-4.9.2
    export RTEMS_MAKEFILE_PATH=/opt/rtems-4.9/powerpc-rtems4.9/icecube/
    make

I did add a section in the hello_world make file to create an image file (irrelevant for now since I use 'go' directly)
    /opt/rtems-4.9/bin/powerpc-rtems4.9-objcopy -R -S -O binary ${ARCH}/hello.exe ${ARCH}/hello.bin
    cat ${ARCH}/hello.bin | gzip -9 > ${ARCH}/hello.gz
    /opt/eldk_42/usr/bin/mkimage \
    -A ppc -O rtems -T kernel -a 0x40000 -e 0x40000 -n "RTEMS" \
    -d ${ARCH}/hello.gz ${ARCH}/hello.img

After
tftp hello.bin to 0x90000, then typing 'go 90000' under u-boot, nothing
gets printout. I do have a BDI3000 with me. By stepping through the
code, it seems that the code stuck at 0x9064c of the boot_card()

   *  Set the program name in case some application cares.
   */
  if ((argc > 0) && argv && argv[0])
    rtems_progname = argv[0];
  else
    rtems_progname = "RTEMS";
   10640:       3d 20 00 03     lis     r9,3
   10644:       39 29 bc 28     addi    r9,r9,-17368
   10648:       91 2d 04 94     stw     r9,1172(r13)
   1064c:       4b ff ff 50     b       1059c <boot_card+0x64>
    if (heap_start == BSP_BOOTCARD_HEAP_USES_WORK_AREA) {
      /* Use the work area start as heap start */
      heap_start = work_area_start;

I
believe I am missing some obvious stuff since everything so far has
been straightforward. I'd appreciate if someone can point out the
mistake. Thanks in advance.

Brian  


      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20090430/7b3df9d6/attachment.html>


More information about the users mailing list