<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 2, 2021 at 1:50 PM Ayushman Mishra <<a href="mailto:ayushvidushi01@gmail.com">ayushvidushi01@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Sir, It was given as an issue <a href="https://devel.rtems.org/ticket/3958" rel="noreferrer" target="_blank">https://devel.rtems.org/ticket/3958</a> (<br>
Review wiki/TBR/Website/FAQ for correct links) for the faq page<br>
<a href="https://devel.rtems.org/wiki/TBR/Website/FAQ" rel="noreferrer" target="_blank">https://devel.rtems.org/wiki/TBR/Website/FAQ</a></blockquote><div><br></div><div>Thanks for confirming that. When Gedare acks the patches as being</div><div>ok by him, I will see about removing that page and fixing links to it.</div><div><br></div><div>--joel </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
On Sat, Apr 3, 2021 at 12:10 AM Joel Sherrill <<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>> wrote:<br>
><br>
><br>
><br>
> On Fri, Apr 2, 2021 at 1:19 PM Ayushman Mishra <<a href="mailto:ayushvidushi01@gmail.com" target="_blank">ayushvidushi01@gmail.com</a>> wrote:<br>
>><br>
>> Greetings Sir,<br>
>> I have corrected and send patches regarding FAQ page in user manual.I<br>
>> was able to build the page on my system and also attached a<br>
>> screen-shot of the builded page on browser . I have corrected<br>
>> whitespace consistency and reference links according to other<br>
>> doc-pages<br>
><br>
><br>
> Random question. Is this information from the Wiki or just an update<br>
> of what was already in rtems-docs? If this obsoletes any information<br>
> in the wiki, I would like to know so we can remove it.<br>
><br>
>><br>
>> . Regarding the issue of cross-link between docs , I had<br>
>> sent mail on devel mail list<br>
>> <a href="https://lists.rtems.org/pipermail/devel/2021-March/065882.html" rel="noreferrer" target="_blank">https://lists.rtems.org/pipermail/devel/2021-March/065882.html</a> but<br>
>> haven't got any response , so few days ago after a little discussion<br>
>> on discord vijay sir said to post the patch and someone might point it<br>
>> to a better way if it exists.<br>
><br>
><br>
> I don't know if we know the answer to that with Sphinx. If "we" do, then<br>
> I am not part of that "we". Hopefully someone will educate us. :)<br>
><br>
> Gedare.. is the new patch OK? It must be in another thread because<br>
> I don't see it here.<br>
><br>
> --joel<br>
>><br>
>><br>
>> On Wed, Mar 24, 2021 at 1:05 AM Gedare Bloom <<a href="mailto:gedare@rtems.org" target="_blank">gedare@rtems.org</a>> wrote:<br>
>> ><br>
>> > Did you build the docs and verify they look good?<br>
>> ><br>
>> > On Tue, Mar 23, 2021 at 12:44 PM Ayushman Mishra<br>
>> > <<a href="mailto:ayushvidushi01@gmail.com" target="_blank">ayushvidushi01@gmail.com</a>> wrote:<br>
>> > ><br>
>> > > ---<br>
>> > > user/bld/index.rst | 4 +-<br>
>> > > user/overview/index.rst | 2 +<br>
>> > > user/start/faq.rst | 255 +++++++++++++++++++++++++++++++<br>
>> > > user/start/index.rst | 1 +<br>
>> > > user/support/support-project.rst | 2 +<br>
>> > > 5 files changed, 263 insertions(+), 1 deletion(-)<br>
>> > > create mode 100644 user/start/faq.rst<br>
>> > ><br>
>> > > diff --git a/user/bld/index.rst b/user/bld/index.rst<br>
>> > > index ebedf5a..a8a8a4f 100644<br>
>> > > --- a/user/bld/index.rst<br>
>> > > +++ b/user/bld/index.rst<br>
>> > > @@ -82,7 +82,7 @@ specifies paths to build specification items. It is an advanced option and<br>
>> > > there is normally no need to use it. It may be used to customize the build at<br>
>> > > the level of the build specification. For more information see the<br>
>> > > `Build System` chapter of the<br>
>> > > -`RTEMS Software Engineering <<a href="https://docs.rtems.org/branches/master/eng/build-system.rst" rel="noreferrer" target="_blank">https://docs.rtems.org/branches/master/eng/build-system.rst</a>>`_<br>
>> > > +`RTEMS Software Engineering <<a href="https://docs.rtems.org/branches/master/eng/build-system.html" rel="noreferrer" target="_blank">https://docs.rtems.org/branches/master/eng/build-system.html</a>>`_<br>
>> > > guide.<br>
>> > ><br>
>> > > Help<br>
>> > > @@ -283,6 +283,8 @@ example configuration file, building of the tests is enabled for the<br>
>> > > [sparc/erc32]<br>
>> > ><br>
>> > > [riscv/griscv]<br>
>> > > +<br>
>> > > +.. _Autoconf_migration:<br>
>> > this looks like something should be a cleanup separate submission.<br>
>> ><br>
>> > I think the tags are usually directly translated from the section<br>
>> > names with camelcase?<br>
>> > _Migration_from_AutoconfAutomake<br>
>> > or so? check other docs for consistency/guidance.<br>
>> ><br>
>> > ><br>
>> > > Migration from Autoconf/Automake<br>
>> > > ================================<br>
>> > > diff --git a/user/overview/index.rst b/user/overview/index.rst<br>
>> > > index 550724a..0703ede 100644<br>
>> > > --- a/user/overview/index.rst<br>
>> > > +++ b/user/overview/index.rst<br>
>> > > @@ -20,6 +20,8 @@ You are someone looking for a real-time operating system. This document<br>
>> > ><br>
>> > > - helps you to build an example application on top of RTEMS.<br>
>> > ><br>
>> > > +.. _Features:<br>
>> > > +<br>
>> > > Features<br>
>> > > ========<br>
>> > ><br>
>> > > diff --git a/user/start/faq.rst b/user/start/faq.rst<br>
>> > > new file mode 100644<br>
>> > > index 0000000..da11ca4<br>
>> > > --- /dev/null<br>
>> > > +++ b/user/start/faq.rst<br>
>> > > @@ -0,0 +1,255 @@<br>
>> > > +Frequently Asked Questions<br>
>> > > +==========================<br>
>> > > +<br>
>> > > +What is RTEMS ?<br>
>> > > +-----------------------------------<br>
>> > > +<br>
>> > > +RTEMS is an open source real-time executive which provides a high performance<br>
>> > > +environment for embedded real-time applications including many features.<br>
>> > > +<br>
>> > > +The RTEMS Project is the umbrella term used to describe the collection of<br>
>> > > +individuals, companies, universities, and research institutions that collectively<br>
>> > > +maintain and enhance the RTEMS software base.<br>
>> > > +<br>
>> > > +RTEMS is designed to support applications with the most stringent real-time<br>
>> > > +requirements while being compatible with open standards such as POSIX.<br>
>> > > +RTEMS includes optional functional features such as TCP/IP and various file<br>
>> > > +systems while still offering minimum executable sizes under 20 KB in useful<br>
>> > > +configurations.<br>
>> > > +<br>
>> > > +:ref:`More Features<Features>`<br>
>> > > +<br>
>> > > +Where can I get RTEMS ?<br>
>> > > +-----------------------------------------------------------------<br>
>> > > +<br>
>> > > +:ref:`Downloading RTEMS<QuickStartSources_Released>`<br>
>> > > +<br>
>> > > +<br>
>> > > +What does RTEMS stand for ?<br>
>> > > +-------------------------------------------------<br>
>> > > +<br>
>> > > +RTEMS is an an acronym for the Real-Time Executive for Multiprocessor Systems.<br>
>> > an an<br>
>> ><br>
>> > > +<br>
>> > > +Initially RTEMS stood for the Real-Time Executive for Missile Systems but as it<br>
>> > > +became clear that the application domains that could use RTEMS extended far<br>
>> > > +beyond missiles, the "M" changed to mean Military. When maintenance of RTEMS<br>
>> > > +transferred to OAR, the "M" was changed again to Multiprocessor.<br>
>> > > +<br>
>> > > +At one point, there were both Ada and C implementations of RTEMS.<br>
>> > > +Version 3.2.1 was the last RTEMS version to have implementations in both<br>
>> > > +languages. Supporting the Classic API Ada implementation was painful and fraught<br>
>> > > +with compiler specific pitfalls. With version 3.5.x, the POSIX API was added as<br>
>> > > +the means to support the GNU Ada Translator (GNAT). This effectively eliminated<br>
>> > > +the need for an implementation in Ada as the C implementation could effectively<br>
>> > > +support both languages.<br>
>> > > +<br>
>> > > +<br>
>> > > +Are there restrictions on the RTEMS License ?<br>
>> > > +--------------------------------------------<br>
>> > > +<br>
>> > > +RTEMS is licensed under a modified version of the GNU General Public License (GPL).<br>
>> > > +The modification places no restrictions on the applications which use RTEMS but<br>
>> > > +protects the interests of those who work on RTEMS.<br>
>> > > +<br>
>> > This needs to be updated at least to mention 2-clause BSD.<br>
>> ><br>
>> > RTEMS is licensed under a combination of permissive licenses and<br>
>> > a modified version of the GNU General Public License (GPL).<br>
>> ><br>
>> > > +`License in RTEMS<br>
>> > > +<<a href="https://docs.rtems.org/branches/master/eng/" rel="noreferrer" target="_blank">https://docs.rtems.org/branches/master/eng/</a><br>
>> > > +license-requirements.html>`__<br>
>> > > +<br>
>> > > +<br>
>> > I think just 1 blank space?<br>
>> ><br>
>> > > +What standards are supported by RTEMS?<br>
>> > > +---------------------------------------------------------<br>
>> > > +<br>
>> > > +The original "Classic" RTEMS API is based on the Real-Time Executive Interface<br>
>> > > +Definition (RTEID) and the Open Real-Time Kernel Interface Definition (ORKID).<br>
>> > > +RTEMS also includes support for POSIX threads and real-time extensions.<br>
>> > > +<br>
>> > > +With the addition of file system infrastructure, RTEMS supports approximately<br>
>> > > +80% of the POSIX 1003.1b-1996 standard. This standard defines the programming<br>
>> > > +interfaces of standard UNIX. This means that much source code that works on<br>
>> > > +UNIX, also works on RTEMS.RTEMS includes a port of the FreeBSD TCP/IP stack and<br>
>> > > +thus supports BSD sockets. It also includes support for numerous networking<br>
>> > > +clients (DHCP, TFTP, NFS, etc.) and servers (FTPD, HTTPD, etc.).<br>
>> > > +<br>
>> > > +<br>
>> > > +What processors is RTEMS available for ?<br>
>> > > +----------------------------------------------------------<br>
>> > > +<br>
>> > > +:ref:`Architectures in RTEMS<TargetArchitectures>`<br>
>> > > +<br>
>> > > +<br>
>> > > +<br>
>> > definitely not 3 blank lines though. check other docs for whitespace consistency<br>
>> ><br>
>> > > +Are there similar commercial products ?<br>
>> > > +--------------------------------------------<br>
>> > > +<br>
>> > > +`Some Real time operating system similar to RTEMS<br>
>> > > +<<a href="https://en.wikipedia.org/wiki/Comparison_of_real-time_operating_systems" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/Comparison_of_real-time_operating_systems</a>>`__<br>
>> > > +<br>
>> > > +<br>
>> > > +<br>
>> > > +How can I obtain RTEMS support ?<br>
>> > > +-----------------------------------------------------<br>
>> > > +<br>
>> > > +:ref:`Support in RTEMS<Support_project>`<br>
>> > > +<br>
>> > > +<br>
>> > > +What RTEMS Training Opportunities are available ?<br>
>> > > +--------------------------------------------------<br>
>> > > +<br>
>> > > +`RTEMS Training Opportunities <<a href="https://www.rtems.org/TrainingOpportunities" rel="noreferrer" target="_blank">https://www.rtems.org/TrainingOpportunities</a>>`__<br>
>> > > +<br>
>> > > +<br>
>> > > +How can I contribute?<br>
>> > > +-------------------------------------------<br>
>> > > +<br>
>> > > +:ref:`Contributions in RTEMS<Contributing>`<br>
>> > > +<br>
>> > > +<br>
>> > > +How are floating point numbers handled ?<br>
>> > > +---------------------------------------------<br>
>> > > +<br>
>> > > +`Floating point support in RTEMS<br>
>> > > +<<a href="https://docs.rtems.org/branches/master/c-user/task/" rel="noreferrer" target="_blank">https://docs.rtems.org/branches/master/c-user/task/</a><br>
>> > > +background.html#floating-point-considerations>`__<br>
>> ><br>
>> > We don't like to cross-link between docs. I don't remember how this is<br>
>> > handled. If you can't figure it out, you'll have to ask in an email<br>
>> > how to link between different manuals in the docs.<br>
>> ><br>
>> > > +<br>
>> > > +<br>
>> > > +How do I make a patch ?<br>
>> > > +--------------------------<br>
>> > > +<br>
>> > This should refer to the Software Engineering Guide.<br>
>> ><br>
>> > > +The recommended way to create a patch is to branch the git repository master<br>
>> > > +and use one commit for each logical change. Then you can use git-format-patch<br>
>> > > +to turn your commits into patches and easily submit them.<br>
>> > > +<br>
>> > > +.. code-block:: none<br>
>> > > +<br>
>> > > + git format-patch master<br>
>> > > +<br>
>> > > +Creates a separate patch for each commit that has been made between the master<br>
>> > > +branch and the current branch and writes them in the current directory. Use<br>
>> > > +the -o flag to redirect the files to a different directory.<br>
>> > > +<br>
>> > > +If you are re-submitting a patch that has previously been reviewed, you should<br>
>> > > +specify a version number for your patch, for example, use<br>
>> > > +<br>
>> > > +.. code-block:: none<br>
>> > > +<br>
>> > > + git format-patch -v2 ...<br>
>> > > +<br>
>> > > +to indicate the second version of a patch, v3 for a third, and so forth.<br>
>> > > +<br>
>> > > +Patches created using git-format-patch are formatted so they can be emailed<br>
>> > > +and rely on having git configured with your name and email address, for example<br>
>> > > +<br>
>> > > +.. code-block:: none<br>
>> > > +<br>
>> > > + git config --global <a href="http://user.name" rel="noreferrer" target="_blank">user.name</a> "Your Name"<br>
>> > > + git config --global user.email <a href="mailto:name@domain.com" target="_blank">name@domain.com</a><br>
>> > > +<br>
>> > > +Please use a real name, we do not allow pseudonyms or anonymous contributions.<br>
>> > > +<br>
>> > > +<br>
>> > > +<br>
>> > > +Why is my executable so big?<br>
>> > > +-------------------------------------------------------<br>
>> > > +<br>
>> > > +There are two primary causes for this. The most common is that you are doing an<br>
>> > > +ls -l and looking at the actual file size – not the size of the code in the<br>
>> > > +target image. This file could be in an object format such as ELF or COFF and<br>
>> > > +contain debug information. If this is the case, it could be an order of magnitude<br>
>> > > +larger than the required code space. Use the strip command in your cross<br>
>> > > +toolset to remove debugging information.<br>
>> > > +<br>
>> > > +Another alternative is that the executable file is in an ASCII format such as<br>
>> > > +Motorola Srecords. In this case, there is no debug information in the file<br>
>> > > +but each byte in the target image requires two bytes to represent. On top of<br>
>> > > +that, there is some overhead required to specify the addresses where the image<br>
>> > > +is to be placed in target memory as well as checksum information. In this<br>
>> > > +case, it is not uncommon to see executable files that are between two and three<br>
>> > > +times larger than the actual space required in target memory.<br>
>> > > +<br>
>> > > +Remember, the debugging information is required to do symbolic debugging with gdb.<br>
>> > > +Normally gdb obtains its symbolic information from the same file that it gets<br>
>> > > +the exe- cutable image from. However, gdb does not require that the executable<br>
>> > > +image and symbolic information be obtained from the same file. So you might want<br>
>> > > +to create a hello_with_ symbols.exe, copy that file to hello_without_symbols.exe,<br>
>> > > +and strip hello_without_ symbols.exe. Then gdb would have to be told to read<br>
>> > > +symbol information from hello_ with_symbols.exe. The gdb command line option<br>
>> > > +-symbols or command symbol-file may be used to specify the file read for<br>
>> > > +symbolic information<br>
>> > > +<br>
>> > > +What MinGW Tools for Windows are available ?<br>
>> > > +-------------------------------------------------------------------------<br>
>> > > +<br>
>> > > +Windows users can use MinGW based RTEMS tools. These tools will generate the<br>
>> > > +same application code for RTEMS as the tools on Linux or Cygwin. MinGW tools<br>
>> > > +use the native Windows runtime rather than access Windows via the POSIX interface<br>
>> > > +Cygwin provides. MinGW tools are faster than the Cygwin equivalent and are not<br>
>> > > +confused by Cygwin mount points. Compiler errors will show a Windows path rather<br>
>> > > +than a Cygwin path and so do not confuse native Windows editors.<br>
>> > > +:ref:`Cygwin in windows<Cygwin>`<br>
>> > > +<br>
>> > > +The RTEMS MinGW Tools are not currently packaged in installers. The installers<br>
>> > > +stopped around RTEMS 4.9 when the MinGW tools started to be built as part of<br>
>> > > +the binary tool package. This means you need to manually step through the<br>
>> > > +process. It is not difficult, how-ever it is not an easy installer.<br>
>> > > +<br>
>> > > +<br>
>> > > +What is Multilib RTEMS ?<br>
>> > > +-----------------------------------------------------------------<br>
>> > > +<br>
>> > > +The multilib process supports building a set of related libraries for a given<br>
>> > > +target where the individual libraries in the set use different specific<br>
>> > > +compiler flags (such as flags for code generation options, pre-processor<br>
>> > > +defines, etc) for the individual libraries. The reason this is needed can be<br>
>> > > +seen by examining the M68K GCC compiler. That compiler generates code for a<br>
>> > > +number of processor variants in the M68K family, for example, it can generate<br>
>> > > +code for the original 68000, the 68040 or a 528x Coldfire. These processors all<br>
>> > > +use a closely related instruction set, but processor differences mean code<br>
>> > > +compiled for one may not run on another. GCC provides a special library called<br>
>> > > +libgcc.a that holds intrinsic functions needed by the compiler. These<br>
>> > > +intrinsic functions provide "software instructions" (such as non-basic math<br>
>> > > +support routines) that the processor may not support. However, which functions<br>
>> > > +GCC considers to be intrinsic should be able to vary within a processor family.<br>
>> > > +One processor variant will have hardware floating point and another processor<br>
>> > > +variant will not, and GCC (and RTEMS) should be able to generate efficient code<br>
>> > > +for each processor variant. When we wish to have different code for a range of<br>
>> > > +related yet potentially incompatible processors in a family by providing<br>
>> > > +multiple related libraries we use the multilib process.<br>
>> > > +<br>
>> > > +The multilib process extends beyond libgcc.a to libc.a, libm.a, and libstd++.a.<br>
>> > > +An RTEMS tool set will provide each of these libraries for each of the processor<br>
>> > > +variants that GCC supports. You can see the multilib information by invoking gcc<br>
>> > > +with the option '-print-multi-lib'. The output for the M68K tool chain is -<br>
>> > > +<br>
>> > > +.. code-block:: none<br>
>> > > +<br>
>> > > + $ m68k-rtems-gcc -print-multi-lib .; m68000;@m68000 m5200;@m5200<br>
>> > > + m5206e;@m5206e m528x;@m528x m5307;@m5307 m5407;@m5407 mcpu32;@mcpu32<br>
>> > > + m68040;@m68040 m68060;@m68060 msoft-float;@msoft-float<br>
>> > > +<br>
>> > > +This output is not easy to read as it is designed for other tools or packages.<br>
>> > > +<br>
>> > > +RTEMS core under the cpukit source tree does not reference any BSP specific<br>
>> > > +details. This allows it to be built as a set of multiple libraries named<br>
>> > > +librtemscpu.a. A configure command line option will build a multilib RTEMS as<br>
>> > > +shown in Building a CPU Kit.<br>
>> > > +<br>
>> > > +BSP and CPU model specific portions of RTEMS (libcpu and libbsp) are<br>
>> > > +built into the separate library librtemsbsp.a.<br>
>> > > +<br>
>> > > +<br>
>> > > +What is the difference between the workspace and heap ?<br>
>> > > +----------------------------------------------------------------------<br>
>> > > +<br>
>> > > +The RTEMS Workspace is used to allocate space for objects created by RTEMS<br>
>> > > +such as tasks, semaphores, message queues, etc.. It is primarily used during<br>
>> > > +system initialization although task stacks and message buffer areas are also<br>
>> > > +allocated from here.<br>
>> > > +<br>
>> > > +<br>
>> > > +<br>
>> > > +What is the difference between autoconf and waf build system ?<br>
>> > > +----------------------------------------------<br>
>> > > +<br>
>> > > +Waf is a build automation tool written in Python which is designed to assist<br>
>> > > +in the automatic compilation and installation of computer software.<br>
>> > > +:ref:`Converting from Autoconf/Automake to waf build system<Autoconf_migration>`<br>
>> > > diff --git a/user/start/index.rst b/user/start/index.rst<br>
>> > > index 17c34e1..e178209 100644<br>
>> > > --- a/user/start/index.rst<br>
>> > > +++ b/user/start/index.rst<br>
>> > > @@ -23,3 +23,4 @@ applications on top of RTEMS.<br>
>> > > app<br>
>> > > rsb-packages<br>
>> > > gsoc<br>
>> > > + faq<br>
>> > > diff --git a/user/support/support-project.rst b/user/support/support-project.rst<br>
>> > > index b782029..9973f5a 100644<br>
>> > > --- a/user/support/support-project.rst<br>
>> > > +++ b/user/support/support-project.rst<br>
>> > > @@ -6,6 +6,8 @@<br>
>> > ><br>
>> > > .. index:: support; RTEMS Project<br>
>> > ><br>
>> > > +.. _Support_project:<br>
>> > > +<br>
>> > > RTEMS Project Support<br>
>> > > *********************<br>
>> > ><br>
>> > > --<br>
>> > > 2.25.1<br>
>> > ><br>
>> > > _______________________________________________<br>
>> > > devel mailing list<br>
>> > > <a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br>
>> > > <a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
>> _______________________________________________<br>
>> devel mailing list<br>
>> <a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br>
>> <a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
</blockquote></div></div>