Custom CPU porting

Joel Sherrill <joel@OARcorp.com> joel.sherrill at OARcorp.com
Thu Dec 16 17:54:39 UTC 2004


sashti srinivasan wrote:
> Hello,
> 
>       I want to Port RTEMS to a custom CPU.  I request
> the mailing list for following clarifications:
> 
>     (1)  References to documents regarding how to do
> the port

There is a Porting Guide in the documentation set.
The general rule is to start with the no_cpu template
or a CPU that is similar and go from there.

>     (2)  I am somewhat comfortable to programming on
> top of RTEMS, but do not know anything internal as of
> now.  I will be doing this porting work as a SINGLE
> PERSON.  Approximately in how many HOURS can I expect
> this port to complete.

Depends on you. :)  Given a stable toolset and good
simulator for the procesor in question, a port including a
BSP for the simulator can be done in a matter of a 6-8
weeks.

If you don't have GNU tools or they are unstable or
you have to debug the entire port on real hardware
that isn't stable, then you can lose time.

>     (3)  TOOL-CHAIN : Either the tool-chain could be
> readily available OR I may be REQUIRED to port the
> tool-chain first.  Approximately in how many HOURS can
> I complete this TOOL-CHAIN port as a SINGLE PERSON.

This is not an RTEMS question and anything I say is
just guidelines to estimate based upon.

Again given that the GNU tools are already ported to
the architecture and you are just adapting them to RTEMS,
this effort is often minimal and can be a matter of
hours or a few days.  For example, say you were doing
a MCore port of RTEMS.  There is an mcore-elf target for
the GNU tools.  I would test that target and then
base the RTEMS target on it.  If you picked a FRED CPU
and it was entirely new (not a variant of an existing
architecture like ARM or MIPS), then you have to port
binutils, gcc, etc to this architecture before you can
even compile RTEMS.

>     (4)  Manuals regarding how to port the tool-chain.

Each tool has its own manuals.

>     (5)  Some documentation describing the source-code
> layout of RTEMS.

Try the Porting Guide and BSP Guide.  The directories in
question are:

   + cpukit/score/CPU/MYCPU
   + c/src/lib/libcpu/MYCPU
   + c/src/lib/libbsp/MYCPU/MYBSP

There are other odds and ends like the in_cksum code in
the network stack but that is secondary to the above
directories.

Your questions are very broad and really impossible to
give accurate answers on without knowing more about
the CPU in question.  You could spend MUCH longer on the
tools than on porting RTEMS.

> Thanks in advance
> Srinivasan
> 
> 
> 		
> __________________________________ 
> Do you Yahoo!? 
> Dress up your holiday email, Hollywood style. Learn more. 
> http://celebrity.mail.yahoo.com


-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel at OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
    Support Available             (256) 722-9985




More information about the users mailing list