mirror of
https://git.rtems.org/rtems-docs/
synced 2025-05-15 18:27:18 +08:00
start/gsoc: GSoC Getting started instructions.
Added instructions to setup development environment for students interested in GSoC.
This commit is contained in:
parent
7fd137e95f
commit
94697e1c55
@ -10,6 +10,7 @@ RTEMS User Manual (|version|).
|
|||||||
|
|
||||||
.. topic:: Copyrights and License
|
.. topic:: Copyrights and License
|
||||||
|
|
||||||
|
| |copy| 2020 Niteesh Babu
|
||||||
| |copy| 2019 Vijay Kumar Banerjee
|
| |copy| 2019 Vijay Kumar Banerjee
|
||||||
| |copy| 2018 Amaan Cheval
|
| |copy| 2018 Amaan Cheval
|
||||||
| |copy| 2018 Marçal Comajoan Cara
|
| |copy| 2018 Marçal Comajoan Cara
|
||||||
|
132
user/start/gsoc.rst
Normal file
132
user/start/gsoc.rst
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
.. SPDX-License-Identifier: CC-BY-SA-4.0
|
||||||
|
|
||||||
|
.. Copyright (C) 2020 Niteesh Babu <niteesh.gs@gmail.com>
|
||||||
|
|
||||||
|
.. _QuickStartGSoC:
|
||||||
|
|
||||||
|
GSoC Getting Started
|
||||||
|
====================
|
||||||
|
|
||||||
|
The goal of this page is to help new users, especially students get RTEMS
|
||||||
|
compiled and running so they can start with the real work.
|
||||||
|
|
||||||
|
Please join the :r:list:`users` and :r:list:`devel` and ask
|
||||||
|
questions. Help correct any deficiencies in the code or documentation you spot,
|
||||||
|
including those on the wiki. The ultimate goal of GSoC is to help you become
|
||||||
|
part of the open source community.
|
||||||
|
|
||||||
|
This section will help you to quickly setup a development environment without
|
||||||
|
delving into the details. For more information you can go through the other
|
||||||
|
subsections under :ref:`Quick Start <QuickStart>` chapter or ask on the
|
||||||
|
:r:list:`devel`.
|
||||||
|
|
||||||
|
You will be best served by using a GNU/Linux environment, which could be in a
|
||||||
|
virtual machine, for example that uses `Virtualbox <https://www.virtualbox.org/>`_
|
||||||
|
and should run on most modern desktop systems. You should also be able to work
|
||||||
|
with a MacOS or Windows system, but might encounter more difficulty than a *nix
|
||||||
|
environment.
|
||||||
|
|
||||||
|
Setting up a development environment consists of the following steps.
|
||||||
|
|
||||||
|
1) Installing dependencies for your host operating system.
|
||||||
|
2) Choosing an installation prefix.
|
||||||
|
3) Downloading the source code.
|
||||||
|
4) Installing the tool suite.
|
||||||
|
5) Building the Board Support Package (BSP).
|
||||||
|
6) Testing the Board Support Package (BSP).
|
||||||
|
|
||||||
|
Installing Dependencies
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
You need tools for your host’s operating system to build the RTEMS tool suite
|
||||||
|
from source. Please have a look at the :ref:`host-computer` chapter for the
|
||||||
|
instructions to install the tools for your OS.
|
||||||
|
|
||||||
|
Choosing an installation prefix
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
The term ``prefix`` refers to the path on your computer where the software is to
|
||||||
|
be installed.
|
||||||
|
You can refer to the :ref:`Prefix <QuickStartPrefixes>` section for details on
|
||||||
|
choosing an installation prefix.
|
||||||
|
|
||||||
|
Downloading the Sources
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
We will be using Git to clone the sources for RTEMS and RSB. This is the
|
||||||
|
preferred way if you are planning to make contributions to the RTEMS project.
|
||||||
|
|
||||||
|
Please refer to the :ref:`QuickStartSources_Git` section for instructions on
|
||||||
|
obtaining sources using Git.
|
||||||
|
|
||||||
|
Installing the Tool Suite
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
The Tools suite is the collection of tools required to build the BSP. This
|
||||||
|
includes the compiler, debugger, assembler and other tools. These tools are
|
||||||
|
architecture-specific. We will be installing the SPARC tool suite since we are
|
||||||
|
building a SPARC based BSP.
|
||||||
|
|
||||||
|
Please refer to the :ref:`QuickStartTools` section for instructions on
|
||||||
|
building and installing the tool suite.
|
||||||
|
|
||||||
|
Building the Board Support Package
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
There are two ways of building a BSP. We could either ask RSB to build the BSP
|
||||||
|
or manually build it. In this section will we be building it manually.
|
||||||
|
Please refer the :ref:`QuickStartBSPBuild_Manual` section for the
|
||||||
|
instructions.
|
||||||
|
|
||||||
|
Testing the Board Support Package
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
Testing is an essential part of RTEMS development process. The main reason for
|
||||||
|
choosing the SPARC erc32 BSP is that, it has very good simulator support. This
|
||||||
|
will allow you to test your changes without the need for SPARC hardware.
|
||||||
|
|
||||||
|
Please refer to :ref:`QuickStartBSPTest` for instructions on testing the BSP.
|
||||||
|
|
||||||
|
Prove You Can Work On RTEMS
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
This section is only for students interested in Google Summer of Code.
|
||||||
|
|
||||||
|
You have to finish the following task to prove that you can work on RTEMS.
|
||||||
|
|
||||||
|
Modify the hello world example to include a new different print statement.
|
||||||
|
Something like "Hello from The Dark Side!". Then send us enough to prove to us
|
||||||
|
that you did this. We want to know you can work with RTEMS.
|
||||||
|
|
||||||
|
Create a patch of your changes and send it to :r:list:`devel` along with the
|
||||||
|
screenshot of the output.
|
||||||
|
|
||||||
|
If you followed this guide, this hello world modification will likely need to be
|
||||||
|
made in ``$HOME/quick-start/src/rtems/testsuites/samples/hello/init.c``.
|
||||||
|
To test your changes, you have to build the BSP again. This could be done by
|
||||||
|
running `make` in the BSP build directory.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
cd $HOME/quick-start/build/b-erc32
|
||||||
|
make
|
||||||
|
|
||||||
|
If you are happy with your changes you can commit the changes and send the patch
|
||||||
|
to :r:list:`devel`.
|
||||||
|
|
||||||
|
Creating and Sending Patches
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
Before sending patches, make sure that the changes you have made conforms to
|
||||||
|
RTEMS coding standards.
|
||||||
|
You can refer to :ref:`Contributing` section for instruction on creating and
|
||||||
|
sending patches.
|
||||||
|
|
||||||
|
Here are a few pointers to keep in mind while creating the patches.
|
||||||
|
|
||||||
|
* Make sure not to commit changes in the master branch. This is to avoid merge
|
||||||
|
conflicts when you are pulling the latest changes from the remote branch.
|
||||||
|
* Avoid trailing whitespace errors.
|
||||||
|
* The author name of the patch is your full name.
|
||||||
|
* The author email of the patch is your valid email address.
|
||||||
|
* Ensure that your patch builds before sending them for review.
|
@ -14,6 +14,7 @@ applications on top of RTEMS.
|
|||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
|
|
||||||
|
gsoc
|
||||||
preparation
|
preparation
|
||||||
prefixes
|
prefixes
|
||||||
sources
|
sources
|
||||||
|
Loading…
x
Reference in New Issue
Block a user