PPC Exceptions question

ahuitzot at mindspring.com ahuitzot at mindspring.com
Mon Nov 18 18:22:38 UTC 2002


I am thinking about porting RTEMS to a phyCORE MPC555 board, and I have been
looking over the different files in libcpu for the powerPC (mostly in  mpc8xx
and mpc8260, there is not much difference...) to get an idea of what I will
need to modify to get a libcpu for the mpc5xx (I plan on just copying either
mpc8xx or mpc8260 to mpc5xx, and modify that).  My main question so far is
what do I need to do to get the raw_exceptions stuff to work?  There seems to
be a special codemove function coded in ASM to move the raw exception handler
to the vector table.  I have 2 questions about this function:

1. since the mpc555 does not have a cache (actually I do not think any of the
mpc5xx MPU's have a cache) will I need this function, and if so how do I need
to modify it?

2. I will most likely have Flash located where the vectors are stored (unless
I relocate them some how) on this board, so how do I get around that? 
Obviously you cannot move code from x->flash...  Will I even need the codemove
function in that case?  If not how do I set up the vectors?

Another general question I have is this (I hope it does not get me into
trouble;) I noticed that atleast 3 of the 5 directories in libcpu (the mpc6xx,
mpc8xx, and mpc8260) all seem to have very similar exception handling code. 
Would it not be better for that code to be placed in shared?  I think it would
be the same for almost every powerpc CPU...  But maybe I am wrong?  I think
there are other similarities between these 3 directories as well, possibly in
the clock and timer dirs (I think they all use the PIT for a timebase for
example).

After looking at the differences between the 8xx and 8260 libcpu dirs it may
not be that much work to get an mpc5xx based bsp up and running.  Of course I
could be underestimating the work needed....


Thanks for the help,
Mike

PS: Does anyone out there have a good bit of SCI code for the 555 that they
would be willing to share? 



More information about the users mailing list