blob: df624f0a440ee58c8bd1ebb5564b686c4e61f3eb [file] [log] [blame]
Galanakis, Minos41f85972019-09-30 15:56:40 +01001#####################
2Software requirements
3#####################
Gyorgy Szingdb9783c2019-04-17 21:08:48 +02004
Antonio de Angelis065ce4a2019-06-04 14:02:33 +01005.. |KEIL_VERSION| replace:: v5.25.2
Minos Galanakis3b740a12020-10-15 11:10:26 +01006.. |DEV_STUDIO_VERSION| replace:: 2019.1
Antonio de Angelis065ce4a2019-06-04 14:02:33 +01007
Galanakis, Minos757139a2019-11-11 15:00:11 +00008A quick reference table is included in the
Minos Galanakise4094012020-06-12 14:25:34 +01009:ref:`docs/getting_started/tfm_sw_requirement:Tool & Dependency overview` section
Galanakis, Minos757139a2019-11-11 15:00:11 +000010of this document.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020011
12****************************
13Supported build environments
14****************************
15
16TF-M officially supports a limited set of build environments and setups. In
17this context, official support means that the environments listed below
18are actively used by team members and active developers hence users should
19be able to recreate the same configurations by following the instructions
20described below. In case of problems, the TF-M team provides support
21only for these environments, but building in other environments can still be
22possible.
23
24The following environments are supported:
Kevin Townsend0f869bb2019-08-01 21:06:48 +020025
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020026 - Ubuntu 16.04 x64
27 - Ubuntu 18.04 x64
Anton Komlevc4cadb02020-11-02 12:54:29 +000028 - Windows 10 x64
Mingyang Sun1e590642019-09-24 10:46:21 +080029
Anton Komlevc4cadb02020-11-02 12:54:29 +000030***********
31C compilers
32***********
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020033
34To compile TF-M code, at least one of the supported compiler toolchains have to
35be available in the build environment. The currently supported compiler
36versions are:
Antonio de Angelis065ce4a2019-06-04 14:02:33 +010037
Anton Komlevc4cadb02020-11-02 12:54:29 +000038 - Arm Compiler v6.10.1+, v6.11, v6.12, v6.13
39 - GNU Arm compiler v6.3.1, v7.3
40 - IAR Arm compiler v8.42.x, v8.50.x
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020041
42.. Note::
Antonio de Angelis065ce4a2019-06-04 14:02:33 +010043 - The Arm compilers above are provided via Keil uVision |KEIL_VERSION|
Minos Galanakis3b740a12020-10-15 11:10:26 +010044 or greater and Arm Development Studio
Antonio de Angelis065ce4a2019-06-04 14:02:33 +010045 |DEV_STUDIO_VERSION| or greater, or they can be downloaded as standalone
46 packages from
47 `here <https://developer.arm.com/products/software-development-tools/compilers/arm-compiler/downloads/version-6>`__.
48
Antonio de Angelis065ce4a2019-06-04 14:02:33 +010049 - The GNU Arm compiler can be downloaded from
50 `here <https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads>`__.
51 On the page select *GNU Arm Embedded Toolchain: 6-2017-q1-update*
52 or *GNU Arm Embedded Toolchain: 7-2018-q2-update*
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020053
TTornblom8a8b4522020-06-10 11:13:32 +020054 - The IAR Arm compilers above are provided via IAR Embedded Workbench (Windows) or
55 IAR build tools for linux.
56 For information, see
57 `here <https://www.iar.com/iar-embedded-workbench/#!?architecture=Arm>`__ or
58 `here <https://www.iar.com/iar-embedded-workbench/build-tools-for-linux/>`__.
59
Anton Komlevc4cadb02020-11-02 12:54:29 +000060*****
61CMake
62*****
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020063
Anton Komlevc4cadb02020-11-02 12:54:29 +000064The build-system is CMake based and supports the versions 3.13 or higher.
65Please check `Exceptions and special cases`_ section if you need a higher
66version of CMake.
Antonio de Angelis065ce4a2019-06-04 14:02:33 +010067
Anton Komlevc4cadb02020-11-02 12:54:29 +000068 - Please use the latest build version available.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020069 - Recent versions of CMake can be downloaded from
70 https://cmake.org/download/, and older releases are available from
71 https://cmake.org/files.
72
Anton Komlevc4cadb02020-11-02 12:54:29 +000073CMake handles all external dependencies, but if you wish to alter this
Anton Komlevb8e3af02020-08-28 10:23:57 +010074behaviour, see :ref:`docs/getting_started/tfm_build_instruction:Manual
75dependency management`
Minos Galanakisac6b06c2020-03-19 12:57:02 +000076
Anton Komlevc4cadb02020-11-02 12:54:29 +000077********
78GNU make
79********
80
81TF-M project builds using the "Unix Makefiles" generator of CMake
82and thus GNU make is needed for the build.
83
84 - On Linux please use the version available in your distribution.
85 - On Windows, GNU make v3.81 or higher shall work fine.
86
87CMake generators other than "Unix Makefiles" may work too, but are not
88officially supported. You may have a good luck with Ninja.
89
Ludovic Barre8a77bdd2020-03-26 19:53:07 +010090********************************************
91Tools for configuring and programming boards
92********************************************
93
Anton Komlevc4cadb02020-11-02 12:54:29 +000094Please follow a board secific documentation for building and programming
95tools.
Ludovic Barre8a77bdd2020-03-26 19:53:07 +010096
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020097**************
Anton Komlevc4cadb02020-11-02 12:54:29 +000098Typical setups
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020099**************
100
Anton Komlevc4cadb02020-11-02 12:54:29 +0000101This section lists steps to set-up TF-M build environment under Linux and Windows.
102Please also check the `Exceptions and special cases`_ chapter for any special
103requirements depending on the tools you are using.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200104
Anton Komlevc4cadb02020-11-02 12:54:29 +0000105Ubuntu
106======
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200107
David Vincze4a6555e2019-11-06 09:32:13 +0100108Install the following tools:
109
Minos Galanakis3b740a12020-10-15 11:10:26 +0100110 - Arm DS |DEV_STUDIO_VERSION|.
Anton Komlevc4cadb02020-11-02 12:54:29 +0000111 - Git tools v2.10.0
112 - CMake (see the `CMake`_ chapter)
113 - GNU Make (see the `GNU make`_ chapter)
114 - SRecord v1.58 (for Musca test chip boards)
115 - Python3 and the pip package manager (from Python 3.4 it's included)
116 - The necessary Python3 packages are listed in the requirements.txt file.
117 To install all needed just do:
David Vincze4a6555e2019-11-06 09:32:13 +0100118
Anton Komlevc4cadb02020-11-02 12:54:29 +0000119.. code-block:: bash
David Vincze4a6555e2019-11-06 09:32:13 +0100120
Anton Komlevc4cadb02020-11-02 12:54:29 +0000121 pip install -r tools/requirements.txt
David Vincze4a6555e2019-11-06 09:32:13 +0100122
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200123
Anton Komlevc4cadb02020-11-02 12:54:29 +0000124Setup environment variables in Linux
125------------------------------------
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200126
Minos Galanakis3b740a12020-10-15 11:10:26 +0100127To import Arm Compiler v6.13 in your bash shell console:
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200128
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200129.. code-block:: bash
130
Minos Galanakis3b740a12020-10-15 11:10:26 +0100131 export PATH=<ARM_DS_PATH>/sw/ARMCompiler6.13/bin:$PATH
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100132 export ARM_TOOL_VARIANT=ult
Minos Galanakis3b740a12020-10-15 11:10:26 +0100133 export ARM_PRODUCT_PATH=<ARM_DS_PATH>/sw/mappings
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100134 export ARMLMD_LICENSE_FILE=<LICENSE_FILE_PATH>
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200135
136To import CMake in your bash shell console:
137
138.. code-block:: bash
139
TTornblom8a8b4522020-06-10 11:13:32 +0200140 export PATH=<CMake path>/bin:$PATH
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200141
142To import GNU Arm in your bash shell console:
143
144.. code-block:: bash
145
TTornblom8a8b4522020-06-10 11:13:32 +0200146 export PATH=<bash path>/bin:$PATH
147
Anton Komlevc4cadb02020-11-02 12:54:29 +0000148To import IAR Arm compiler in your bash shell console:
TTornblom8a8b4522020-06-10 11:13:32 +0200149
150.. code-block:: bash
151
152 export PATH=<IAR compiler path>/bin:$PATH
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200153
Anton Komlevc4cadb02020-11-02 12:54:29 +0000154Windows
155=======
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200156
David Vincze4a6555e2019-11-06 09:32:13 +0100157Install the following tools:
158
Minos Galanakis3b740a12020-10-15 11:10:26 +0100159 - uVision |KEIL_VERSION| or Arm DS |DEV_STUDIO_VERSION| (Arm DS Ultimate Edition)
Anton Komlevc4cadb02020-11-02 12:54:29 +0000160 or GNU Arm compiler v6.3.1.
161 - Git client latest version (https://git-scm.com/download/win)
162 - CMake (`native Windows version <https://cmake.org/download/>`__,
163 see the `CMake`_ chapter)
164 - GNU make
165 - `SRecord v1.63 <https://sourceforge.net/projects/srecord/>`__ (for Musca test
166 chip boards)
167 - Python3 `(native Windows version) <https://www.python.org/downloads/>`__ and
168 the pip package manager (from Python 3.4 it's included)
169 - The necessary Python3 packages are listed in the requirements.txt file.
170 To install all needed just do:
Anton Komlev211aacf2020-11-02 12:48:11 +0000171
Anton Komlevb759e672020-11-02 12:15:44 +0000172.. code-block:: bash
173
Anton Komlevc4cadb02020-11-02 12:54:29 +0000174 pip install -r tools\requirements.txt
175
176Setup environment variables in Windows
177--------------------------------------
178
179Add CMake to your PATH variable:
180
181.. code-block:: bash
182
183 set PATH=<CMake_Path>\bin;$PATH
184
185There are several configurations depending on a toolset you are using.
186The typical cases are listed below.
187
Minos Galanakis3b740a12020-10-15 11:10:26 +0100188Armclang + Arm DS
189^^^^^^^^^^^^^^^^^
Anton Komlevc4cadb02020-11-02 12:54:29 +0000190.. code-block:: bash
191
Minos Galanakis3b740a12020-10-15 11:10:26 +0100192 set PATH=<ARM_DS_PATH>\sw\ARMCompiler6.13\bin;$PATH
193 set ARM_PRODUCT_PATH=<ARM_DS_PATH>\sw\mappings
Anton Komlevc4cadb02020-11-02 12:54:29 +0000194 set ARM_TOOL_VARIANT=ult
195 set ARMLMD_LICENSE_FILE=<LICENSE_FILE_PATH>
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200196
197Armclang + Keil MDK Arm
198^^^^^^^^^^^^^^^^^^^^^^^
199
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200200.. code-block:: bash
201
Anton Komlevc4cadb02020-11-02 12:54:29 +0000202 set PATH=<uVision path>\ARM\ARMCLANG\bin;$PATH
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200203
204GNU Arm
205^^^^^^^
206
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200207.. code-block:: bash
208
Anton Komlevc4cadb02020-11-02 12:54:29 +0000209 set PATH=<GNU Arm path>\bin;$PATH
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200210
Anton Komlevc4cadb02020-11-02 12:54:29 +0000211**************************
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200212Building the documentation
Anton Komlevc4cadb02020-11-02 12:54:29 +0000213**************************
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200214
Anton Komlevc4cadb02020-11-02 12:54:29 +0000215The build system is prepared to support generation of two documents:
216The Reference Manual and the User Guide.
217The Reference Manual is Doxygen based, while the User Guide is
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200218Sphinx based. Both document can be generated in HTML and PDF format.
219
Anton Komlevc4cadb02020-11-02 12:54:29 +0000220Support for document generation in the build environment is not mandatory.
221Missing document generation tools will not block building the TF-M firmware.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200222
223To compile the TF-M Reference Manual
Anton Komlevc4cadb02020-11-02 12:54:29 +0000224====================================
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200225
226The following additional tools are needed:
227
228 - Doxygen v1.8.0 or later
229 - Graphviz dot v2.38.0 or later
230 - PlantUML v1.2018.11 or later
231 - Java runtime environment 1.8 or later (for running PlantUML)
Anton Komlevc4cadb02020-11-02 12:54:29 +0000232 - LaTeX - for PDF generation only
233 - PdfLaTeX - for PDF generation only
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200234
Anton Komlevc4cadb02020-11-02 12:54:29 +0000235Set-up the needed tools and environment in Linux
236------------------------------------------------
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200237
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200238.. code-block:: bash
239
240 sudo apt-get install -y doxygen graphviz default-jre
241 mkdir ~/plantuml
242 curl -L http://sourceforge.net/projects/plantuml/files/plantuml.jar/download --output ~/plantuml/plantuml.jar
Anton Komlevc4cadb02020-11-02 12:54:29 +0000243 export PLANTUML_JAR_PATH=~/plantuml/plantuml.jar
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200244
245For PDF generation:
246
247.. code-block:: bash
248
249 sudo apt-get install -y doxygen-latex
250
Anton Komlevc4cadb02020-11-02 12:54:29 +0000251Set-up the needed tools and environment in Windows
252--------------------------------------------------
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200253
254Download and install the following tools:
Anton Komlevc4cadb02020-11-02 12:54:29 +0000255
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200256 - `Doxygen
257 1.8.8 <https://sourceforge.net/projects/doxygen/files/snapshots/doxygen-1.8-svn/windows/doxygenw20140924_1_8_8.zip/download>`__
258 - `Graphviz
259 2.38 <https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi>`__
Minos Galanakis3b740a12020-10-15 11:10:26 +0100260 - The Java runtime is part of the Arm DS installation or can be
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200261 `downloaded from here <https://www.java.com/en/download/>`__
262 - `PlantUML <http://sourceforge.net/projects/plantuml/files/plantuml.jar/download>`__
Anton Komlevc4cadb02020-11-02 12:54:29 +0000263 - `MikTeX <https://miktex.org/download>`__ - for PDF generation only
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200264
Anton Komlevc4cadb02020-11-02 12:54:29 +0000265Set the environment variables, assuming that:
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200266
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200267 - doxygen, dot, and MikTeX binaries are available on the PATH.
Minos Galanakis3b740a12020-10-15 11:10:26 +0100268 - Java JVM is used from Arm DS installation.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200269
270::
271
Anton Komlevc4cadb02020-11-02 12:54:29 +0000272 set PLANTUML_JAR_PATH=<plantuml_Path>\plantuml.jar
Minos Galanakis3b740a12020-10-15 11:10:26 +0100273 set PATH=$PATH;<ARM_DS_PATH>\sw\java\bin
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200274
275To compile the TF-M User Guide
Anton Komlevc4cadb02020-11-02 12:54:29 +0000276==============================
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200277
278The following additional tools are needed:
279
280 - Python3 and the following modules:
281 - Sphinx v1.7.9
282 - m2r v0.2.0
283 - sphinxcontrib-plantuml
284 - sphinx-rtd-theme
285 - Graphviz dot v2.38.0 or later
286 - PlantUML v1.2018.11 or later
287 - Java runtime environment 1.8 or later (for running PlantUML)
Anton Komlevc4cadb02020-11-02 12:54:29 +0000288 - LaTeX - for PDF generation only
289 - PdfLaTeX - for PDF generation only
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200290
Anton Komlevc4cadb02020-11-02 12:54:29 +0000291Set-up the tools and environment in Linux
292-----------------------------------------
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200293
294.. code-block:: bash
295
296 sudo apt-get install -y python3 graphviz default-jre
Anton Komlevc4cadb02020-11-02 12:54:29 +0000297 pip install -r tools/requirements.txt
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200298 mkdir ~/plantuml
299 curl -L http://sourceforge.net/projects/plantuml/files/plantuml.jar/download --output ~/plantuml/plantuml.jar
300
301For PDF generation:
302
303.. code-block:: bash
304
305 sudo apt-get install -y doxygen-latex
Anton Komlevc4cadb02020-11-02 12:54:29 +0000306 export PLANTUML_JAR_PATH=~/plantuml/plantuml.jar
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200307
Anton Komlevc4cadb02020-11-02 12:54:29 +0000308Set-up the tools and environment in Windows
309-------------------------------------------
310
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200311Download and install the following tools:
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100312
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200313 - `Graphviz 2.38 <https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi>`__
Minos Galanakis3b740a12020-10-15 11:10:26 +0100314 - The Java runtime is part of the Arm DS installation or can be `downloaded from here <https://www.java.com/en/download/>`__
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200315 - `PlantUML <http://sourceforge.net/projects/plantuml/files/plantuml.jar/download>`__
Anton Komlevc4cadb02020-11-02 12:54:29 +0000316 - `MikTeX <https://miktex.org/download>`__ - for PDF generation only
317 - Python3 `(native Windows version) <https://www.python.org/downloads/>`__
318 - The necessary Python3 packages are listed in the requirements.txt file.
319 To install all needed packages just do:
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200320
Anton Komlevc4cadb02020-11-02 12:54:29 +0000321.. code-block:: bash
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200322
Anton Komlevc4cadb02020-11-02 12:54:29 +0000323 pip install -r tools\requirements.txt
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200324
325.. Note::
326 When building the documentation the first time, MikTeX might
327 prompt for installing missing LaTeX components. Please allow the MikTeX
328 package manager to set-up these.
329
Anton Komlevc4cadb02020-11-02 12:54:29 +0000330Set the environment variables, assuming that:
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200331
332 - plantuml.jar is available at c:\\plantuml\\plantuml.jar
333 - doxygen, dot, and MikTeX binaries are available on the PATH.
334 - Java JVM is used from DS5 installation.
335
336.. code-block:: bash
337
Anton Komlevc4cadb02020-11-02 12:54:29 +0000338 set PLANTUML_JAR_PATH=<plantuml_Path>\plantuml.jar
Minos Galanakis3b740a12020-10-15 11:10:26 +0100339 set PATH=$PATH;<ARM_DS_PATH>\sw\java\bin
Anton Komlevc4cadb02020-11-02 12:54:29 +0000340
341****************************
342Exceptions and special cases
343****************************
344
345ArmClang
346========
347 - Arm compiler specific environment variable may need updating based on
348 specific products and licenses as explained in
349 `product-and-toolkit-configuration <https://developer.arm.com/products/software-development-tools/license-management/resources/product-and-toolkit-configuration>`__.
350
351 - ARMClang requires CMake version 3.15 or higher
352
353IAR toolchain
354=============
355 - IAR requires CMake version 3.14 or higher.
356
357MikTeX
358======
359 - When building the documentation the first time, MikTeX might prompt for
360 installing missing LaTeX components. Please allow the MikTeX package
361 manager to set-up these.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200362
Galanakis, Minos757139a2019-11-11 15:00:11 +0000363**************************
364Tool & Dependency overview
365**************************
366
367To build the TF-M firmware the following tools are needed:
368
369.. csv-table:: Tool dependencies
370 :header: "Name", "Version", "Component"
371
Anton Komlevc4cadb02020-11-02 12:54:29 +0000372 "C compiler",See `C compilers`_,"Firmware"
373 "CMake",See `CMake`_,
374 "GNU Make",See `GNU make`_,
375 "tf-m-tests",`CMake`_ handles it,
376 "mbed-crypto",`CMake`_ handles it,
377 "MCUboot",`CMake`_ handles it,
Galanakis, Minos757139a2019-11-11 15:00:11 +0000378 "Python",3.x,"Firmware, User Guide"
379 "yaml",,"Firmware"
380 "pyasn1",,"Firmware"
381 "jinja2",,"Firmware"
382 "cryptography",,"Firmware"
383 "cbor",,"Firmware"
Balint Matyi3bae8832020-06-22 15:34:12 +0200384 "click",,"Firmware"
Balint Matyid9abb492020-06-22 08:35:52 +0100385 "imgtool",,"Firmware"
Galanakis, Minos757139a2019-11-11 15:00:11 +0000386 "Doxygen",">1.8","Reference manual"
387 "Sphinx",">1.4","User Guide"
388 "sphinxcontrib-plantuml",,"User Guide"
389 "sphinx-trd-theme",,"User Guide"
390 "Git",,
391 "PlantUML",">v1.2018.11","Reference Manual, User Guide"
392 "Graphviz dot",">v2.38.0","Reference manual"
393 "Java runtime environment (JRE)",">1.8","Reference Manual, User Guide"
394 "LaTex",,"pdf version of Reference Manual and User Guide"
395 "PdfLaTex",,"pdf version of Reference Manual and User Guide"
396
397Dependency chain:
398
399.. uml::
400
401 @startuml
402 skinparam state {
403 BackgroundColor #92AEE0
404 FontColor black
405 FontSize 16
406 AttributeFontColor black
407 AttributeFontSize 16
408 BackgroundColor<<pdf>> #A293E2
409 BackgroundColor<<doc>> #90DED6
410 }
411 state fw as "Firmware" : TF-M binary
412 state c_comp as "C Compiler" : C99
413 state gmake as "GNU make"
414 state u_guide as "User Guide" <<doc>>
415 state refman as "Reference Manual" <<doc>>
416 state rtd_theme as "sphinx-rtd-theme" <<doc>>
417 state sphnix_puml as "sphinxcontrib-plantuml" <<doc>>
418 state JRE as "JRE" <<doc>> : Java Runtime Environment
419 state gwiz as "Graphwiz dot" <<doc>>
420 state Sphinx as "Sphinx" <<doc>>
421 state m2r as "m2r" <<doc>>
422 state PlantUML as "PlantUML" <<doc>>
423 state LaTex as "LaTex" <<pdf>>
424 state PdfLaTex as "PdfLaTex" <<<<pdf>>>>
425 state Doxygen as "Doxygen" <<doc>>
426
427 [*] --> fw
428 fw --> c_comp
429 fw --> CMake
430 CMake --> gmake
431 fw --> cryptography
432 fw --> pyasn1
433 fw --> yaml
434 fw --> jinja2
435 fw --> cbor
Balint Matyi3bae8832020-06-22 15:34:12 +0200436 fw --> click
Balint Matyid9abb492020-06-22 08:35:52 +0100437 fw --> imgtool
Galanakis, Minos757139a2019-11-11 15:00:11 +0000438 cryptography --> Python3
439 pyasn1 --> Python3
440 yaml --> Python3
441 jinja2 --> Python3
442 cbor --> Python3
Balint Matyi3bae8832020-06-22 15:34:12 +0200443 click --> Python3
Balint Matyid9abb492020-06-22 08:35:52 +0100444 imgtool --> Python3
Galanakis, Minos757139a2019-11-11 15:00:11 +0000445
446 [*] --> u_guide
447 u_guide --> Sphinx
448 Sphinx --> m2r
449 Sphinx --> rtd_theme
450 Sphinx --> sphnix_puml
451 m2r --> Python3
452 rtd_theme --> Python3
453 sphnix_puml --> Python3
454 Sphinx --> PlantUML
455 PlantUML --> JRE
456 PlantUML --> gwiz
457 Sphinx --> LaTex
458 LaTex --> PdfLaTex
459
460 [*] --> refman
461 refman --> Doxygen
462 Doxygen --> PlantUML
463 Doxygen --> LaTex
464 state Legend {
465 state x as "For PDF generation only" <<pdf>>
466 state y as "For document generation only" <<doc>>
467 state z as "Mandatory"
468 }
469
470 @enduml
471
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200472--------------
473
Ronald Cronc0c38fa2019-09-23 09:36:56 +0200474*Copyright (c) 2017-2020, Arm Limited. All rights reserved.*