blob: a291e97c47e2ba8dc0a9781bc7bf3a57f0781ef4 [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
127In order to build TF-M the following external projects are required:
128
129 - `Mbed Crypto library <https://github.com/ARMmbed/mbed-crypto>`__ v3.0.1
130 is used as crypto library on the secure side
131 - `CMSIS Version 5 <https://github.com/ARM-software/CMSIS_5>`__ v5.5.0
132 is used to import RTX for the example non-secure app
133
134Each of the listed dependencies should be placed in a common root directory
135with trustedfirmware-m
136
137.. code-block:: bash
138
139 .
140 ├── CMSIS_5
141 ├── mbed-crypto
142 └── trusted-firmware-m
143
144.. Note::
145 `CMSIS_5` v5.5.0 has a known issue, affecting compilation using
146 Arm Compiler v6.10. Please refer to
147 `CMSIS release notes <https://github.com/ARM-software/CMSIS_5/releases>`__.
148 for guidance.
TTornblom8a8b4522020-06-10 11:13:32 +0200149 For building with the IAR toolchain, see instructions in
150 :doc:`software requirements <tfm_build_instruction_iar>`
Minos Galanakisac6b06c2020-03-19 12:57:02 +0000151
Ludovic Barre8a77bdd2020-03-26 19:53:07 +0100152********************************************
153Tools for configuring and programming boards
154********************************************
155
156For stm32l5xx boards, `STM32_Programmer_CLI <https://www.st.com/en/development-tools/stm32cubeprog.html>`__
157is used to configure security protections and to write the code in internal flash.
158A version is available for Linux and Windows host machine.
159
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200160**************
161Example setups
162**************
163
164This section lists dependencies and some exact and tested steps to set-up a
165TF-M-m build environment under various OSes.
166
Mingyang Sun1e590642019-09-24 10:46:21 +0800167Ubuntu setup
168============
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200169
David Vincze4a6555e2019-11-06 09:32:13 +0100170Install the following tools:
171
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100172- DS-5 |DS5_VERSION|.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200173- Git tools v2.10.0
Minos Galanakisac6b06c2020-03-19 12:57:02 +0000174- Git Large File Storage (git-lfs)
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200175- CMake (see the "Supported CMake versions" chapter)
176- GNU Make (see the "Supported make versions" chapter)
David Vincze4a6555e2019-11-06 09:32:13 +0100177- Python3 and the pip package manager (from Python 3.4 it's included)
178- Python3 packages: *cryptography, pyasn1, yaml, jinja2 v2.10, cbor v1.0.0*
179
180 .. code-block:: bash
181
182 pip3 install --user cryptography pyasn1 pyyaml jinja2 cbor
183
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200184- SRecord v1.58 (for Musca test chip boards)
185
186Setup a shell to enable compiler toolchain and CMake after installation.
187------------------------------------------------------------------------
188
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100189To import Arm Compiler v6.10 in your bash shell console:
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200190
191.. Warning::
192 Arm compiler specific environment variable may need updating based on
193 specific products and licenses as explained in
194 `product-and-toolkit-configuration <https://developer.arm.com/products/software-development-tools/license-management/resources/product-and-toolkit-configuration>`__.
195
196.. code-block:: bash
197
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100198 export PATH=<DS-5_PATH>/sw/ARMCompiler6.10/bin:$PATH
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100199 export ARM_TOOL_VARIANT=ult
200 export ARM_PRODUCT_PATH=<DS-5_PATH>/sw/mappings
201 export ARMLMD_LICENSE_FILE=<LICENSE_FILE_PATH>
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200202
203To import CMake in your bash shell console:
204
205.. code-block:: bash
206
TTornblom8a8b4522020-06-10 11:13:32 +0200207 export PATH=<CMake path>/bin:$PATH
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200208
209To import GNU Arm in your bash shell console:
210
211.. code-block:: bash
212
TTornblom8a8b4522020-06-10 11:13:32 +0200213 export PATH=<bash path>/bin:$PATH
214
215 To import IAR Arm compiler in your bash shell console:
216
217.. code-block:: bash
218
219 export PATH=<IAR compiler path>/bin:$PATH
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200220
Mingyang Sun1e590642019-09-24 10:46:21 +0800221Windows + Cygwin setup
222======================
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200223
David Vincze4a6555e2019-11-06 09:32:13 +0100224Install the following tools:
225
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100226- uVision |KEIL_VERSION| or DS-5 |DS5_VERSION| (DS-5 Ultimate Edition) which
227 provides the Arm Compiler v6.10 compiler or GNU Arm compiler v6.3.1.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200228- Git client latest version (https://git-scm.com/download/win)
Minos Galanakisac6b06c2020-03-19 12:57:02 +0000229- Git Large File Storage (`native Windows version <https://git-lfs.github.com/>`__,
Mingyang Sun1e590642019-09-24 10:46:21 +0800230- CMake (`native Windows version <https://cmake.org/download/>`__,
231 see the `Supported CMake versions`_ chapter)
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200232- `Cygwin <https://www.cygwin.com/>`__. Tests done with version 2.877
233 (64 bits)
234- GNU make should be installed by selecting appropriate package during
235 cygwin
236 installation.
David Vincze4a6555e2019-11-06 09:32:13 +0100237- Python3 `(native Windows version) <https://www.python.org/downloads/>`__ and
238 the pip package manager (from Python 3.4 it's included)
239- Python3 packages: *cryptography, pyasn1, yaml, jinja2 v2.10, cbor v1.0.0*
240
241 .. code-block:: bash
242
243 pip3 install --user cryptography pyasn1 pyyaml jinja2 cbor
244
Jamie Foxb8a92702019-06-05 17:19:31 +0100245- `SRecord v1.63 <https://sourceforge.net/projects/srecord/>`__ (for Musca test
246 chip boards)
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200247
248Setup Cygwin to enable a compiler toolchain and CMake after installation.
249-------------------------------------------------------------------------
250
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100251If applicable, import Arm Compiler v6.10 in your shell console. To make this
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200252change permanent, add the command line into ~/.bashrc
253
254Armclang + DS-5
255^^^^^^^^^^^^^^^
256.. Note::
257
258 - Arm compiler specific environment variable may need updating based on
259 specific products and licenses as explained in
260 `product-and-toolkit-configuration <https://developer.arm.com/products/software-development-tools/license-management/resources/product-and-toolkit-configuration>`__.
261 - Arm licensing related environment variables must use Windows paths, and not
262 the Cygwin specific one relative to */cygrive*.
263
264.. code-block:: bash
265
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100266 export PATH=/cygdrive/c/<DS-5_PATH>/sw/ARMCompiler6.10/bin:$PATH
267 export ARM_PRODUCT_PATH=C:/<DS-5_PATH>/sw/mappings
268 export ARM_TOOL_VARIANT=ult
269 export ARMLMD_LICENSE_FILE=<LICENSE_FILE_PATH>
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200270
271Armclang + Keil MDK Arm
272^^^^^^^^^^^^^^^^^^^^^^^
273
274.. Note::
275
276 - Arm compiler specific environment variable may need updating based
277 on specific products and licenses as explained in
278 `product-and-toolkit-configuration <https://developer.arm.com/products/software-development-tools/license-management/resources/product-and-toolkit-configuration>`__.
279
280.. code-block:: bash
281
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100282 export PATH=/cygdrive/c/<uVision path>/ARM/ARMCLANG/bin:$PATH
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200283
284GNU Arm
285^^^^^^^
286
287If applicable, import GNU Arm compiler v6.3.1 in your shell console. To make
288this change permanent, add the command line into ~/.bashrc
289
290.. code-block:: bash
291
292 export PATH=<GNU Arm path>/bin:$PATH
293
294CMake
295^^^^^
296
297To import CMake in your bash shell console:
298
299.. code-block:: bash
300
301 export PATH=/cygdrive/c/<CMake path>/bin:$PATH
302
303Building the documentation
304==========================
305
306The build system is prepared to support generation of two documents.
307The Reference Manual which is Doxygen based, and the User Guide which is
308Sphinx based. Both document can be generated in HTML and PDF format.
309
310.. Note::
311
312 Support for document generation in the build environment is not mandatory.
313 Missing document generation tools will not block building the TF-M
314 firmware.
315
316To compile the TF-M Reference Manual
317------------------------------------
318
319The following additional tools are needed:
320
321 - Doxygen v1.8.0 or later
322 - Graphviz dot v2.38.0 or later
323 - PlantUML v1.2018.11 or later
324 - Java runtime environment 1.8 or later (for running PlantUML)
325
326For PDF generation the following tools are needed in addition to the
327above list:
328
329 - LaTeX
330 - PdfLaTeX
331
332Set-up the needed tools
333^^^^^^^^^^^^^^^^^^^^^^^
334
335Linux
336"""""
337.. code-block:: bash
338
339 sudo apt-get install -y doxygen graphviz default-jre
340 mkdir ~/plantuml
341 curl -L http://sourceforge.net/projects/plantuml/files/plantuml.jar/download --output ~/plantuml/plantuml.jar
342
343For PDF generation:
344
345.. code-block:: bash
346
347 sudo apt-get install -y doxygen-latex
348
349Windows + Cygwin
350""""""""""""""""
351
352Download and install the following tools:
353 - `Doxygen
354 1.8.8 <https://sourceforge.net/projects/doxygen/files/snapshots/doxygen-1.8-svn/windows/doxygenw20140924_1_8_8.zip/download>`__
355 - `Graphviz
356 2.38 <https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi>`__
357 - The Java runtime is part of the DS5 installation or can be
358 `downloaded from here <https://www.java.com/en/download/>`__
359 - `PlantUML <http://sourceforge.net/projects/plantuml/files/plantuml.jar/download>`__
360
361For PDF generation:
362
363 - `MikTeX <https://miktex.org/download>`__
364
365 .. Note::
366 When building the documentation the first time, MikTeX might prompt for
367 installing missing LaTeX components. Please allow the MikTeX package
368 manager to set-up these.
369
370Configure the shell
371^^^^^^^^^^^^^^^^^^^
372
373Linux
374"""""
375
376::
377
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100378 export PLANTUML_JAR_PATH=~/plantuml/plantuml.jar
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200379
380Windows + Cygwin
381""""""""""""""""
382
383Assumptions for the settings below:
384
385 - plantuml.jar is available at c:\\plantuml\\plantuml.jar
386 - doxygen, dot, and MikTeX binaries are available on the PATH.
387 - Java JVM is used from DS5 installation.
388
389::
390
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100391 export PLANTUML_JAR_PATH=c:/plantuml/plantuml.jar
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200392 export PATH=$PATH:/cygdrive/c/<DS-5 path>/sw/java/bin
393
394To compile the TF-M User Guide
395------------------------------
396
397The following additional tools are needed:
398
399 - Python3 and the following modules:
400 - Sphinx v1.7.9
401 - m2r v0.2.0
402 - sphinxcontrib-plantuml
403 - sphinx-rtd-theme
404 - Graphviz dot v2.38.0 or later
405 - PlantUML v1.2018.11 or later
406 - Java runtime environment 1.8 or later (for running PlantUML)
407
408For PDF generation the following tools are needed in addition to the
409above list:
410
411 - LaTeX
412 - PdfLaTeX
413
414Set-up the needed tools
415^^^^^^^^^^^^^^^^^^^^^^^
416
417Linux
418"""""
419
420.. code-block:: bash
421
422 sudo apt-get install -y python3 graphviz default-jre
423 pip --user install m2r Sphinx sphinx-rtd-theme sphinxcontrib-plantuml
424 mkdir ~/plantuml
425 curl -L http://sourceforge.net/projects/plantuml/files/plantuml.jar/download --output ~/plantuml/plantuml.jar
426
427For PDF generation:
428
429.. code-block:: bash
430
431 sudo apt-get install -y doxygen-latex
432
433Windows + Cygwin
434""""""""""""""""
435Download and install the following tools:
436 - Python3 `(native Windows version) <https://www.python.org/downloads/>`__
437 - Pip packages *m2r, Sphinx, sphinx-rtd-theme sphinxcontrib-plantuml*
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100438
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200439 .. code-block:: bash
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100440
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200441 pip --user install m2r Sphinx sphinx-rtd-theme sphinxcontrib-plantuml
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100442
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200443 - `Graphviz 2.38 <https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi>`__
444 - The Java runtime is part of the DS5 installation or can be
445 `downloaded from here <https://www.java.com/en/download/>`__
446 - `PlantUML <http://sourceforge.net/projects/plantuml/files/plantuml.jar/download>`__
447
448For PDF generation:
449
450- `MikTeX <https://miktex.org/download>`__
451
452.. Note::
453 When building the documentation the first time, MikTeX might
454 prompt for installing missing LaTeX components. Please allow the MikTeX
455 package manager to set-up these.
456
457Configure the shell
458^^^^^^^^^^^^^^^^^^^
459
460Linux
461"""""
462.. code-block:: bash
463
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100464 export PLANTUML_JAR_PATH=~/plantuml/plantuml.jar
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200465
466Windows + Cygwin
467""""""""""""""""
468
469Assumptions for the settings below:
470
471 - plantuml.jar is available at c:\\plantuml\\plantuml.jar
472 - doxygen, dot, and MikTeX binaries are available on the PATH.
473 - Java JVM is used from DS5 installation.
474
475.. code-block:: bash
476
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100477 export PLANTUML_JAR_PATH=c:/plantuml/plantuml.jar
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200478 export PATH=$PATH:/cygdrive/c/<DS-5 path>/sw/java/bin
479
Galanakis, Minos757139a2019-11-11 15:00:11 +0000480**************************
481Tool & Dependency overview
482**************************
483
484To build the TF-M firmware the following tools are needed:
485
486.. csv-table:: Tool dependencies
487 :header: "Name", "Version", "Component"
488
489 "C compiler",See `Supported C compilers`_,"Firmware"
490 "CMake",See `Supported CMake versions`_,
491 "GNU Make",See `Supported GNU make versions`_,
Minos Galanakisac6b06c2020-03-19 12:57:02 +0000492 "CMSIS 5",See `External dependencies`_,
493 "mbed-crypto",See `External dependencies`_,
Galanakis, Minos757139a2019-11-11 15:00:11 +0000494 "Python",3.x,"Firmware, User Guide"
495 "yaml",,"Firmware"
496 "pyasn1",,"Firmware"
497 "jinja2",,"Firmware"
498 "cryptography",,"Firmware"
499 "cbor",,"Firmware"
500 "Doxygen",">1.8","Reference manual"
501 "Sphinx",">1.4","User Guide"
502 "sphinxcontrib-plantuml",,"User Guide"
503 "sphinx-trd-theme",,"User Guide"
504 "Git",,
505 "PlantUML",">v1.2018.11","Reference Manual, User Guide"
506 "Graphviz dot",">v2.38.0","Reference manual"
507 "Java runtime environment (JRE)",">1.8","Reference Manual, User Guide"
508 "LaTex",,"pdf version of Reference Manual and User Guide"
509 "PdfLaTex",,"pdf version of Reference Manual and User Guide"
510
511Dependency chain:
512
513.. uml::
514
515 @startuml
516 skinparam state {
517 BackgroundColor #92AEE0
518 FontColor black
519 FontSize 16
520 AttributeFontColor black
521 AttributeFontSize 16
522 BackgroundColor<<pdf>> #A293E2
523 BackgroundColor<<doc>> #90DED6
524 }
525 state fw as "Firmware" : TF-M binary
526 state c_comp as "C Compiler" : C99
527 state gmake as "GNU make"
528 state u_guide as "User Guide" <<doc>>
529 state refman as "Reference Manual" <<doc>>
530 state rtd_theme as "sphinx-rtd-theme" <<doc>>
531 state sphnix_puml as "sphinxcontrib-plantuml" <<doc>>
532 state JRE as "JRE" <<doc>> : Java Runtime Environment
533 state gwiz as "Graphwiz dot" <<doc>>
534 state Sphinx as "Sphinx" <<doc>>
535 state m2r as "m2r" <<doc>>
536 state PlantUML as "PlantUML" <<doc>>
537 state LaTex as "LaTex" <<pdf>>
538 state PdfLaTex as "PdfLaTex" <<<<pdf>>>>
539 state Doxygen as "Doxygen" <<doc>>
540
541 [*] --> fw
542 fw --> c_comp
543 fw --> CMake
544 CMake --> gmake
545 fw --> cryptography
546 fw --> pyasn1
547 fw --> yaml
548 fw --> jinja2
549 fw --> cbor
550 cryptography --> Python3
551 pyasn1 --> Python3
552 yaml --> Python3
553 jinja2 --> Python3
554 cbor --> Python3
555
556 [*] --> u_guide
557 u_guide --> Sphinx
558 Sphinx --> m2r
559 Sphinx --> rtd_theme
560 Sphinx --> sphnix_puml
561 m2r --> Python3
562 rtd_theme --> Python3
563 sphnix_puml --> Python3
564 Sphinx --> PlantUML
565 PlantUML --> JRE
566 PlantUML --> gwiz
567 Sphinx --> LaTex
568 LaTex --> PdfLaTex
569
570 [*] --> refman
571 refman --> Doxygen
572 Doxygen --> PlantUML
573 Doxygen --> LaTex
574 state Legend {
575 state x as "For PDF generation only" <<pdf>>
576 state y as "For document generation only" <<doc>>
577 state z as "Mandatory"
578 }
579
580 @enduml
581
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200582--------------
583
Ronald Cronc0c38fa2019-09-23 09:36:56 +0200584*Copyright (c) 2017-2020, Arm Limited. All rights reserved.*