How are RTEMS applications typically built?

Mohammed Khoory mkhoory at eiast.ae
Fri Feb 1 00:33:04 UTC 2013


> On 01/31/2013 03:41 AM, Mohammed Khoory wrote:
> > Hi,
> >
> > I'm particularly new to RTEMS and real time OS's in general, and so
> > far I have managed to set up a development environment under Linux
> > Mint, and I've installed the prebuilt tools and I've used them to
> > build RTEMS for the sis and leon3 BSPs as well as the example
> > programs. Everything seems to be working fine so far after following
> > the getting started guide, and I've understood the key concepts
> > mentioned in the C programmers guide. The next step I'm trying to
> > figure out is how to set up a build system properly in order to make
> > my own application, which I'm planning to use the hello world example as
a
> base.
> 
> this is very good.  Are you able to run and debug the examples on the GDB
> SIS?

Yes I was, though I haven't tried debugging yet, I'll be doing that soon. 
I was hoping I could target leon3, because that's what we're eventually
planning to use, but at the moment we don't have the simulator, so I decided
to use the sis simulator for now and it works as expected.

> >
> > How are user applications typically built? That is, what build system
> > do you use and how does one go about configuring it? Are there any
> > guides or straightforward examples to doing so, because I can't seem
> > to find a lot of helpful information in the manuals about the details
> > on how RTEMS applications are compiled/linked/built. I assume most
> > people go for autotools/automake because that's what the RTEMS source
> > tree uses, but how practical is it to use another build system such as
> > cmake? I've also seen an example that uses WAF (located here:
> > http://git.rtems.org/chrisj/rtl.git/tree) , but I'm not sure if using
> > that is a good idea despite it looking very easy to use and fairly
> > straightforward (I would like a second opinion basically).
> 
> I think the application build system is highly user specific.  Most users
will
> choose the build system with that they are familiar.  RTEMS provides
support
> for a very simple Makefile system used in the examples:
> 
> http://git.rtems.org/examples-v2/
> http://git.rtems.org/network-demos/

I see. Makefiles work, but what I was somewhat confused about is how the
whole applications goes into the process of compiling and linking.. i.e.
what files to include, what libraries to link with, what compiler parameters
are needed, and how it gets converted to an elf file. I guess I'll check
these makefiles out and figure it out for myself. After sending my initial
email, I also realized that I missed out on some information about the
subject in the BSP manual (which I thought was meant for making new BSPs and
ports, and not actually using them), so I'm reading that now.

> This system is also used by the Eclipse plug-in to deduce the BSP settings
for
> the compiler, linker, etc.
> 
> http://wiki.rtems.org/wiki/index.php/RTEMS_Eclipse_Plug-in
> 
> It is a CDT extension (the C/C++ Development Toolkit for Eclipse).  You
can
> create RTEMS applications with it and don't have to worry about the build
> systems since Eclipse will do this for you.
> 

Looks like a good option. Some of my teammates prefer the GUI approach of
development compared to using commandline utilities and text files.

> For larger projects I recommend to have a look at WAF.

I guess I should take a look at WAF then, because this project might be
pretty big.

Thanks for the advice, it's taking me to the right direction. Much
appreciated :) 




More information about the users mailing list