From 3da1e2e24fb713e87984bc18d7c1c4c44a97fa47 Mon Sep 17 00:00:00 2001 From: Nathaniel Graff Date: Fri, 8 Mar 2019 10:24:33 -0800 Subject: Support Debug/Release configurations - Puts shared flags in scripts/standalone and adds "build configurations" for debug and release which customize the build flags for specific purposes. - Documents CONFIGURATION in Sphinx docs and makefile help Signed-off-by: Nathaniel Graff --- doc/sphinx/userguide/buildingcoreip.rst | 13 +++++++------ doc/sphinx/userguide/buildingdevboard.rst | 17 +++++++++-------- doc/sphinx/userguide/standalone.rst | 2 +- 3 files changed, 17 insertions(+), 15 deletions(-) (limited to 'doc') diff --git a/doc/sphinx/userguide/buildingcoreip.rst b/doc/sphinx/userguide/buildingcoreip.rst index 986ad68..7fd821e 100644 --- a/doc/sphinx/userguide/buildingcoreip.rst +++ b/doc/sphinx/userguide/buildingcoreip.rst @@ -8,17 +8,18 @@ To compile a bare-metal RISC-V program: .. code-block:: bash - make [PROGRAM=hello] [TARGET=coreip-e31-rtl] software + make [PROGRAM=hello] [TARGET=coreip-e31-rtl] [CONFIGURATION=debug] software The square brackets in the above command indicate optional parameters for the Make invocation. As you can see, the default values of these parameters tell -the build script to build the ``hello`` example for the ``coreip-e31`` target. -If, for example, you wished to build the ``timer-interrupt`` example for the S51 -Core IP target, you would instead run the command +the build script to build the ``hello`` example for the ``coreip-e31`` target +with the ``debug`` build configuration. If, for example, you wished to build +the ``timer-interrupt`` example for the S51 Core IP target with the ``release`` +configuration, you would instead run the command .. code-block:: bash - make PROGRAM=timer-interrupt TARGET=coreip-s51-rtl software + make PROGRAM=timer-interrupt TARGET=coreip-s51-rtl CONFIGURATION=release software Cleaning a Target Program Build Directory ----------------------------------------- @@ -27,5 +28,5 @@ The ``clean`` target can be used to restore a target program's directory to a cl .. code-block:: bash - make [PROGRAM=hello] [TARGET=coreip-e31-rtl] clean + make [PROGRAM=hello] [TARGET=coreip-e31-rtl] [CONFIGURATION=debug] clean diff --git a/doc/sphinx/userguide/buildingdevboard.rst b/doc/sphinx/userguide/buildingdevboard.rst index a5d364d..d972b3a 100644 --- a/doc/sphinx/userguide/buildingdevboard.rst +++ b/doc/sphinx/userguide/buildingdevboard.rst @@ -8,17 +8,18 @@ To compile a bare-metal RISC-V program: .. code-block:: bash - make [PROGRAM=hello] [TARGET=sifive-hifive1] software + make [PROGRAM=hello] [TARGET=sifive-hifive1] [CONFIGURATION=debug] software The square brackets in the above command indicate optional parameters for the Make invocation. As you can see, the default values of these parameters tell -the build script to build the ``hello`` example for the ``sifive-hifive1`` target. -If, for example, you wished to build the ``timer-interrupt`` example for the S51 -Arty FPGA Evaluation target, you would instead run the command +the build script to build the ``hello`` example for the ``sifive-hifive1`` target +using the ``debug`` build configuration. If, for example, you wished to build +the ``timer-interrupt`` example for the S51 Arty FPGA Evaluation target using +the ``release`` build configuration, you would instead run the command .. code-block:: bash - make PROGRAM=timer-interrupt TARGET=coreip-s51-arty software + make PROGRAM=timer-interrupt TARGET=coreip-s51-arty CONFIGURATION=release software Uploading to the Target Board ----------------------------- @@ -32,7 +33,7 @@ the development board into your computer and running the following command: .. code-block:: bash - make [PROGRAM=hello] [TARGET=sifive-hifive1] upload + make [PROGRAM=hello] [TARGET=sifive-hifive1] [CONFIGURATION=debug] upload Debugging a Target Program -------------------------- @@ -49,7 +50,7 @@ the development board into your computer and running the following command: .. code-block:: bash - make [PROGRAM=hello] [TARGET=sifive-hifive1] debug + make [PROGRAM=hello] [TARGET=sifive-hifive1] [CONFIGURATION=debug] debug Cleaning a Target Program Build Directory ----------------------------------------- @@ -58,5 +59,5 @@ The ``clean`` target can be used to restore a target program's directory to a cl .. code-block:: bash - make [PROGRAM=hello] [TARGET=sifive-hifive1] clean + make [PROGRAM=hello] [TARGET=sifive-hifive1] [CONFIGURATION=debug] clean diff --git a/doc/sphinx/userguide/standalone.rst b/doc/sphinx/userguide/standalone.rst index ee31362..0703ddb 100644 --- a/doc/sphinx/userguide/standalone.rst +++ b/doc/sphinx/userguide/standalone.rst @@ -15,5 +15,5 @@ be included in the generated project as a pre-built archive. .. code-block:: bash - make [PROGRAM=hello] [TARGET=sifive-hifive1] [INCLUDE_METAL_SOURCES=1] STANDALONE_DEST=/path/to/desired/location standalone + make [PROGRAM=hello] [TARGET=sifive-hifive1] [CONFIGURATION=debug] [INCLUDE_METAL_SOURCES=1] STANDALONE_DEST=/path/to/desired/location standalone -- cgit v1.2.1-18-gbd029