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

Sebastian Huber sebastian.huber at embedded-brains.de
Thu Mar 26 17:53:06 UTC 2020


On 26/03/2020 17:56, utkarsh.rai60 at gmail.com wrote:
> ---
>   user/start/tools.rst | 31 +++++++++++++++++++++++++++++++
>   1 file changed, 31 insertions(+)
>
> diff --git a/user/start/tools.rst b/user/start/tools.rst
> index c3f039b..63b6d17 100644
> --- a/user/start/tools.rst
> +++ b/user/start/tools.rst
> @@ -76,3 +76,34 @@ source code used.
Please add your copyright statement.
>   
>   
>   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 can't use their distribution's
cannot
> +cross-compiler for their target on rtems, e.g., the riscv64-linux-gnu or the
on RTEMS
> +arm-none-eabi-gcc. Below mentioned are some of the reasons for using the RTEMS
> +cross-compiler.
> +
> + ``Correct configuration of newlib -``
What about using a definition list instead of this hand crafted formatting?
> +  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.
Newlib
> +
> + ``Threading in GCC support libraries -``
> +  Several threading packages in GCC such as Go threads (libgo), openmp
OpenMP
> +  (libgomp), and openacc need to be customized according to RTEMS. This is done
OpenACC
> +  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
Newlib
> +  or imported code from freebsd.
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 multilib variants. Multilibs variants
> +  to match the BSP are set by selecting a specific set of machine options using
> +  the RTEMS cross-compiler.

Reference to:

https://docs.rtems.org/branches/master/user/hardware/architectures.html?highlight=multilib



More information about the devel mailing list