summaryrefslogtreecommitdiffstats
path: root/user/start/bsp-build.rst
diff options
context:
space:
mode:
Diffstat (limited to 'user/start/bsp-build.rst')
-rw-r--r--user/start/bsp-build.rst145
1 files changed, 69 insertions, 76 deletions
diff --git a/user/start/bsp-build.rst b/user/start/bsp-build.rst
index 137b3ab..962cd43 100644
--- a/user/start/bsp-build.rst
+++ b/user/start/bsp-build.rst
@@ -1,6 +1,6 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0
-.. Copyright (C) 2019 embedded brains GmbH
+.. Copyright (C) 2019 embedded brains GmbH & Co. KG
.. Copyright (C) 2019 Sebastian Huber
.. _QuickStartBSPBuild:
@@ -11,7 +11,7 @@ Build a Board Support Package (BSP)
You installed the tool suite in your installation prefix, made ready the source
for two RTEMS source packages and if you are using a Git clone bootstrapped the
RTEMS sources in the previous sections. We installed the tool suite in
-:file:`$HOME/quick-start/rtems/5` and unpacked the source in
+:file:`$HOME/quick-start/rtems/6` and unpacked the source in
:file:`$HOME/quick-start/src`.
You are now able to build :ref:`Board Support Packages (BSPs) <BSPs>` for all
@@ -45,23 +45,23 @@ To build the BSP with all the tests run this command:
cd $HOME/quick-start/src/rsb/rtems
../source-builder/sb-set-builder --prefix=$HOME/quick-start/rtems/5 \
- --target=sparc-rtems5 --with-rtems-bsp=erc32 --with-rtems-tests=yes 5/rtems-kernel
+ --target=sparc-rtems@rtems-ver-major@ --with-rtems-bsp=sparc/erc32 --with-rtems-tests=yes @rtems-ver-major@/rtems-kernel
-This command should output something like this:
+This command should output something like:
.. code-block:: none
- RTEMS Source Builder - Set Builder, 5.1.0
- Build Set: 5/rtems-kernel
- config: tools/rtems-kernel-5.cfg
- package: sparc-rtems5-kernel-erc32-1
- building: sparc-rtems5-kernel-erc32-1
- sizes: sparc-rtems5-kernel-erc32-1: 2.279GB (installed: 44.612MB)
- cleaning: sparc-rtems5-kernel-erc32-1
- reporting: tools/rtems-kernel-5.cfg -> sparc-rtems5-kernel-erc32-1.txt
- reporting: tools/rtems-kernel-5.cfg -> sparc-rtems5-kernel-erc32-1.xml
- installing: sparc-rtems5-kernel-erc32-1 -> $BASE/
- cleaning: sparc-rtems5-kernel-erc32-1
+ RTEMS Source Builder - Set Builder, @rtems-ver-majminver@
+ Build Set: @rtems-ver-major@/rtems-kernel
+ config: tools/rtems-kernel-@rtems-ver-major@.cfg
+ package: sparc-rtems@rtems-ver-major@-kernel-erc32-1
+ building: sparc-rtems@rtems-ver-major@-kernel-erc32-1
+ sizes: sparc-rtems@rtems-ver-major@-kernel-erc32-1: 2.279GB (installed: 44.612MB)
+ cleaning: sparc-rtems@rtems-ver-major@-kernel-erc32-1
+ reporting: tools/rtems-kernel-@rtems-ver-major@.cfg -> sparc-rtems@rtems-ver-major@-kernel-erc32-1.txt
+ reporting: tools/rtems-kernel-@rtems-ver-major@.cfg -> sparc-rtems@rtems-ver-major@-kernel-erc32-1.xml
+ installing: sparc-rtems@rtems-ver-major@-kernel-erc32-1 -> $BASE/
+ cleaning: sparc-rtems@rtems-ver-major@-kernel-erc32-1
Build Set: Time 0:03:09.896961
The RSB BSP build can be customised with following RSB command line options:
@@ -99,26 +99,19 @@ If you have built a BSP with the RSB, you can move on to
Manual BSP Build
----------------
-We manually build the BSP in four steps. The first step is to create a build
-directory. It must be separate from the RTEMS source directory. We use
-:file:`$HOME/quick-start/build/b-erc32`.
+We manually build the BSP in four steps. The first step is to set your path.
+Prepend the RTEMS tool suite binary directory to your ``$PATH`` throughout the
+remaining steps. Run the command:
.. code-block:: none
- mkdir -p $HOME/quick-start/build/b-erc32
-
-The second step is to set your path. Prepend the RTEMS tool suite binary
-directory to your ``$PATH`` throughout the remaining steps. Run the command:
-
-.. code-block:: none
-
- export PATH=$HOME/quick-start/rtems/5/bin:"$PATH"
+ export PATH=$HOME/quick-start/rtems/@rtems-ver-major@/bin:"$PATH"
Check your installed tools can be found by running:
.. code-block:: none
- command -v sparc-rtems5-gcc && echo "found" || echo "not found"
+ command -v sparc-rtems@rtems-ver-major@-gcc && echo "found" || echo "not found"
The output should be:
@@ -128,11 +121,12 @@ The output should be:
If ``not found`` is printed the tools are not correctly installed or the path
has not been correctly set. Check the contents of the path
-:file:`$HOME/quick-start/rtems/5/bin` manually and if :file:`sparc-rtems5-gcc`
-is present the path is wrong. If the file cannot be found return to
-:ref:`QuickStartTools` and install the tools again.
+:file:`$HOME/quick-start/rtems/@rtems-ver-major@/bin` manually and if
+:file:`sparc-rtems@rtems-ver-major@-gcc` is present the path is wrong. If the
+file cannot be found return to :ref:`QuickStartTools` and install the tools
+again.
-The first step is to configure the BSP. There are various BSP build
+The second step is to configure the BSP. There are various BSP build
configuration options available. Some options are BSP-specific. Each section
in the INI-style configuration file ``config.ini`` instructs the build system to
build a particular BSP variant (`sparc/erc32` in our case). We enable the build
@@ -145,7 +139,7 @@ everything else. For detailed information about the BSP build system, see
cd $HOME/quick-start/src/rtems
echo "[sparc/erc32]" > config.ini
echo "BUILD_TESTS = True" >> config.ini
- ./waf configure --prefix=$HOME/quick-start/rtems/5
+ ./waf configure --prefix=$HOME/quick-start/rtems/@rtems-ver-major@
The first invocation of ``./waf`` needs a bit of time (e.g. 10 seconds) since an
internal cache file is populated. This command should output something like
@@ -154,32 +148,31 @@ by ``$BASE``.
.. code-block:: none
- Setting top to : $BASE/src/rtems
- Setting out to : $BASE/src/rtems/build
- Regenerate build specification cache (needs a couple of seconds)...
+ Setting top to : $BASE/quick-start/src/rtems
+ Setting out to : $BASE/quick-start/src/rtems/build
Configure board support package (BSP) : sparc/erc32
- Checking for program 'sparc-rtems5-gcc' : $BASE/rtems/5/bin/sparc-rtems5-gcc
- Checking for program 'sparc-rtems5-g++' : $BASE/rtems/5/bin/sparc-rtems5-g++
- Checking for program 'sparc-rtems5-ar' : $BASE/rtems/5/bin/sparc-rtems5-ar
- Checking for program 'sparc-rtems5-ld' : $BASE/rtems/5/bin/sparc-rtems5-ld
- Checking for program 'ar' : $BASE/rtems/5/bin/sparc-rtems5-ar
- Checking for program 'g++, c++' : $BASE/rtems/5/bin/sparc-rtems5-g++
- Checking for program 'ar' : $BASE/rtems/5/bin/sparc-rtems5-ar
- Checking for program 'gas, gcc' : $BASE/rtems/5/bin/sparc-rtems5-gcc
- Checking for program 'ar' : $BASE/rtems/5/bin/sparc-rtems5-ar
- Checking for program 'gcc, cc' : $BASE/rtems/5/bin/sparc-rtems5-gcc
- Checking for program 'ar' : $BASE/rtems/5/bin/sparc-rtems5-ar
+ Checking for program 'sparc-rtems@rtems-ver-major@-gcc' : $BASE/quick-start/rtems/@rtems-ver-major@/bin/sparc-rtems@rtems-ver-major@-gcc
+ Checking for program 'sparc-rtems@rtems-ver-major@-g++' : $BASE/quick-start/rtems/@rtems-ver-major@/bin/sparc-rtems@rtems-ver-major@-g++
+ Checking for program 'sparc-rtems@rtems-ver-major@-ar' : $BASE/quick-start/rtems/@rtems-ver-major@/bin/sparc-rtems@rtems-ver-major@-ar
+ Checking for program 'sparc-rtems@rtems-ver-major@-ld' : $BASE/quick-start/rtems/@rtems-ver-major@/bin/sparc-rtems@rtems-ver-major@-ld
+ Checking for program 'ar' : $BASE/quick-start/rtems/@rtems-ver-major@/bin/sparc-rtems@rtems-ver-major@-ar
+ Checking for program 'g++, c++' : $BASE/quick-start/rtems/@rtems-ver-major@/bin/sparc-rtems@rtems-ver-major@-g++
+ Checking for program 'ar' : $BASE/quick-start/rtems/@rtems-ver-major@/bin/sparc-rtems@rtems-ver-major@-ar
+ Checking for program 'gas, gcc' : $BASE/quick-start/rtems/@rtems-ver-major@/bin/sparc-rtems@rtems-ver-major@-gcc
+ Checking for program 'ar' : $BASE/quick-start/rtems/@rtems-ver-major@/bin/sparc-rtems@rtems-ver-major@-ar
+ Checking for program 'gcc, cc' : $BASE/quick-start/rtems/@rtems-ver-major@/bin/sparc-rtems@rtems-ver-major@-gcc
+ Checking for program 'ar' : $BASE/quick-start/rtems/@rtems-ver-major@/bin/sparc-rtems@rtems-ver-major@-ar
+ Checking for asm flags '-MMD' : yes
Checking for c flags '-MMD' : yes
Checking for cxx flags '-MMD' : yes
- Checking for program 'rtems-bin2c' : $BASE/rtems/5/bin/rtems-bin2c
+ Checking for program 'rtems-bin2c' : $BASE/quick-start/rtems/@rtems-ver-major@/bin/rtems-bin2c
Checking for program 'gzip' : /usr/bin/gzip
- Checking for program 'pax' : /usr/bin/pax
- Checking for program 'rtems-ld' : $BASE/rtems/5/bin/rtems-ld
- Checking for program 'rtems-syms' : $BASE/rtems/5/bin/rtems-syms
- Checking for program 'xz' : /usr/bin/xz
- 'configure' finished successfully (11.069s)
+ Checking for program 'rtems-ld' : $BASE/quick-start/rtems/@rtems-ver-major@/bin/rtems-ld
+ Checking for program 'rtems-syms' : $BASE/quick-start/rtems/@rtems-ver-major@/bin/rtems-syms
+ Checking for program 'xz' : $BASE/anaconda3/bin/xz
+ 'configure' finished successfully (0.414s)
-Building the BSP is the second step.
+Building the BSP is the third step.
.. code-block:: none
@@ -191,17 +184,17 @@ This command should output something like this (omitted lines are denoted by
.. code-block:: none
- Waf: Entering directory `$BASE/src/rtems/build'
- Waf: Leaving directory `$BASE/src/rtems/build'
- 'build' finished successfully (0.546s)
- Waf: Entering directory `$BASE/src/rtems/build/sparc/erc32'
- [ 1/3922] Compiling bsps/sparc/shared/start/start.S
- [ 2/3922] Compiling bsps/shared/dev/serial/mc68681_reg4.c
- [ 3/3922] Compiling bsps/shared/dev/rtc/icm7170.c
- ...
- [4038/4038] Linking build/sparc/erc32/testsuites/tmtests/tmoverhd.exe
- Waf: Leaving directory `$BASE/src/rtems/build/sparc/erc32'
- 'build_sparc/erc32' finished successfully (58.678s)
+ Waf: Entering directory `$BASE/quick-start/src/rtems/build'
+ Waf: Leaving directory `$BASE/quick-start/src/rtems/build'
+ 'build' finished successfully (0.085s)
+ Waf: Entering directory `$BASE/quick-start/src/rtems/build/sparc/erc32'
+ [ 1/4093] Compiling bsps/shared/dev/serial/mc68681_reg2.c
+ [ 2/4093] Compiling bsps/shared/dev/rtc/mc146818a_ioreg.c
+ [ 3/4093] Compiling bsps/shared/dev/flash/am29lv160.c
+ ...
+ [4093/4093] Processing link: build/sparc/erc32/testsuites/libtests/dl01/dl01-tar.o build/sparc/erc32/testsuites/libtests/dl01/init.o build/sparc/erc32/testsuites/libtests/dl01/dl-load.o build/sparc/erc32/testsuites/libtests/dl01/dl01-sym.o -> build/sparc/erc32/testsuites/libtests/dl01.exe
+ Waf: Leaving directory `$BASE/quick-start/src/rtems/build/sparc/erc32'
+ 'build_sparc/erc32' finished successfully (2m14.111s)
The last step is to install the BSP.
@@ -216,16 +209,16 @@ by ``$BASE``.
.. code-block:: none
- Waf: Entering directory `$BASE/src/rtems/build'
- Waf: Leaving directory `$BASE/src/rtems/build'
- 'install' finished successfully (0.544s)
- Waf: Entering directory `$BASE/src/rtems/build/sparc/erc32'
- + install $BASE/rtems/5/sparc-rtems5/erc32/lib/start.o (from build/sparc/erc32/start.o)
- + install $BASE/rtems/5/sparc-rtems5/erc32/lib/include/bspopts.h (from build/sparc/erc32/bsps/include/bspopts.h)
- + install $BASE/rtems/5/sparc-rtems5/erc32/lib/include/rtems/zilog/z8036.h (from bsps/include/rtems/zilog/z8036.h)
+ Waf: Entering directory `$BASE/quick-start/src/rtems/build'
+ Waf: Leaving directory `$BASE/quick-start/src/rtems/build'
+ 'install' finished successfully (0.081s)
+ Waf: Entering directory `$BASE/quick-start/src/rtems/build/sparc/erc32'
+ + install $BASE/quick-start/rtems/@rtems-ver-major@/sparc-rtems@rtems-ver-major@/erc32/lib/include/libchip/am29lv16.h (from bsps/include/libchip/am29lv1.h)
+ + install $BASE/quick-start/rtems/@rtems-ver-major@/sparc-rtems@rtems-ver-major@/erc32/lib/include/libchip/mc146818a.h (from bsps/include/libchip/mc146818a.h)
+ + install $BASE/quick-start/rtems/@rtems-ver-major@/sparc-rtems@rtems-ver-major@/erc32/lib/include/libchip/mc68681.h (from bsps/include/libchip/mc68681.h))
...
- + install $BASE/rtems/5/sparc-rtems5/erc32/lib/include/rtems/score/watchdogimpl.h (from cpukit/include/rtems/score/watchdogimpl.h)
- + install $BASE/rtems/5/sparc-rtems5/erc32/lib/include/rtems/score/watchdogticks.h (from cpukit/include/rtems/score/watchdogticks.h)
- + install $BASE/rtems/5/sparc-rtems5/erc32/lib/include/rtems/score/wkspace.h (from cpukit/include/rtems/score/wkspace.h)
- Waf: Leaving directory `$BASE/src/rtems/build/sparc/erc32'
- 'install_sparc/erc32' finished successfully (2.985s)
+ + install $BASE/quick-start/rtems/@rtems-ver-major@/sparc-rtems@rtems-ver-major@/erc32/lib/include/rtems/score/watchdogticks.h (from cpukit/include/rtems/score/watchdogticks.h)
+ + install $BASE/quick-start/rtems/@rtems-ver-major@/sparc-rtems@rtems-ver-major@/erc32/lib/include/rtems/score/wkspace.h (from cpukit/include/rtems/score/wkspace.h)
+ + install $BASE/quick-start/rtems/@rtems-ver-major@/sparc-rtems@rtems-ver-major@/erc32/lib/include/rtems/score/wkspacedata.h (from cpukit/include/rtems/score/wkspacedata.h)
+ Waf: Leaving directory `$BASE/quick-start/src/rtems/build/sparc/erc32'
+ 'install_sparc/erc32' finished successfully (1.834s))