--- user/start/tools.rst | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+)
diff --git a/user/start/tools.rst b/user/start/tools.rst index c3f039b..c3147e8 100644 --- a/user/start/tools.rst +++ b/user/start/tools.rst @@ -76,3 +76,34 @@ 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 can't use their distribution's +cross-compiler for their target on rtems, e.g.,the riscv64-linux-gnu or the +arm-none-eabi-gcc. 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 -`` + GCC support threading libraries such as ``pthread.h`` provide threading + support to an application; these libraries are tailored according to RTEMS using + the RTEMS 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 multilib variants. Multilibs 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@rtems.org http://lists.rtems.org/mailman/listinfo/devel