Need help. when porting RTEMS to L4

Joel Sherrill joel.sherrill at OARcorp.com
Thu Mar 20 13:49:49 UTC 2008


xi yang wrote:
> On Thu, Mar 20, 2008 at 1:06 AM, Joel Sherrill
> <joel.sherrill at oarcorp.com> wrote:
>   
>> xi yang wrote:
>>  > Hi all:
>>  > I am porting RTEMS on L4 micro kernel . I just
>>  > do it like what UNIX bsp does . But there are
>>  > some problems
>>  > I develop BSP like this
>>  > * cpukit/score/cpu/l4  (Like unix)
>>  > * c/src/lib/libbsp/l4/okl4 (like UNIX/posix)
>>  >  I copy files form unix bsp and change Makefile.am
>>  > and other files .
>>  > * touch okl4.cfg
>>  >   RTEMS_CPU=l4
>>  >   RTMES_CPU_FAMILY=arm
>>  >   RTEMS_CPU_MODEL=pxa255
>>  >
>>  >   RTEMS_BSP_FAMILY=okl4
>>  >
>>  The configure infrastructure uses RTEMS_CPU to select
>>  directories at the score/cpu and c/src/lib/libcpu and
>>  c/src/lib/libbsp level.
>>
>>     
>>> * Add score/cpu/l4/Makefile to cpukit/configure.ac
>>>       
>>  >
>>  >
>>  So you accounted for this one.  D
>>
>>     
>>> then ../rtems/configure --enable-rtemsbsp="okl4"
>>>       
>>  > This cause the toolchain to the host toochain ,
>>  > maybe it can compile some files ,then
>>  >
>>  Right. This configures the target to be your native machine (e.g. posix
>>  port)
>>  with a BSP that does not exist under libbsp/unix.
>>
>>
>>  > Make
>>  > but It doesn't compile any files , just say
>>  > make all , then ../rtems/configure --target=arm-rtems --enable-rtemsbsp="okl4"
>>  > Make
>>  > It doesnot compile any files, just say make all,
>>  >
>>  >
>>  That is looking for okl4 in libbsp/arm.
>>     
> So, if I want to do this way , I must have the l4-rtems- toolchain ?
>   
No you will use the arm-rtems tool chains and target
an L4 ARM BSP which might be based on an L4 specific
CPU model.
>>> What else should I modify the build system to let it compile ?
>>>       
>>  > anyone can help me ?
>>  >
>>  >
>>  Your configure points are confusing me.  You are treating L4 as a
>>  CPU architecture from RTEMS perspective.  What really has to
>>  change?
>>
>>  We have to know the answer to the above question to
>>  know where to distinguish between real hardware and
>>  an L4 version of the same hardware.
>>
>>  My gut feeling is that L4 should be treated as a specific CPU
>>  model within a CPU family because you still want to compile to
>>  ARM but probably have a somewhat perverted view of the
>>  interrupts and maybe the hardware, right?
>>     
>
> Yeah, I want to compile it to ARM now .
>   
See above.
>>  This would mean you should add okl4 as a BSP and possibly
>>  some ARM-L4 CPU model.  Say it is pxa255 for real, then make
>>  it pxa255l4.  Then you can treat it as a real raw pxa255 when
>>  possible and still ahve the ability to detect it as an L4 virtualized
>>  pxa255 when it makes something different.
>>     
>
> Yeah, that will add some #if #endif things to source code ^-^.
> Thanks, joel .
>   
I hope it doesn't turn it too ugly.  If it is a big deviation,
it may make sense to split them.  I can't make this
judgment until we know the differences.

I suspect they are relatively small so conditionals will
be OK.

libcpu should be full of examples on this type of thing.
>>  It may even be that the same BSP can work with one variant for
>>  real hardware and another for L4 virtualized with a few conditionals
>>  to account for the CPU model differences.  This is done by a few
>>  BSPs including the gen68360, mbx8xx, and motorola_shared.
>>
>>  --joel
>>  > Regards
>>  > _______________________________________________
>>  > rtems-users mailing list
>>  > rtems-users at rtems.com
>>  > http://rtems.rtems.org/mailman/listinfo/rtems-users
>>  >
>>
>>
>>  --
>>  Joel Sherrill, Ph.D.             Director of Research & Development
>>  joel.sherrill at OARcorp.com        On-Line Applications Research
>>  Ask me about RTEMS: a free RTOS  Huntsville AL 35805
>>    Support Available             (256) 722-9985
>>
>>
>>
>>     


-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill 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