<div dir="ltr"><div dir="ltr">On Sun, Mar 22, 2020 at 7:42 PM Gedare Bloom <<a href="mailto:gedare@rtems.org">gedare@rtems.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Niteesh,<br>
<br>
Did you build the docs with this change<br></blockquote><div>Yes, I did. Did you face any issues?</div><div>I am sorry for typos and grammatical mistakes. I checked a couple of times but still</div><div>missed them.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
The rewrite is nice. I do have several comments below to address:<br>
<br>
On Tue, Mar 17, 2020 at 2:36 PM G S Niteesh Babu <<a href="mailto:niteesh.gs@gmail.com" target="_blank">niteesh.gs@gmail.com</a>> wrote:<br>
><br>
> ---<br>
>  user/index.rst       |   1 +<br>
>  user/start/gsoc.rst  | 453 +++++++++++++++++++++++++++++++++++++++++++<br>
>  user/start/index.rst |   1 +<br>
>  3 files changed, 455 insertions(+)<br>
>  create mode 100644 user/start/gsoc.rst<br>
><br>
> diff --git a/user/index.rst b/user/index.rst<br>
> index 0e644c9..f253ea6 100644<br>
> --- a/user/index.rst<br>
> +++ b/user/index.rst<br>
> @@ -10,6 +10,7 @@ RTEMS User Manual (|version|).<br>
><br>
>  .. topic:: Copyrights and License<br>
><br>
> +    | |copy| 2020 Niteesh Babu<br>
>      | |copy| 2019 Vijay Kumar Banerjee<br>
>      | |copy| 2018 Amaan Cheval<br>
>      | |copy| 2018 Marçal Comajoan Cara<br>
> diff --git a/user/start/gsoc.rst b/user/start/gsoc.rst<br>
> new file mode 100644<br>
> index 0000000..071c1cc<br>
> --- /dev/null<br>
> +++ b/user/start/gsoc.rst<br>
> @@ -0,0 +1,453 @@<br>
> +.. comment: SPDX-License-Identifier: CC-BY-SA-4.0<br>
> +<br>
> +.. comment: Copyright (C) 2020 Niteesh Babu <<a href="mailto:niteesh.gs@gmail.com" target="_blank">niteesh.gs@gmail.com</a>><br>
> +.. comment: All rights reserved.<br>
We don't really use this phrase.<br></blockquote><div>This was inspired by this source. Should I change that also?</div><div><a href="https://devel.rtems.org/wiki/Docs/New_Chapter#License">https://devel.rtems.org/wiki/Docs/New_Chapter#License</a> </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>
only 1 blank<br>
<br>
> +.. _QuickStartGSoC:<br>
> +<br>
> +GSoC Getting Started<br>
> +====================<br>
> +<br>
> +The goal of this page is to help you get RTEMS compiled and running so you can<br>
I think the intro at least will be better in the 3rd person for the<br>
manual version. Replace first "you" with "new users, especially<br>
students, " and replace second "you" with "they"<br>
<br>
> +start with the real work.<br>
> +<br>
> +Please join the :r:list:`users` and :r:list:`devel` mailing lists and ask questions.<br>
> +Help correct any deficiencies in the code or documentation you spot, including<br>
> +those on the wiki. The ultimate goal of GSoC is to help you become part of the<br>
replace "you" with "students"<br>
<br>
You can keep it in second-person below that is fine for now.<br>
<br>
> +open source community.<br>
> +<br>
> +.. _QuickStartConfigureComputer:<br>
> +<br>
> +Configure a Development Computer<br>
> +--------------------------------<br>
> +<br>
> +You will be best served by using a GNU/Linux environment, which could be in a<br>
> +virtual machine, for example that uses `Virtualbox <<a href="https://www.virtualbox.org/" rel="noreferrer" target="_blank">https://www.virtualbox.org/</a>>`_<br>
> +and should run on most modern desktop systems. You should also be able to work<br>
> +with a MacOS or Windows system, but might encounter more difficulty than a *nix<br>
> +environment.<br>
> +<br>
> +Feel free to ask questions on the rtems-users mailing list in case you face<br>
:r:list:`users`<br>
<br>
> +trouble with the steps. If you want tools for another architecture, replace<br>
> +sparc in the RSB directions with another architecture, such as arm or mips. You<br>
s/another/that<br>
<br>
> +can also use the RSB to build RTEMS directly, but we recommend that you learn<br>
> +how to build RTEMS by itself with the compiler tools generated by RSB.<br>
> +<br>
> +As you will be compiling a lot of code, it is recommended to have a reasonably<br>
> +fast development machine.<br>
> +<br>
> +The instructions in this chapter will help you in quickly setting up a<br>
> +development environment. For a detailed set of instruction please refer to the<br>
typo: instructions<br>
<br>
> +:ref:`QuickStart` chapter.<br>
> +<br>
> +You need tools for your host’s operating system to build the RTEMS tool suite<br>
> +from source. Please have a look at the :ref:`host-computer` chapter for the<br>
> +instructions to install the tools.<br>
> +<br>
After the chapter by Utkarsh about cross-compilers is merged, it would<br>
be good to add a sentence here with a ref.<br></blockquote><div><br></div><div>I'll send in a patch once his work gets merged.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> +Choosing an Installation Prefix<br>
> +-------------------------------<br>
> +<br>
> +The term ``prefix`` refers to the path on your computer where the software is to<br>
> +be installed.<br>
> +In this case, we choose the home directory ``$HOME/rtems`` as our prefix.<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  mkdir $HOME/rtems<br>
> +<br>
> +Getting Sources<br>
> +---------------<br>
> +<br>
> +We obtain the source code for the :ref:`RTEMS Source Builder (RSB) <RSB>` and<br>
> +RTEMS from the RTEMS :r:url:`git`.<br>
> +<br>
> +The :ref:`RTEMS Source Builder (RSB) <RSB>` is the tool used to build RTEMS<br>
> +packages from source. We will be using the RSB to build RTEMS the source.<br>
"from" missing?<br>
<br>
> +Please have a look at the :ref:`RTEMS Source Builder (RSB) <RSB>` for more<br>
> +information.<br>
> +<br>
> +We'll clone to the repositories to ``$HOME/rtems/src``.<br>
"to the" -> "the"<br>
<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  mkdir -p $HOME/rtems/src<br>
> +  cd $HOME/rtems/src<br>
> +  git clone git://<a href="http://git.rtems.org/rtems-source-builder.git" rel="noreferrer" target="_blank">git.rtems.org/rtems-source-builder.git</a> rsb<br>
> +  git clone git://<a href="http://git.rtems.org/rtems.git" rel="noreferrer" target="_blank">git.rtems.org/rtems.git</a><br>
> +<br>
> +Building the Tool suite<br>
> +-----------------------<br>
> +<br>
> +Once you have cloned the repositories and installed the required tools for<br>
> +your host operating system. You can start building the tools suite for your BSP.<br>
> +The tools suite is the collection of compiler, debugger, Assembler and other<br>
lower case assembler<br>
<br>
> +tools required for developing the software.<br>
> +<br>
> +You can check if your host is set up correctly using ``sb-check`` tool provided<br>
"using the"<br>
<br>
> +in the RSB repository.<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  cd $HOME/rtems/src/rsb/source-builder<br>
> +  ./sb-check<br>
> +<br>
> +If you installed all the required tools you should have the following output.<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  RTEMS Source Builder - Check, 5 (0b7e87143b76)<br>
> +  Environment is ok<br>
> +<br>
> +.. note:: The numbers may vary depending on the RSB release.<br>
> +<br>
> +The tool suite for RTEMS and the RTEMS sources are tightly coupled. For example,<br>
> +do not use a RTEMS version 5 tool suite with RTEMS version 4.11 sources and vice<br>
<br>
"a RTEMS" -> "an RTEMS"<br>
<br>
> +versa. In simple words, make sure you clone both the repositories at the same<br>
> +time.<br>
> +<br>
> +The tools suite is architecture specific. In this guide we will be building the<br>
hyphenate "architecture-specific"<br>
comma after guide<br>
<br>
> +tools suite for the SPARC architecture. So the tool suite name is sparc-rtems5.<br>
> +You can build the tools suite for other architectures like ARM, RISCV by<br>
replace comma with "or"<br>
<br>
> +replacing the architecture name. For example, for ARM the tools suite name would<br>
> +be arm-rtems5.<br>
Does the manual have a version number macro for the specific version<br>
of the docs that are built? It ought to... then you could replace<br>
every hard-coded '5' version number here with that macro.<br></blockquote><div> </div><div>I have looked at common/rtemsdomain.py to see if any macro for the specific version</div><div>was present. But I couldn't find anything. The "|version|"  is being used in the headings</div><div>for the chapter. But it includes both RTEMS major and minor number.</div><div>|version| --> 5.927b004</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> +<br>
> +The following command builds and installs the tools suite in the path mentioned<br>
> +in the prefix option.<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  cd $HOME/rtems/src/rsb/rtems<br>
> +  ../source-builder/sb-set-builder --prefix=$HOME/rtems/5 5/rtems-sparc<br>
> +<br>
> +This command should output something like this (omitted lines are denoted by …).<br>
> +The build host appears as part of the name of the package being built. The name<br>
> +you see may vary depending on the host you are using:<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  RTEMS Source Builder - Set Builder, 5.1.0<br>
> +  Build Set: 5/rtems-sparc<br>
> +  ...<br>
> +  config: tools/rtems-binutils-2.34.cfg<br>
> +  package: sparc-rtems5-binutils-2.34-x86_64-freebsd12.1-1<br>
> +  building: sparc-rtems5-binutils-2.34-x86_64-freebsd12.1-1<br>
> +  sizes: sparc-rtems5-binutils-2.34-x86_64-freebsd12.1-1: 305.866MB (installed: 29.966MB)<br>
> +  cleaning: sparc-rtems5-binutils-2.34-x86_64-freebsd12.1-1<br>
> +  reporting: tools/rtems-binutils-2.34.cfg -> sparc-rtems5-binutils-2.34-x86_64-freebsd12.1-1.txt<br>
> +  reporting: tools/rtems-binutils-2.34.cfg -> sparc-rtems5-binutils-2.34-x86_64-freebsd12.1-1.xml<br>
> +  config: tools/rtems-gcc-7.5.0-newlib-fbaa096.cfg<br>
> +  package: sparc-rtems5-gcc-7.5.0-newlib-fbaa096-x86_64-freebsd12.1-1<br>
> +  building: sparc-rtems5-gcc-7.5.0-newlib-fbaa096-x86_64-freebsd12.1-1<br>
> +  ....<br>
> +  Build Sizes: usage: 5.684GB total: 1.112GB (sources: 143.803MB, patches: 21.348KB, installed 995.188MB)<br>
> +  Build Set: Time 0:21:35.626294<br>
> +<br>
> +Once the build has successfully completed you can check if the cross C compiler<br>
C cross-compiler<br>
<br>
> +works with the following command:<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  $HOME/rtems/5/bin/sparc-rtems5-gcc --version<br>
> +<br>
> +This command should output something like below. The version information helps<br>
> +you to identify the exact sources used to build the cross compiler of your RTEMS<br>
> +tool suite.<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  sparc-rtems5-gcc (GCC) 7.5.0 20191114 (RTEMS 5, RSB 5.1.0, Newlib fbaa096)<br>
> +  Copyright (C) 2017 Free Software Foundation, Inc.<br>
> +  This is free software; see the source for copying conditions.  There is NO<br>
> +  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.<br>
> +<br>
> +Add the tools suite to your ``$PATH`` by the following command:<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  export PATH=$HOME/rtems/5:"$PATH"<br>
> +<br>
> +This is only valid for the current terminal session. To make it permanant, add<br>
typo: permanent<br>
<br>
> +it your ``~/.profile`` by the following command:<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  echo "export PATH=$PATH:$HOME/rtems/5" >> ~/.profile<br>
> +<br>
The above about .profile is not portable and may not be the best<br>
practice for all users. Maybe specify simply that the PATH<br>
modifications can be made permanent in different ways depending on the<br>
host OS... and give this as one example.<br>
<br>
> +Bootstrap the RTEMS Source<br>
> +--------------------------<br>
> +<br>
> +Since you have built and installed the tools required for compilation of RTEMS.<br>
Sentence fragment. Replace "Since" with "By now"<br>
<br>
> +It is time to build the BSP. But before that it is necessary to bootstrap the<br>
> +the build system in the RTEMS source. Bootstrap is the process where the files<br>
> +required for building RTEMS are generated. This process is required because<br>
> +RTEMS does not keep the generated files under version control.<br>
> +<br>
> +To perform bootstrap we need to enter the cloned source directory then run the<br>
> +bootstrap commands:<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  cd $HOME/rtems/src/rtems<br>
> +  ./bootstrap -c && /$HOME/rtems/src/rtems/rtems-bootstrap<br>
> +<br>
<br>
It may be better to show directions with sb-bootstrap?<br>
<br>
> +Build the BSP<br>
> +-------------<br>
> +<br>
> +The Board Support Package (BSP) is the software that glues a specific board or<br>
> +hardware to RTEMS. For information on available BSPs you can refer to :ref:`BSPs`.<br>
> +<br>
> +We will be building the SPARC ERC32 BSP since we have installed the SPARC tools<br>
> +suite and also because this BSP has a robust simulator that runs the example and<br>
> +test executables on your host computer.<br>
> +<br>
> +The RSB can also be used to build the BSP. But we will be building it manually.<br>
> +You can refer to the :ref:`QuickStart` chapter for instructions on building it<br>
> +using RSB.<br>
> +<br>
> +We by choosing a build directory. It must be separate from the RTEMS source<br>
by -> start by<br>
<br>
> +directory. We will be using ``$HOME/rtems/build/erc32`` as our build directory.<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  mkdir -p $HOME/rtems/build/erc32<br>
> +<br>
> +We now configure the BSP. We enable all the tests. But if you want you can<br>
> +enable only a part of the tests by replacing `--enable-tests` with<br>
> +`--enable-tests=samples`. This would only build the tests under<br>
> +``$HOME/rtems/src/rtems/testsuites/samples`` and will also reduce your build<br>
> +times significantly.<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  cd $HOME/rtems/build/erc32<br>
> +  $HOME/rtems/src/rtems/configure \<br>
> +      --prefix=$HOME/quick-start/rtems/5 \<br>
> +      --enable-maintainer-mode \<br>
> +      --target=sparc-rtems5 \<br>
> +      --enable-rtemsbsp=erc32 \<br>
> +      --enable-tests<br>
> +<br>
> +This command should output something like this (omitted lines are denoted by ...):<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  checking for gmake... gmake<br>
> +  checking for RTEMS Version... 5.0.0<br>
> +  checking build system type... x86_64-unknown-freebsd12.0<br>
> +  checking host system type... x86_64-unknown-freebsd12.0<br>
> +  checking target system type... sparc-unknown-rtems5<br>
> +  ...<br>
> +  config.status: creating Makefile<br>
> +<br>
> +  target architecture: sparc.<br>
> +  available BSPs: erc32.<br>
> +  'gmake all' will build the following BSPs: erc32.<br>
> +  other BSPs can be built with 'gmake RTEMS_BSP="bsp1 bsp2 ..."'<br>
> +<br>
> +  config.status: creating Makefile<br>
> +<br>
> +The configure command will the create the Makefile required to build the BSP.<br>
s/will the create/will create<br>
<br>
> +<br>
> +We can now finally build the BSP using make.<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  cd $HOME/rtems/build/erc32<br>
> +  make<br>
> +<br>
> +This command should output something like this (omitted lines are denoted by …).<br>
> +<br>
> +.. code-block::none<br>
> +<br>
> +  Configuring RTEMS_BSP=erc32<br>
> +  checking for gmake... gmake<br>
> +  checking build system type... x86_64-unknown-freebsd12.0<br>
> +  checking host system type... sparc-unknown-rtems5<br>
> +  checking rtems target cpu... sparc<br>
> +  checking for a BSD-compatible install... /usr/bin/install -c<br>
> +  checking whether build environment is sane... yes<br>
> +  checking for sparc-rtems5-strip... sparc-rtems5-strip<br>
> +  checking for a thread-safe mkdir -p... $BASE/src/rtems/c/src/../../install-sh -c -d<br>
> +  checking for gawk... no<br>
> +  checking for mawk... no<br>
> +  checking for nawk... nawk<br>
> +  checking whether gmake sets $(MAKE)... yes<br>
> +  checking whether to enable maintainer-specific portions of Makefiles... yes<br>
> +  checking for RTEMS_BSP... erc32<br>
> +  checking whether CPU supports libposix... yes<br>
> +  configure: setting up make/custom<br>
> +  configure: creating make/erc32.cache<br>
> +  gmake[3]: Entering directory '$BASE/build/b-erc32/sparc-rtems5/c/erc32'<br>
> +  ...<br>
> +  sparc-rtems5-gcc  -mcpu=cypress -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -B./../../lib/libbsp/sparc/erc32 -B$BASE/src/rtems/bsps/sparc/erc32/start -specs bsp_specs -qrtems -L./../../cpukit -L$BASE/src/rtems/bsps/sparc/shared/start -Wl,--wrap=printf -Wl,--wrap=puts -Wl,--wrap=putchar -Wl,--gc-sections -o spwkspace.exe spwkspace/spwkspace-init.o ./../../lib/libbsp/sparc/erc32/librtemsbsp.a ./../../cpukit/librtemscpu.a<br>
> +  gmake[5]: Leaving directory '$BASE/build/b-erc32/sparc-rtems5/c/erc32/testsuites/sptests'<br>
> +  gmake[4]: Leaving directory '$BASE/build/b-erc32/sparc-rtems5/c/erc32/testsuites'<br>
> +  gmake[3]: Leaving directory '$BASE/build/b-erc32/sparc-rtems5/c/erc32'<br>
> +  gmake[2]: Leaving directory '$BASE/build/b-erc32/sparc-rtems5/c/erc32'<br>
> +  gmake[1]: Leaving directory '$BASE/build/b-erc32/sparc-rtems5/c'<br>
> +  gmake[1]: Entering directory '$BASE/build/b-erc32'<br>
> +  gmake[1]: Nothing to be done for 'all-am'.<br>
> +  gmake[1]: Leaving directory '$BASE/build/b-erc32'<br>
> +<br>
> +The last step is installing the BSP.<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  cd $HOME/rtems/build/erc32<br>
> +  make install<br>
> +<br>
> +This command should output something like this (omitted lines are denoted by …).<br>
> +In this output the base directory $HOME/rtems was replaced by $BASE.<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  Making install in sparc-rtems5/c<br>
> +  gmake[1]: Entering directory '$BASE/build/b-erc32/sparc-rtems5/c'<br>
> +  Making install in .<br>
> +  gmake[2]: Entering directory '$BASE/build/b-erc32/sparc-rtems5/c'<br>
> +  gmake[3]: Entering directory '$BASE/build/b-erc32/sparc-rtems5/c'<br>
> +  gmake[3]: Nothing to be done for 'install-exec-am'.<br>
> +  gmake[3]: Nothing to be done for 'install-data-am'.<br>
> +  gmake[3]: Leaving directory '$BASE/build/b-erc32/sparc-rtems5/c'<br>
> +  gmake[2]: Leaving directory '$BASE/build/b-erc32/sparc-rtems5/c'<br>
> +  Making install in erc32<br>
> +  gmake[2]: Entering directory '$BASE/build/b-erc32/sparc-rtems5/c/erc32'<br>
> +  gmake[3]: Entering directory '$BASE/build/b-erc32/sparc-rtems5/c/erc32'<br>
> +  Making install-am in .<br>
> +  Making install-am in cpukit<br>
> +  gmake[4]: Entering directory '$BASE/build/b-erc32/sparc-rtems5/c/erc32/cpukit'<br>
> +  gmake[5]: Entering directory '$BASE/build/b-erc32/sparc-rtems5/c/erc32/cpukit'<br>
> +  gmake[5]: Nothing to be done for 'install-exec-am'.<br>
> +   $BASE/src/rtems/c/src/../../cpukit/../install-sh -c -d '$BASE/rtems/5/sparc-rtems5/erc32/lib/include'<br>
> +  ...<br>
> +  $BASE/src/rtems/make/Templates/Makefile.lib '$BASE/rtems/5/share/rtems5/make/Templates'<br>
> +   $BASE/src/rtems/./install-sh -c -d '$BASE/rtems/5/make/custom'<br>
> +   /usr/bin/install -c -m 644 $BASE/src/rtems/make/custom/default.cfg '$BASE/rtems/5/make/custom'<br>
> +  gmake[2]: Leaving directory '$BASE/build/b-erc32'<br>
> +  gmake[1]: Leaving directory '$BASE/build/b-erc32'<br>
> +<br>
> +Testing the BSP<br>
> +---------------<br>
> +<br>
> +Since, we now have a BSP built and installed. We will test it by running a<br>
Delete "Since, " and capitalize "We"<br>
<br>
> +Hello world example. This example is already been built during the BSP build<br>
is -> has<br>
<br>
> +phase.<br>
> +<br>
> +We can run this using the simulator provided by RSB tools suite. The SPARC tools<br>
this -> "Hello World"<br>
<br>
> +suite comes with SIS simulator which can we used to run your executables on your<br>
"with the"<br>
"your executable" -> "RTEMS executables"<br>
<br>
> +host computer without the need for hardware.<br>
"hardware" -> "SPARC hardware"<br>
<br>
> +<br>
> +The ``Hello World`` executable can be found under<br>
> +``$HOME/rtems/build/erc32/sparc-rtems5/c/erc32/testsuites/samples/hello/hello.exe``.<br>
> +<br>
> +To run the executable in the simulator we use the following command:<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  sparc-rtems5-sis sparc-rtems5/c/erc32/testsuites/samples/hello/hello.exe<br>
> +<br>
> +The output will be the following:<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  sparc-rtems5-sis sparc-rtems5/c/erc32/testsuites/samples/hello/hello.exe<br>
> +  SIS - SPARC/RISCV instruction simulator 2.20,  copyright Jiri Gaisler 2019<br>
> +  Bug-reports to <a href="mailto:jiri@gaisler.se" target="_blank">jiri@gaisler.se</a><br>
> +  ERC32 emulation enabled<br>
> +<br>
> +  Loaded sparc-rtems5/c/erc32/testsuites/samples/hello.exe, entry 0x02000000<br>
> +<br>
> +  sis><br>
> +<br>
> +This command will start the simulator and will load the executable in it. To run<br>
> +the exe, enter run in the simulator prompt ( `sis>` ). This will running the<br>
"will run"<br>
<br>
> +executable in the simulator and the following output will be produced.<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  sparc-rtems5-sis sparc-rtems5/c/erc32/testsuites/samples/hello/hello.exe<br>
> +  SIS - SPARC/RISCV instruction simulator 2.20,  copyright Jiri Gaisler 2019<br>
> +  Bug-reports to <a href="mailto:jiri@gaisler.se" target="_blank">jiri@gaisler.se</a><br>
> +  ERC32 emulation enabled<br>
> +<br>
> +  Loaded sparc-rtems5/c/erc32/testsuites/samples/hello.exe, entry 0x02000000<br>
> +<br>
> +  sis> run<br>
> +<br>
> +<br>
> +  *** BEGIN OF TEST HELLO WORLD ***<br>
> +  *** TEST VERSION: 5.0.0.c6d8589bb00a9d2a5a094c68c90290df1dc44807<br>
> +  *** TEST STATE: EXPECTED-PASS<br>
> +  *** TEST BUILD: RTEMS_POSIX_API<br>
> +  *** TEST TOOLS: 7.5.0 20191114 (RTEMS 5, RSB 83fa79314dd87c0a8c78fd642b2cea3138be8dd6, Newlib 3e24fbf6f)<br>
> +  Hello World<br>
> +<br>
> +  *** END OF TEST HELLO WORLD ***<br>
> +<br>
> +<br>
> +  *** FATAL ***<br>
> +  fatal source: 0 (INTERNAL_ERROR_CORE)<br>
> +  fatal code: 5 (INTERNAL_ERROR_THREAD_EXITTED)<br>
> +  RTEMS version: 5.0.0.c6d8589bb00a9d2a5a094c68c90290df1dc44807<br>
> +  RTEMS tools: 7.5.0 20191114 (RTEMS 5, RSB 83fa79314dd87c0a8c78fd642b2cea3138be8dd6, Newlib 3e24fbf6f)<br>
> +  executing thread ID: 0x08a010001<br>
> +  executing thread name: UI1<br>
> +  cpu 0 in error mode (tt = 0x101)<br>
> +    116401  02009ae0:  91d02000   ta  0x0<br>
> +<br>
> +Prove You Can Work On RTEMS<br>
> +---------------------------<br>
> +<br>
> +Modify the hello world example to include a new different print statement.<br>
> +Something like "Hello from The Dark Side!". Then send us enough to prove to us<br>
> +that you did this. We want to know you can work with RTEMS.<br>
> +<br>
> +Create a patch of your changes and send it to :r:link:`devel` along with the<br>
> +screenshot of the output.<br>
Add a sentence like, "Use git-commit to create your patch, and make<br>
sure the git author information is correct."<br>
Maybe add a ref to the user/support/contrib.html#preparing-and-sending-patches<br></blockquote><div> </div><div>I have added a section below for creating patches. Should I still add a few pointers here?</div><div>I am planning to add the git author information in that section. And add a ref to</div><div> user/support/contrib.html#preparing-and-sending-patches here.<br></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>
> +If you followed this guide, this hello world modification will likely need to be<br>
> +made to the file you'll have in ``$HOME/rtems/src/rtems/testsuites/samples/hello/init.c``.<br>
> +You can edit the file, commit your changes using git, and then run git<br>
> +format-patch master to generate a patch file.<br>
> +<br>
> +Creating Patch<br>
> +--------------<br>
> +<br>
> +Once you have made the required changes in the ``init.c`` file. You will have to<br>
> +commit those changes. Before commiting the changes make sure you are not on the<br>
typo: committing<br>
<br>
> +master branch. This is to avoid merge conflicts. You can create and work on a<br>
> +separate local branch with the following git command.<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  cd $HOME/rtems/src/rtems<br>
> +  git checkout -b gsoc<br>
> +<br>
> +This is will create a separate branch called `gsoc` and will switch you to it.<br>
delete 'is'<br>
<br>
> +<br>
> +Stage the file and commit using the following commands.<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  git add $HOME/rtems/src/rtems/testsuites/samples/hello/init.c<br>
> +  git commit -m "<YOUR-COMMIT-MESSAGE>"<br>
> +<br>
> +You can now create a patch file using ``git format-patch``.<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  git format-patch -1<br>
> +<br>
> +Sending Patches<br>
> +---------------<br>
> +<br>
> +Once the patch file is created. You can now send it to :r:link:`devel` using<br>
> +``git send-email``. Please refer to `git send-email <<a href="https://git-scm.com/docs/git-send-email" rel="noreferrer" target="_blank">https://git-scm.com/docs/git-send-email</a>>`_<br>
> +for instructions on seting up the SMTP server and other options.<br>
typo: setting<br>
<br>
> +<br>
> +The following command will send the patch to the mailing list.<br>
> +<br>
> +.. code-block:: none<br>
> +<br>
> +  git send-email <YOUR-PATCH-FILE> --to <a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br>
> diff --git a/user/start/index.rst b/user/start/index.rst<br>
> index d6333f3..2d3ab2c 100644<br>
> --- a/user/start/index.rst<br>
> +++ b/user/start/index.rst<br>
> @@ -22,3 +22,4 @@ applications on top of RTEMS.<br>
>      bsp-build<br>
>      bsp-test<br>
>      app<br>
> +    gsoc<br>
> --<br>
> 2.17.1<br>
><br>
</blockquote></div></div>