Changeset 86518bd in rtems-docs for user/hosts/windows.rst


Ignore:
Timestamp:
07/04/16 02:30:09 (6 years ago)
Author:
Chris Johns <chrisj@…>
Branches:
4.11, 5, am, master
Children:
f92357f
Parents:
6d7a4d2
Message:

Reorganisse the User Manual to make it easier to navigate.

File:
1 moved

Legend:

Unmodified
Added
Removed
  • user/hosts/windows.rst

    r6d7a4d2 r86518bd  
    44.. comment: All rights reserved.
    55
    6 .. _development-hosts:
    7 
    8 Development Hosts
    9 =================
    10 .. index:: Hosts
    11 
    12 RTEMS applications are developed using cross-development tools running on a
    13 host computer, typically your desktop or a special build server. All RTEMS
    14 tools and runtime libraries are built from source on your host machine. The
    15 RTEMS Project does not maintain binary builds of the tools. This may appear be
    16 the opposite to what you normally experience with host operating systems, and
    17 it is, however this approach works well. RTEMS is not a host operating system
    18 and it is not a distrbution. Providing binary packages for every possible host
    19 operating system is too big a task for the RTEMS Project and it is not a good
    20 use of core developer time. Their time is better spent making RTEMS better and
    21 faster.
    22 
    23 Developer Computer
    24 ------------------
    25 
    26 The rule for selecting a computer for a developer is `more is better` but we do
    27 understand there are limits. Projects set up different configurations and what
    28 is described here is not an approved set up, rather it is a guide. Some
    29 projects have a suitable development machine per developer while others set up
    30 a tightly controlled central build server. RTEMS is flexible and lets you
    31 engineer a development environment that suites you. The basic specs are:
    32 
    33 - Multicore processor
    34 - 8G bytes RAM
    35 - 256G harddisk
    36 
    37 RTEMS makes no demands on graphics.
    38 
    39 If you are using a VM or your host computer is not a fast modern machine do not
    40 be concerned. The tools may take longer to build than faster hardware however
    41 building tools is something you do once. Once the tools and RTEMS is built all
    42 your time can be spent writing and developing your application. Over an hour
    43 does happen and for the ARM architecture with all BSPs it can be many hours.
    44 
    45 Host Software
    46 -------------
    47 
    48 A wide range of host operating systems and hardware can be used. The host
    49 operating systems supported are:
    50 
    51 - Linux
    52 - FreeBSD
    53 - NetBSD
    54 - Apple OS X
    55 - Windows
    56 - Solaris
    57 
    58 The functionality on a POSIX operating such as Linux and FreeBSD is similar and
    59 most features on Windows are supported but you are best to ask on the
    60 :r:list:`users` if you have a specific question.
    61 
    62 We recommend you maintain your operating system by installing any updates.
    63 
    64 POSIX Hosts
    65 -----------
    66 
    67 .. sidebar:: *GDB and Python*
    68 
    69    RTEMS uses Python in GDB to aid debugging which means GDB needs to be built
    70    with Python development libraries. Please check the RSB documentation and
    71    install the packages specified for your host. Make sure a python development
    72    package is included.
    73 
    74 POSIX hosts are most Unix operating systems such as Linux, FreeBSD and
    75 NetBSD. RTEMS development works well on Unix and can scale from a single user
    76 and a desktop machine to a team with decentralised or centralised development
    77 infrastructure. The RTEMS project provides you with the development tools and
    78 aids to help you create an environment that matches your project's needs. The
    79 RTEMS Project's aim is to give you complete freedom to decide on the languages
    80 used in your project, which version control system, and the build system for
    81 your application.
    82 
    83 The following are a few ways you can set up a suitable environment. You are not
    84 limited to what is present here. A common factor that defines the final
    85 location of tools and projects is the place you have suitable storage. The
    86 following set ups assume suitable disk space and disk performance.
    87 
    88 Administrator Access
    89 ~~~~~~~~~~~~~~~~~~~~
    90 
    91 You either have ``root`` access to your host development machine or you do
    92 not. Some users are given hardware that is centrally managed. If you do not
    93 have ``root`` access you can create your work environment in your home
    94 directory. You could use a prefix of :file:`$HOME/development/rtems` or
    95 :file:`$HOME/rtems`. Note, the ``$HOME`` environment variable can be
    96 substituted with ``~``.
    97 
    98 RTEMS Tools and packages do not require ``root`` access
    99 to be built and we encourage you to not build the tools as ``root``. If you
    100 need to control write access then it is best to manage this with groups
    101 assigned to users.
    102 
    103 If you have ``root`` access you can decide to install the tools under any
    104 suitable prefix. This may depend on the hardware in your host development
    105 machine. If the machine is a centralised build server the prefix may be used to
    106 separate production versions from the test versions and as just discussed the
    107 prefix paths may have restricted access rights to only those who manage and
    108 have configuration control of the machine.
    109 
    110 Apple OS X
    111 ----------
    112 
    113 Apple's OS X is fully supported. You need to download and install a recent
    114 version of the Apple developer application Xcode. Xocde is available in the App
    115 Store. Make sure you install the Command Line Tools add on available for
    116 download within Xcode and once installed open a Terminal shell and enter the
    117 command ``cc`` and accept the license agreement.
    118 
    119 The normal prefix when working on OS X as a user is under your home directory.
    120 Prefixes of :file:`$HOME/development/rtems` or :file:`$HOME/rtems` are
    121 suitable.
    122 
    1236.. _microsoft-windows:
    1247
    1258Microsoft Windows
    126 -----------------
     9~~~~~~~~~~~~~~~~~
    12710
    12811RTEMS supports Windows as a development host and the tools for most
     
    16144.. _windows-path-length:
    16245
    163 Path Length
    164 ~~~~~~~~~~~
     46Windows Path Length
     47^^^^^^^^^^^^^^^^^^^
    16548
    16649Windows path length is limited and can cause problems when building the
     
    17962
    18063Parallel Builds with Make
    181 ~~~~~~~~~~~~~~~~~~~~~~~~~
     64^^^^^^^^^^^^^^^^^^^^^^^^^
    18265
    18366The MSYS2 GNU ``make`` has problems when using the `jobs` option. The RSB
     
    18770
    18871POSIX Support
    189 ~~~~~~~~~~~~~
     72^^^^^^^^^^^^^
    19073
    19174Building the RTEMS compilers, debugger, the RTEMS kernel and a number of other
     
    20588
    20689Python
    207 ~~~~~~
     90^^^^^^
    20891
    20992We need Python to build the tools as the RSB is written in Python and we need
     
    21598We cannot use the Python executables created by the Python project (python.org)
    21699as they are built by Microsoft's C (MSC) compiler. Linking the MSC Python
    217 libraries with the MinGW64 executables is not easy and MSYS provided us with a
     100libraries with the MinGW64 executables is not easy and MSYS provides us with a
    218101simple solution so we do not support linking MSC libraries.
    219102
    220 MSYS2 provides two types and versions of Python executables, MinGW and MSYS and
    221 Python version 2 and 3. For Windows we need the MinGW executable so we have
     103MSYS2 provides two types and two versions of Python executables, MinGW and MSYS
     104and Python version 2 and 3. For Windows we need the MinGW executable so we have
    222105suitables libraries and we have to have Python version 2 because on Windows GDB
    223106only builds with Python2.
     
    228111generate.
    229112
     113.. _microsoft-windows-installation:
     114
    230115Installing MSYS2
    231 ~~~~~~~~~~~~~~~~
     116^^^^^^^^^^^^^^^^
    232117
    233118MSYS2 is installed on a new machine using the MSYS2 installer found on
     
    268153.. note::
    269154
    270 The actual output provided may vary due to changes in the dependent packages or
    271 newer package versions.
     155  The actual output provided may vary due to changes in the dependent packages
     156  or newer package versions.
    272157
    273158Install the packages using ``pacman``:
Note: See TracChangeset for help on using the changeset viewer.