[PATCH v4] Chapter-on-need-for-RTEMS-specific-cross-compiler

Utkarsh Rai utkarsh.rai60 at gmail.com
Fri Apr 3 15:50:45 UTC 2020


Oh, forgot that one! I will do the changes.

On Fri, Apr 3, 2020 at 9:17 PM Gedare Bloom <gedare at rtems.org> wrote:

> Hi Utkarsh,
>
> This is almost there, really! The only  thing is that you maybe missed
> or didn't understand a question from Sebastian, "What about using a
> definition list instead of this hand crafted formatting?" Or any other
> kind of list structure.
>
>
> https://docutils.sourceforge.io/docs/user/rst/quickref.html#definition-lists
>
> What do you think?
>
> Gedare
>
> On Fri, Apr 3, 2020 at 9:31 AM utkarsh.rai60 at gmail.com
> <utkarsh.rai60 at gmail.com> wrote:
> >
> > ---
> >  user/start/tools.rst | 33 +++++++++++++++++++++++++++++++++
> >  1 file changed, 33 insertions(+)
> >
> > diff --git a/user/start/tools.rst b/user/start/tools.rst
> > index c3f039b..9a3a93a 100644
> > --- a/user/start/tools.rst
> > +++ b/user/start/tools.rst
> > @@ -3,6 +3,7 @@
> >  .. Copyright (C) 2019 embedded brains GmbH
> >  .. Copyright (C) 2019 Sebastian Huber
> >  .. Copyright (C) 2020 Chris Johns
> > +.. Copyright (C) 2020 Utkarsh Rai
> >
> >  .. _QuickStartTools:
> >
> > @@ -76,3 +77,35 @@ source code used.
> >
> >
> >  Add ``--verbose`` to the GCC command for the the verbose version
> details.
> > +
> > +Need for RTEMS-Specific Cross-Compiler
> > +---------------------------------------------------------
> > +
> > +New users are often confused as to why they cannot use their
> distribution's
> > +cross-compiler for their target on rtems, e.g., the riscv64-linux-gnu
> or the
> > +arm-none-eabi-gcc on RTEMS. Below mentioned are some of the reasons for
> using
> > +the RTEMS cross-compiler.
> > +
> > + ``Correct configuration of Newlib -``
> > +     Newlib is a C standard library implementation intended for use on
> embedded
> > +     systems. Most of the POSIX and libc support for RTEMS is derived
> from
> > +     Newlib. The RTEMS cross-compiler configures Newlib correctly for
> RTEMS.
> > +
> > + ``Threading in GCC support libraries -``
> > +     Several threading packages in GCC such as Go threads (libgo),
> OpenMP
> > +     (libgomp), and OpenACC need to be customized according to RTEMS.
> This is
> > +     done by the RTEMS specific cross-compiler.
> > +
> > + ``Provide preprocessor define __rtems__ -``
> > +     The  ``__rtems__``  preprocessor define is used to provide
> conditional code
> > +     compilation in source files that are shared with other projects
> e.g. in
> > +     Newlib or imported code from FreeBSD.
> > +
> > + ``Multilib variants to match the BSP -``
> > +     RTEMS configures GCC to create separate runtime libraries for each
> > +     supported instruction set, floating point unit, vector unit, word
> size
> > +     (e.g. 32-bit and 64-bit), endianness, ABI, processor errata
> workarounds,
> > +     and so on in the architecture. These libraries are termed as
> :ref:`Multilib
> > +     <TargetArchitectures>` variants. Multilib variants to match the
> BSP are set
> > +     by selecting a specific set of machine options using the RTEMS
> > +     cross-compiler.
> > --
> > 2.17.1
> >
> > _______________________________________________
> > devel mailing list
> > devel at rtems.org
> > http://lists.rtems.org/mailman/listinfo/devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200403/4551b0a0/attachment.html>


More information about the devel mailing list