Discussion:
generall RTEMS questions
Hoefle Marco
2014-09-19 09:15:53 UTC
Permalink
Hello,

we have currently the RTEMS sources from Gaisler in use (as they have
their drivers not in mainline RTEMS, unfortunately).

The Gaisler RTEMS kernel is based on 4.10.

However, a few useful features are only available in 4.11 (JFFS2 File
system for example).

We are thinking on moving to 4.11 but we are wondering if there is a
proper tested stable version available. In 4-10 are tags in 4-11 I did
not find one.



Would you recommend using 4.11 in a production environment?



We use rtems source builder which works fine. However, we still do not
understand why is there such a dependency toolchain - rtems kernel?

Why can't the standard gcc be used to compile the rtems bsp in an
archive and linked to the application afterwards?

Regards,

Marco
Sebastian Huber
2014-09-26 05:36:20 UTC
Permalink
Hello Marco,
Post by Hoefle Marco
Hello,
we have currently the RTEMS sources from Gaisler in use (as they have their
drivers not in mainline RTEMS, unfortunately).
The Gaisler RTEMS kernel is based on 4.10.
However, a few useful features are only available in 4.11 (JFFS2 File system
for example).
We are thinking on moving to 4.11 but we are wondering if there is a proper
tested stable version available. In 4-10 are tags in 4-11 I did not find one.
Would you recommend using 4.11 in a production environment?
RTEMS 4.11 is work in progress. If you are lucky and select the right commit,
then it is a production ready version. It helps to rely on companies working
daily with the system doing regular tests if you want to do serious business
with RTEMS.
Post by Hoefle Marco
We use rtems source builder which works fine. However, we still do not
understand why is there such a dependency toolchain – rtems kernel?
There is an interaction between Newlib (the C library) and RTEMS. Some parts
are defined in Newlib header files and implemented in RTEMS source files.
Post by Hoefle Marco
Why can’t the standard gcc be used to compile the rtems bsp in an archive and
linked to the application afterwards?
The problem is not GCC. GCC and Newlib are built together.
--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber-L1vi/***@public.gmane.org
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
Joel Sherrill
2014-09-26 16:18:44 UTC
Permalink
Post by Sebastian Huber
Hello Marco,
Post by Hoefle Marco
Hello,
we have currently the RTEMS sources from Gaisler in use (as they have
their
Post by Hoefle Marco
drivers not in mainline RTEMS, unfortunately).
The Gaisler RTEMS kernel is based on 4.10.
However, a few useful features are only available in 4.11 (JFFS2 File
system
Post by Hoefle Marco
for example).
We are thinking on moving to 4.11 but we are wondering if there is a
proper
Post by Hoefle Marco
tested stable version available. In 4-10 are tags in 4-11 I did not
find one.
Post by Hoefle Marco
Would you recommend using 4.11 in a production environment?
RTEMS 4.11 is work in progress. If you are lucky and select the right commit,
then it is a production ready version. It helps to rely on companies working
daily with the system doing regular tests if you want to do serious business
with RTEMS.
Post by Hoefle Marco
We use rtems source builder which works fine. However, we still do
not
Post by Hoefle Marco
understand why is there such a dependency toolchain – rtems kernel?
There is an interaction between Newlib (the C library) and RTEMS. Some parts
are defined in Newlib header files and implemented in RTEMS source files.
And changing the GCC version gets you out of sync up with testing. Different gcc versions can have new optimizations that break the code, bugs, or generate new warnings.
Post by Sebastian Huber
Post by Hoefle Marco
Why can’t the standard gcc be used to compile the rtems bsp in an
archive and
Post by Hoefle Marco
linked to the application afterwards?
The problem is not GCC. GCC and Newlib are built together.
.
But the GCC configuration is tweaked to be RTEMS specific and not generic elf or Linux. The runtime libraries are compiled using Newlib in the RTEMS configuration. There is not a large difference between say sparc-elf and sparc-rtems at the toolset source level but the resulting GCC and Newlib are different.

Ultimately a test with a specific configuration of tools and if you deviate from that, it can be OK or not.
Loading...