blob: fdc2d334a16ab6cf80959aab7454b23051feb318 [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.. |DS5_VERSION| replace:: v5.29.1
6.. |KEIL_VERSION| replace:: v5.25.2
7.. |DEV_STUDIO_VERSION| replace:: 2018.0
8
Galanakis, Minos757139a2019-11-11 15:00:11 +00009A quick reference table is included in the
Minos Galanakise4094012020-06-12 14:25:34 +010010:ref:`docs/getting_started/tfm_sw_requirement:Tool & Dependency overview` section
Galanakis, Minos757139a2019-11-11 15:00:11 +000011of this document.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020012
13****************************
14Supported build environments
15****************************
16
17TF-M officially supports a limited set of build environments and setups. In
18this context, official support means that the environments listed below
19are actively used by team members and active developers hence users should
20be able to recreate the same configurations by following the instructions
21described below. In case of problems, the TF-M team provides support
22only for these environments, but building in other environments can still be
23possible.
24
25The following environments are supported:
Kevin Townsend0f869bb2019-08-01 21:06:48 +020026
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020027 - Ubuntu 16.04 x64
28 - Ubuntu 18.04 x64
Mingyang Sun1e590642019-09-24 10:46:21 +080029 - Windows 10 x64 + git-bash (MinGW) + gnumake from DS-5 or msys2.
30 - Windows 10 x64 + Cygwin x64 (example configuration is provided for
31 this Windows setup only).
32
33.. note::
34 Some tools (i.e. python3 and CMake) must NOT be installed from
35 Cygwin and instead a native windows version is needed. Please see the
36 chapter `Windows + Cygwin setup`_ below.
TTornblom8a8b4522020-06-10 11:13:32 +020037 IAR requires Ubuntu 18.04 or later.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020038
39*********************
40Supported C compilers
41*********************
42
43To compile TF-M code, at least one of the supported compiler toolchains have to
44be available in the build environment. The currently supported compiler
45versions are:
Antonio de Angelis065ce4a2019-06-04 14:02:33 +010046
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020047 - Arm Compiler v6.10
48 - Arm Compiler v6.11
Gary Morrison81fb08c2019-05-30 10:14:35 -050049 - Arm Compiler v6.12
Ronald Cronc0c38fa2019-09-23 09:36:56 +020050 - Arm Compiler v6.13
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020051 - GNU Arm compiler v6.3.1
52 - GNU Arm compiler v7.3
TTornblom8a8b4522020-06-10 11:13:32 +020053 - IAR Arm compiler v8.42.x
54 - IAR Arm compiler v8.50.x
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020055
56.. Note::
Antonio de Angelis065ce4a2019-06-04 14:02:33 +010057 - The Arm compilers above are provided via Keil uVision |KEIL_VERSION|
58 or greater, DS-5 |DS5_VERSION| or greater, and Development Studio
59 |DEV_STUDIO_VERSION| or greater, or they can be downloaded as standalone
60 packages from
61 `here <https://developer.arm.com/products/software-development-tools/compilers/arm-compiler/downloads/version-6>`__.
62
63 - Arm compiler specific environment variable may need updating based
64 on specific products and licenses as explained in
65 `product-and-toolkit-configuration <https://developer.arm.com/products/software-development-tools/license-management/resources/product-and-toolkit-configuration>`__.
66
67 - The GNU Arm compiler can be downloaded from
68 `here <https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads>`__.
69 On the page select *GNU Arm Embedded Toolchain: 6-2017-q1-update*
70 or *GNU Arm Embedded Toolchain: 7-2018-q2-update*
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020071
TTornblom8a8b4522020-06-10 11:13:32 +020072 - The IAR Arm compilers above are provided via IAR Embedded Workbench (Windows) or
73 IAR build tools for linux.
74 For information, see
75 `here <https://www.iar.com/iar-embedded-workbench/#!?architecture=Arm>`__ or
76 `here <https://www.iar.com/iar-embedded-workbench/build-tools-for-linux/>`__.
77
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020078************************
79Supported CMake versions
80************************
81
82The build-system is CMake based and supports the following versions:
Antonio de Angelis065ce4a2019-06-04 14:02:33 +010083
84 - 3.7
85 - 3.10
86 - 3.11
87 - 3.12
88 - 3.13
89 - 3.14
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020090
91.. Note::
92 - Please use the latest build version available (i.e. 3.7.2 instead of
93 3.7.0).
94 While it is preferable to use the newest version this is not required
95 and any version from the above list should work.
96 - Recent versions of CMake can be downloaded from
97 https://cmake.org/download/, and older releases are available from
98 https://cmake.org/files.
Mingyang Sun1e590642019-09-24 10:46:21 +080099 - For Cygwin users, please use a native windows CMake version
100 instead of the version installed with Cygwin.
TTornblom8a8b4522020-06-10 11:13:32 +0200101 - IAR requires version 3.14 or later.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200102
103***************************
104Supported GNU make versions
105***************************
106
107The TF-M team builds using the "Unix Makefiles" generator of CMake and
108thus GNU make is needed for the build. On Linux please use the version
109available from the official repository of your distribution.
110
111On Windows the following binaries are supported:
Kevin Townsend0f869bb2019-08-01 21:06:48 +0200112
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200113 - GNU make v4.2.1 executable from Cygwin
114 - GNU make v4.2.1 executable from msys2
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100115 - GNU make v4.2 executable from DS5 |DS5_VERSION| (see <DS5 directory>/bin)
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200116
TTornblom8a8b4522020-06-10 11:13:32 +0200117CMake is quite tolerant to GNU make versions and basically any
118"reasonably recent" GNU make version should work.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200119
120CMake generators other than "Unix Makefiles" may work, but are not
121officially supported.
122
Minos Galanakisac6b06c2020-03-19 12:57:02 +0000123*********************
124External dependencies
125*********************
126
Anton Komlevb8e3af02020-08-28 10:23:57 +0100127Dependency management is now handled by cmake. If you wish to alter this
128behaviour, see :ref:`docs/getting_started/tfm_build_instruction:Manual
129dependency management`
Minos Galanakisac6b06c2020-03-19 12:57:02 +0000130
Ludovic Barre8a77bdd2020-03-26 19:53:07 +0100131********************************************
132Tools for configuring and programming boards
133********************************************
134
Kevin Peng6710c822020-05-21 16:52:14 +0800135For stm32l5xx boards, `STM32_Programmer_CLI <https://www.st.com/en/development-tools/stm32cubeprog.html>`__
Ludovic Barre8a77bdd2020-03-26 19:53:07 +0100136is used to configure security protections and to write the code in internal flash.
137A version is available for Linux and Windows host machine.
138
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200139**************
140Example setups
141**************
142
143This section lists dependencies and some exact and tested steps to set-up a
144TF-M-m build environment under various OSes.
145
Mingyang Sun1e590642019-09-24 10:46:21 +0800146Ubuntu setup
147============
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200148
David Vincze4a6555e2019-11-06 09:32:13 +0100149Install the following tools:
150
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100151- DS-5 |DS5_VERSION|.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200152- Git tools v2.10.0
153- CMake (see the "Supported CMake versions" chapter)
154- GNU Make (see the "Supported make versions" chapter)
David Vincze4a6555e2019-11-06 09:32:13 +0100155- Python3 and the pip package manager (from Python 3.4 it's included)
Balint Matyid9abb492020-06-22 08:35:52 +0100156- Python3 packages: *cryptography, pyasn1, yaml, jinja2 v2.10, cbor v1.0.0, click, imgtool v1.6.0*
David Vincze4a6555e2019-11-06 09:32:13 +0100157
158 .. code-block:: bash
159
Balint Matyid9abb492020-06-22 08:35:52 +0100160 pip3 install --user cryptography pyasn1 pyyaml jinja2 cbor click imgtool
David Vincze4a6555e2019-11-06 09:32:13 +0100161
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200162- SRecord v1.58 (for Musca test chip boards)
163
164Setup a shell to enable compiler toolchain and CMake after installation.
165------------------------------------------------------------------------
166
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100167To import Arm Compiler v6.10 in your bash shell console:
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200168
169.. Warning::
170 Arm compiler specific environment variable may need updating based on
171 specific products and licenses as explained in
172 `product-and-toolkit-configuration <https://developer.arm.com/products/software-development-tools/license-management/resources/product-and-toolkit-configuration>`__.
173
174.. code-block:: bash
175
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100176 export PATH=<DS-5_PATH>/sw/ARMCompiler6.10/bin:$PATH
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100177 export ARM_TOOL_VARIANT=ult
178 export ARM_PRODUCT_PATH=<DS-5_PATH>/sw/mappings
179 export ARMLMD_LICENSE_FILE=<LICENSE_FILE_PATH>
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200180
181To import CMake in your bash shell console:
182
183.. code-block:: bash
184
TTornblom8a8b4522020-06-10 11:13:32 +0200185 export PATH=<CMake path>/bin:$PATH
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200186
187To import GNU Arm in your bash shell console:
188
189.. code-block:: bash
190
TTornblom8a8b4522020-06-10 11:13:32 +0200191 export PATH=<bash path>/bin:$PATH
192
193 To import IAR Arm compiler in your bash shell console:
194
195.. code-block:: bash
196
197 export PATH=<IAR compiler path>/bin:$PATH
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200198
Mingyang Sun1e590642019-09-24 10:46:21 +0800199Windows + Cygwin setup
200======================
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200201
David Vincze4a6555e2019-11-06 09:32:13 +0100202Install the following tools:
203
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100204- uVision |KEIL_VERSION| or DS-5 |DS5_VERSION| (DS-5 Ultimate Edition) which
205 provides the Arm Compiler v6.10 compiler or GNU Arm compiler v6.3.1.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200206- Git client latest version (https://git-scm.com/download/win)
Mingyang Sun1e590642019-09-24 10:46:21 +0800207- CMake (`native Windows version <https://cmake.org/download/>`__,
208 see the `Supported CMake versions`_ chapter)
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200209- `Cygwin <https://www.cygwin.com/>`__. Tests done with version 2.877
210 (64 bits)
211- GNU make should be installed by selecting appropriate package during
212 cygwin
213 installation.
David Vincze4a6555e2019-11-06 09:32:13 +0100214- Python3 `(native Windows version) <https://www.python.org/downloads/>`__ and
215 the pip package manager (from Python 3.4 it's included)
Balint Matyid9abb492020-06-22 08:35:52 +0100216- Python3 packages: *cryptography, pyasn1, yaml, jinja2 v2.10, cbor v1.0.0, click imgtool v1.6.0*
David Vincze4a6555e2019-11-06 09:32:13 +0100217
218 .. code-block:: bash
219
Balint Matyid9abb492020-06-22 08:35:52 +0100220 pip3 install --user cryptography pyasn1 pyyaml jinja2 cbor click imgtool
David Vincze4a6555e2019-11-06 09:32:13 +0100221
Jamie Foxb8a92702019-06-05 17:19:31 +0100222- `SRecord v1.63 <https://sourceforge.net/projects/srecord/>`__ (for Musca test
223 chip boards)
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200224
225Setup Cygwin to enable a compiler toolchain and CMake after installation.
226-------------------------------------------------------------------------
227
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100228If applicable, import Arm Compiler v6.10 in your shell console. To make this
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200229change permanent, add the command line into ~/.bashrc
230
231Armclang + DS-5
232^^^^^^^^^^^^^^^
233.. Note::
234
235 - Arm compiler specific environment variable may need updating based on
236 specific products and licenses as explained in
237 `product-and-toolkit-configuration <https://developer.arm.com/products/software-development-tools/license-management/resources/product-and-toolkit-configuration>`__.
238 - Arm licensing related environment variables must use Windows paths, and not
239 the Cygwin specific one relative to */cygrive*.
240
241.. code-block:: bash
242
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100243 export PATH=/cygdrive/c/<DS-5_PATH>/sw/ARMCompiler6.10/bin:$PATH
244 export ARM_PRODUCT_PATH=C:/<DS-5_PATH>/sw/mappings
245 export ARM_TOOL_VARIANT=ult
246 export ARMLMD_LICENSE_FILE=<LICENSE_FILE_PATH>
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200247
248Armclang + Keil MDK Arm
249^^^^^^^^^^^^^^^^^^^^^^^
250
251.. Note::
252
253 - Arm compiler specific environment variable may need updating based
254 on specific products and licenses as explained in
255 `product-and-toolkit-configuration <https://developer.arm.com/products/software-development-tools/license-management/resources/product-and-toolkit-configuration>`__.
256
257.. code-block:: bash
258
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100259 export PATH=/cygdrive/c/<uVision path>/ARM/ARMCLANG/bin:$PATH
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200260
261GNU Arm
262^^^^^^^
263
264If applicable, import GNU Arm compiler v6.3.1 in your shell console. To make
265this change permanent, add the command line into ~/.bashrc
266
267.. code-block:: bash
268
269 export PATH=<GNU Arm path>/bin:$PATH
270
271CMake
272^^^^^
273
274To import CMake in your bash shell console:
275
276.. code-block:: bash
277
278 export PATH=/cygdrive/c/<CMake path>/bin:$PATH
279
280Building the documentation
281==========================
282
283The build system is prepared to support generation of two documents.
284The Reference Manual which is Doxygen based, and the User Guide which is
285Sphinx based. Both document can be generated in HTML and PDF format.
286
287.. Note::
288
289 Support for document generation in the build environment is not mandatory.
290 Missing document generation tools will not block building the TF-M
291 firmware.
292
293To compile the TF-M Reference Manual
294------------------------------------
295
296The following additional tools are needed:
297
298 - Doxygen v1.8.0 or later
299 - Graphviz dot v2.38.0 or later
300 - PlantUML v1.2018.11 or later
301 - Java runtime environment 1.8 or later (for running PlantUML)
302
303For PDF generation the following tools are needed in addition to the
304above list:
305
306 - LaTeX
307 - PdfLaTeX
308
309Set-up the needed tools
310^^^^^^^^^^^^^^^^^^^^^^^
311
312Linux
313"""""
314.. code-block:: bash
315
316 sudo apt-get install -y doxygen graphviz default-jre
317 mkdir ~/plantuml
318 curl -L http://sourceforge.net/projects/plantuml/files/plantuml.jar/download --output ~/plantuml/plantuml.jar
319
320For PDF generation:
321
322.. code-block:: bash
323
324 sudo apt-get install -y doxygen-latex
325
326Windows + Cygwin
327""""""""""""""""
328
329Download and install the following tools:
330 - `Doxygen
331 1.8.8 <https://sourceforge.net/projects/doxygen/files/snapshots/doxygen-1.8-svn/windows/doxygenw20140924_1_8_8.zip/download>`__
332 - `Graphviz
333 2.38 <https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi>`__
334 - The Java runtime is part of the DS5 installation or can be
335 `downloaded from here <https://www.java.com/en/download/>`__
336 - `PlantUML <http://sourceforge.net/projects/plantuml/files/plantuml.jar/download>`__
337
338For PDF generation:
339
340 - `MikTeX <https://miktex.org/download>`__
341
342 .. Note::
343 When building the documentation the first time, MikTeX might prompt for
344 installing missing LaTeX components. Please allow the MikTeX package
345 manager to set-up these.
346
347Configure the shell
348^^^^^^^^^^^^^^^^^^^
349
350Linux
351"""""
352
353::
354
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100355 export PLANTUML_JAR_PATH=~/plantuml/plantuml.jar
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200356
357Windows + Cygwin
358""""""""""""""""
359
360Assumptions for the settings below:
361
362 - plantuml.jar is available at c:\\plantuml\\plantuml.jar
363 - doxygen, dot, and MikTeX binaries are available on the PATH.
364 - Java JVM is used from DS5 installation.
365
366::
367
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100368 export PLANTUML_JAR_PATH=c:/plantuml/plantuml.jar
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200369 export PATH=$PATH:/cygdrive/c/<DS-5 path>/sw/java/bin
370
371To compile the TF-M User Guide
372------------------------------
373
374The following additional tools are needed:
375
376 - Python3 and the following modules:
377 - Sphinx v1.7.9
378 - m2r v0.2.0
379 - sphinxcontrib-plantuml
380 - sphinx-rtd-theme
381 - Graphviz dot v2.38.0 or later
382 - PlantUML v1.2018.11 or later
383 - Java runtime environment 1.8 or later (for running PlantUML)
384
385For PDF generation the following tools are needed in addition to the
386above list:
387
388 - LaTeX
389 - PdfLaTeX
390
391Set-up the needed tools
392^^^^^^^^^^^^^^^^^^^^^^^
393
394Linux
395"""""
396
397.. code-block:: bash
398
399 sudo apt-get install -y python3 graphviz default-jre
400 pip --user install m2r Sphinx sphinx-rtd-theme sphinxcontrib-plantuml
401 mkdir ~/plantuml
402 curl -L http://sourceforge.net/projects/plantuml/files/plantuml.jar/download --output ~/plantuml/plantuml.jar
403
404For PDF generation:
405
406.. code-block:: bash
407
408 sudo apt-get install -y doxygen-latex
409
410Windows + Cygwin
411""""""""""""""""
412Download and install the following tools:
413 - Python3 `(native Windows version) <https://www.python.org/downloads/>`__
414 - Pip packages *m2r, Sphinx, sphinx-rtd-theme sphinxcontrib-plantuml*
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100415
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200416 .. code-block:: bash
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100417
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200418 pip --user install m2r Sphinx sphinx-rtd-theme sphinxcontrib-plantuml
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100419
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200420 - `Graphviz 2.38 <https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi>`__
421 - The Java runtime is part of the DS5 installation or can be
422 `downloaded from here <https://www.java.com/en/download/>`__
423 - `PlantUML <http://sourceforge.net/projects/plantuml/files/plantuml.jar/download>`__
424
425For PDF generation:
426
427- `MikTeX <https://miktex.org/download>`__
428
429.. Note::
430 When building the documentation the first time, MikTeX might
431 prompt for installing missing LaTeX components. Please allow the MikTeX
432 package manager to set-up these.
433
434Configure the shell
435^^^^^^^^^^^^^^^^^^^
436
437Linux
438"""""
439.. code-block:: bash
440
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100441 export PLANTUML_JAR_PATH=~/plantuml/plantuml.jar
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200442
443Windows + Cygwin
444""""""""""""""""
445
446Assumptions for the settings below:
447
448 - plantuml.jar is available at c:\\plantuml\\plantuml.jar
449 - doxygen, dot, and MikTeX binaries are available on the PATH.
450 - Java JVM is used from DS5 installation.
451
452.. code-block:: bash
453
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100454 export PLANTUML_JAR_PATH=c:/plantuml/plantuml.jar
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200455 export PATH=$PATH:/cygdrive/c/<DS-5 path>/sw/java/bin
456
Galanakis, Minos757139a2019-11-11 15:00:11 +0000457**************************
458Tool & Dependency overview
459**************************
460
461To build the TF-M firmware the following tools are needed:
462
463.. csv-table:: Tool dependencies
464 :header: "Name", "Version", "Component"
465
466 "C compiler",See `Supported C compilers`_,"Firmware"
467 "CMake",See `Supported CMake versions`_,
468 "GNU Make",See `Supported GNU make versions`_,
Kevin Peng6710c822020-05-21 16:52:14 +0800469 "tf-m-tests",See `External dependencies`_,
Minos Galanakisac6b06c2020-03-19 12:57:02 +0000470 "mbed-crypto",See `External dependencies`_,
David Vincze91e7ac82020-06-25 15:30:32 +0200471 "MCUboot",See `External dependencies`_,
Galanakis, Minos757139a2019-11-11 15:00:11 +0000472 "Python",3.x,"Firmware, User Guide"
473 "yaml",,"Firmware"
474 "pyasn1",,"Firmware"
475 "jinja2",,"Firmware"
476 "cryptography",,"Firmware"
477 "cbor",,"Firmware"
Balint Matyi3bae8832020-06-22 15:34:12 +0200478 "click",,"Firmware"
Balint Matyid9abb492020-06-22 08:35:52 +0100479 "imgtool",,"Firmware"
Galanakis, Minos757139a2019-11-11 15:00:11 +0000480 "Doxygen",">1.8","Reference manual"
481 "Sphinx",">1.4","User Guide"
482 "sphinxcontrib-plantuml",,"User Guide"
483 "sphinx-trd-theme",,"User Guide"
484 "Git",,
485 "PlantUML",">v1.2018.11","Reference Manual, User Guide"
486 "Graphviz dot",">v2.38.0","Reference manual"
487 "Java runtime environment (JRE)",">1.8","Reference Manual, User Guide"
488 "LaTex",,"pdf version of Reference Manual and User Guide"
489 "PdfLaTex",,"pdf version of Reference Manual and User Guide"
490
491Dependency chain:
492
493.. uml::
494
495 @startuml
496 skinparam state {
497 BackgroundColor #92AEE0
498 FontColor black
499 FontSize 16
500 AttributeFontColor black
501 AttributeFontSize 16
502 BackgroundColor<<pdf>> #A293E2
503 BackgroundColor<<doc>> #90DED6
504 }
505 state fw as "Firmware" : TF-M binary
506 state c_comp as "C Compiler" : C99
507 state gmake as "GNU make"
508 state u_guide as "User Guide" <<doc>>
509 state refman as "Reference Manual" <<doc>>
510 state rtd_theme as "sphinx-rtd-theme" <<doc>>
511 state sphnix_puml as "sphinxcontrib-plantuml" <<doc>>
512 state JRE as "JRE" <<doc>> : Java Runtime Environment
513 state gwiz as "Graphwiz dot" <<doc>>
514 state Sphinx as "Sphinx" <<doc>>
515 state m2r as "m2r" <<doc>>
516 state PlantUML as "PlantUML" <<doc>>
517 state LaTex as "LaTex" <<pdf>>
518 state PdfLaTex as "PdfLaTex" <<<<pdf>>>>
519 state Doxygen as "Doxygen" <<doc>>
520
521 [*] --> fw
522 fw --> c_comp
523 fw --> CMake
524 CMake --> gmake
525 fw --> cryptography
526 fw --> pyasn1
527 fw --> yaml
528 fw --> jinja2
529 fw --> cbor
Balint Matyi3bae8832020-06-22 15:34:12 +0200530 fw --> click
Balint Matyid9abb492020-06-22 08:35:52 +0100531 fw --> imgtool
Galanakis, Minos757139a2019-11-11 15:00:11 +0000532 cryptography --> Python3
533 pyasn1 --> Python3
534 yaml --> Python3
535 jinja2 --> Python3
536 cbor --> Python3
Balint Matyi3bae8832020-06-22 15:34:12 +0200537 click --> Python3
Balint Matyid9abb492020-06-22 08:35:52 +0100538 imgtool --> Python3
Galanakis, Minos757139a2019-11-11 15:00:11 +0000539
540 [*] --> u_guide
541 u_guide --> Sphinx
542 Sphinx --> m2r
543 Sphinx --> rtd_theme
544 Sphinx --> sphnix_puml
545 m2r --> Python3
546 rtd_theme --> Python3
547 sphnix_puml --> Python3
548 Sphinx --> PlantUML
549 PlantUML --> JRE
550 PlantUML --> gwiz
551 Sphinx --> LaTex
552 LaTex --> PdfLaTex
553
554 [*] --> refman
555 refman --> Doxygen
556 Doxygen --> PlantUML
557 Doxygen --> LaTex
558 state Legend {
559 state x as "For PDF generation only" <<pdf>>
560 state y as "For document generation only" <<doc>>
561 state z as "Mandatory"
562 }
563
564 @enduml
565
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200566--------------
567
Ronald Cronc0c38fa2019-09-23 09:36:56 +0200568*Copyright (c) 2017-2020, Arm Limited. All rights reserved.*