Comments/experiences sought on RTEMS4.6.0pre2 with MPC860

Brian Danilko Brian.Danilko at
Tue Apr 29 05:58:42 UTC 2003


We've been attempting to get rtems running on an MPC860 platform.
Unfortuantely we've been unable to progress very far.

The hardware has 2MBytes of FLASH and 8MBytes SDRAM. SMC channels 1 & 2
are available for serial I/O, but the SCC's are not used (for any
purpose). The micro ('P' version) has an FEC which is connected to a PHY
for ethernet, although we haven't tried to make use of it thus far. A
number of the port C pins are outputs (through buffers) that drive LEDs.

Our goal at this time is to simply have rtems functioning at a level
with a thread running having demonstrable control of the LEDs. We can
connect printk to a polled serial driver on SMC1 that we have developed

We have not been able to reach our goal, and would appreciate comments
especially from anyone currently developing with rtems on an mpc860.

This is the progress we have made thus far...

Tools are gcc 3.2.2; newlib 1.11.0

Using 4.6.0pre2 we have worked with the ethcomm bsp (seemed simpler than
the mbx8xx variety).

We have created a bootloader application that:
#1. initialises the processor
#2. copies an image from FLASH to SDRAM (the RAM occupying the first
8MBytes of the address space)
#3. zeroes the .bss* sections
#4. sets the stack pointer
#5. calls the start function (in start.S of the bsp/start directory)

The bsp code has been modified so that the stack pointer is not altered,
the .bss section is not cleared a second time, and the heap is set
accordingly. Additionally code was removed from bspstart.c (bsp/startup
directory) that setup the cache and mmu, since this is already done by
the bootloader.

The canbus additions have been stripped and the linkcmds file has been
suitably modified.

The problem:
We can trace execution through the rtems code up to the  call to
rtems_initialize_executive_late(); then nothing.

Jonathan Pratt
Inspiration Technology P/L

More information about the users mailing list