blob: 2c3d5556bd5823be022764103bae17dc415e5d44 [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.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020037
38*********************
39Supported C compilers
40*********************
41
42To compile TF-M code, at least one of the supported compiler toolchains have to
43be available in the build environment. The currently supported compiler
44versions are:
Antonio de Angelis065ce4a2019-06-04 14:02:33 +010045
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020046 - Arm Compiler v6.10
47 - Arm Compiler v6.11
Gary Morrison81fb08c2019-05-30 10:14:35 -050048 - Arm Compiler v6.12
Ronald Cronc0c38fa2019-09-23 09:36:56 +020049 - Arm Compiler v6.13
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020050 - GNU Arm compiler v6.3.1
51 - GNU Arm compiler v7.3
52
53.. Note::
Antonio de Angelis065ce4a2019-06-04 14:02:33 +010054 - The Arm compilers above are provided via Keil uVision |KEIL_VERSION|
55 or greater, DS-5 |DS5_VERSION| or greater, and Development Studio
56 |DEV_STUDIO_VERSION| or greater, or they can be downloaded as standalone
57 packages from
58 `here <https://developer.arm.com/products/software-development-tools/compilers/arm-compiler/downloads/version-6>`__.
59
60 - Arm compiler specific environment variable may need updating based
61 on specific products and licenses as explained in
62 `product-and-toolkit-configuration <https://developer.arm.com/products/software-development-tools/license-management/resources/product-and-toolkit-configuration>`__.
63
64 - The GNU Arm compiler can be downloaded from
65 `here <https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads>`__.
66 On the page select *GNU Arm Embedded Toolchain: 6-2017-q1-update*
67 or *GNU Arm Embedded Toolchain: 7-2018-q2-update*
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020068
69************************
70Supported CMake versions
71************************
72
73The build-system is CMake based and supports the following versions:
Antonio de Angelis065ce4a2019-06-04 14:02:33 +010074
75 - 3.7
76 - 3.10
77 - 3.11
78 - 3.12
79 - 3.13
80 - 3.14
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020081
82.. Note::
83 - Please use the latest build version available (i.e. 3.7.2 instead of
84 3.7.0).
85 While it is preferable to use the newest version this is not required
86 and any version from the above list should work.
87 - Recent versions of CMake can be downloaded from
88 https://cmake.org/download/, and older releases are available from
89 https://cmake.org/files.
Mingyang Sun1e590642019-09-24 10:46:21 +080090 - For Cygwin users, please use a native windows CMake version
91 instead of the version installed with Cygwin.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020092
93***************************
94Supported GNU make versions
95***************************
96
97The TF-M team builds using the "Unix Makefiles" generator of CMake and
98thus GNU make is needed for the build. On Linux please use the version
99available from the official repository of your distribution.
100
101On Windows the following binaries are supported:
Kevin Townsend0f869bb2019-08-01 21:06:48 +0200102
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200103 - GNU make v4.2.1 executable from Cygwin
104 - GNU make v4.2.1 executable from msys2
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100105 - GNU make v4.2 executable from DS5 |DS5_VERSION| (see <DS5 directory>/bin)
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200106
107CMake is quiet tolerant to GNU make versions and basically any
108"reasonably recent" GNU make version shall work.
109
110CMake generators other than "Unix Makefiles" may work, but are not
111officially supported.
112
Minos Galanakisac6b06c2020-03-19 12:57:02 +0000113*********************
114External dependencies
115*********************
116
117In order to build TF-M the following external projects are required:
118
119 - `Mbed Crypto library <https://github.com/ARMmbed/mbed-crypto>`__ v3.0.1
120 is used as crypto library on the secure side
121 - `CMSIS Version 5 <https://github.com/ARM-software/CMSIS_5>`__ v5.5.0
122 is used to import RTX for the example non-secure app
123
124Each of the listed dependencies should be placed in a common root directory
125with trustedfirmware-m
126
127.. code-block:: bash
128
129 .
130 ├── CMSIS_5
131 ├── mbed-crypto
132 └── trusted-firmware-m
133
134.. Note::
135 `CMSIS_5` v5.5.0 has a known issue, affecting compilation using
136 Arm Compiler v6.10. Please refer to
137 `CMSIS release notes <https://github.com/ARM-software/CMSIS_5/releases>`__.
138 for guidance.
139
Ludovic Barre8a77bdd2020-03-26 19:53:07 +0100140********************************************
141Tools for configuring and programming boards
142********************************************
143
144For stm32l5xx boards, `STM32_Programmer_CLI <https://www.st.com/en/development-tools/stm32cubeprog.html>`__
145is used to configure security protections and to write the code in internal flash.
146A version is available for Linux and Windows host machine.
147
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200148**************
149Example setups
150**************
151
152This section lists dependencies and some exact and tested steps to set-up a
153TF-M-m build environment under various OSes.
154
Mingyang Sun1e590642019-09-24 10:46:21 +0800155Ubuntu setup
156============
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200157
David Vincze4a6555e2019-11-06 09:32:13 +0100158Install the following tools:
159
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100160- DS-5 |DS5_VERSION|.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200161- Git tools v2.10.0
Minos Galanakisac6b06c2020-03-19 12:57:02 +0000162- Git Large File Storage (git-lfs)
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200163- CMake (see the "Supported CMake versions" chapter)
164- GNU Make (see the "Supported make versions" chapter)
David Vincze4a6555e2019-11-06 09:32:13 +0100165- Python3 and the pip package manager (from Python 3.4 it's included)
166- Python3 packages: *cryptography, pyasn1, yaml, jinja2 v2.10, cbor v1.0.0*
167
168 .. code-block:: bash
169
170 pip3 install --user cryptography pyasn1 pyyaml jinja2 cbor
171
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200172- SRecord v1.58 (for Musca test chip boards)
173
174Setup a shell to enable compiler toolchain and CMake after installation.
175------------------------------------------------------------------------
176
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100177To import Arm Compiler v6.10 in your bash shell console:
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200178
179.. Warning::
180 Arm compiler specific environment variable may need updating based on
181 specific products and licenses as explained in
182 `product-and-toolkit-configuration <https://developer.arm.com/products/software-development-tools/license-management/resources/product-and-toolkit-configuration>`__.
183
184.. code-block:: bash
185
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100186 export PATH=<DS-5_PATH>/sw/ARMCompiler6.10/bin:$PATH
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100187 export ARM_TOOL_VARIANT=ult
188 export ARM_PRODUCT_PATH=<DS-5_PATH>/sw/mappings
189 export ARMLMD_LICENSE_FILE=<LICENSE_FILE_PATH>
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200190
191To import CMake in your bash shell console:
192
193.. code-block:: bash
194
195 export PATH=/bin:$PATH
196
197To import GNU Arm in your bash shell console:
198
199.. code-block:: bash
200
201 export PATH=/bin:$PATH
202
Mingyang Sun1e590642019-09-24 10:46:21 +0800203Windows + Cygwin setup
204======================
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200205
David Vincze4a6555e2019-11-06 09:32:13 +0100206Install the following tools:
207
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100208- uVision |KEIL_VERSION| or DS-5 |DS5_VERSION| (DS-5 Ultimate Edition) which
209 provides the Arm Compiler v6.10 compiler or GNU Arm compiler v6.3.1.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200210- Git client latest version (https://git-scm.com/download/win)
Minos Galanakisac6b06c2020-03-19 12:57:02 +0000211- Git Large File Storage (`native Windows version <https://git-lfs.github.com/>`__,
Mingyang Sun1e590642019-09-24 10:46:21 +0800212- CMake (`native Windows version <https://cmake.org/download/>`__,
213 see the `Supported CMake versions`_ chapter)
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200214- `Cygwin <https://www.cygwin.com/>`__. Tests done with version 2.877
215 (64 bits)
216- GNU make should be installed by selecting appropriate package during
217 cygwin
218 installation.
David Vincze4a6555e2019-11-06 09:32:13 +0100219- Python3 `(native Windows version) <https://www.python.org/downloads/>`__ and
220 the pip package manager (from Python 3.4 it's included)
221- Python3 packages: *cryptography, pyasn1, yaml, jinja2 v2.10, cbor v1.0.0*
222
223 .. code-block:: bash
224
225 pip3 install --user cryptography pyasn1 pyyaml jinja2 cbor
226
Jamie Foxb8a92702019-06-05 17:19:31 +0100227- `SRecord v1.63 <https://sourceforge.net/projects/srecord/>`__ (for Musca test
228 chip boards)
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200229
230Setup Cygwin to enable a compiler toolchain and CMake after installation.
231-------------------------------------------------------------------------
232
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100233If applicable, import Arm Compiler v6.10 in your shell console. To make this
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200234change permanent, add the command line into ~/.bashrc
235
236Armclang + DS-5
237^^^^^^^^^^^^^^^
238.. Note::
239
240 - Arm compiler specific environment variable may need updating based on
241 specific products and licenses as explained in
242 `product-and-toolkit-configuration <https://developer.arm.com/products/software-development-tools/license-management/resources/product-and-toolkit-configuration>`__.
243 - Arm licensing related environment variables must use Windows paths, and not
244 the Cygwin specific one relative to */cygrive*.
245
246.. code-block:: bash
247
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100248 export PATH=/cygdrive/c/<DS-5_PATH>/sw/ARMCompiler6.10/bin:$PATH
249 export ARM_PRODUCT_PATH=C:/<DS-5_PATH>/sw/mappings
250 export ARM_TOOL_VARIANT=ult
251 export ARMLMD_LICENSE_FILE=<LICENSE_FILE_PATH>
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200252
253Armclang + Keil MDK Arm
254^^^^^^^^^^^^^^^^^^^^^^^
255
256.. Note::
257
258 - Arm compiler specific environment variable may need updating based
259 on 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
262.. code-block:: bash
263
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100264 export PATH=/cygdrive/c/<uVision path>/ARM/ARMCLANG/bin:$PATH
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200265
266GNU Arm
267^^^^^^^
268
269If applicable, import GNU Arm compiler v6.3.1 in your shell console. To make
270this change permanent, add the command line into ~/.bashrc
271
272.. code-block:: bash
273
274 export PATH=<GNU Arm path>/bin:$PATH
275
276CMake
277^^^^^
278
279To import CMake in your bash shell console:
280
281.. code-block:: bash
282
283 export PATH=/cygdrive/c/<CMake path>/bin:$PATH
284
285Building the documentation
286==========================
287
288The build system is prepared to support generation of two documents.
289The Reference Manual which is Doxygen based, and the User Guide which is
290Sphinx based. Both document can be generated in HTML and PDF format.
291
292.. Note::
293
294 Support for document generation in the build environment is not mandatory.
295 Missing document generation tools will not block building the TF-M
296 firmware.
297
298To compile the TF-M Reference Manual
299------------------------------------
300
301The following additional tools are needed:
302
303 - Doxygen v1.8.0 or later
304 - Graphviz dot v2.38.0 or later
305 - PlantUML v1.2018.11 or later
306 - Java runtime environment 1.8 or later (for running PlantUML)
307
308For PDF generation the following tools are needed in addition to the
309above list:
310
311 - LaTeX
312 - PdfLaTeX
313
314Set-up the needed tools
315^^^^^^^^^^^^^^^^^^^^^^^
316
317Linux
318"""""
319.. code-block:: bash
320
321 sudo apt-get install -y doxygen graphviz default-jre
322 mkdir ~/plantuml
323 curl -L http://sourceforge.net/projects/plantuml/files/plantuml.jar/download --output ~/plantuml/plantuml.jar
324
325For PDF generation:
326
327.. code-block:: bash
328
329 sudo apt-get install -y doxygen-latex
330
331Windows + Cygwin
332""""""""""""""""
333
334Download and install the following tools:
335 - `Doxygen
336 1.8.8 <https://sourceforge.net/projects/doxygen/files/snapshots/doxygen-1.8-svn/windows/doxygenw20140924_1_8_8.zip/download>`__
337 - `Graphviz
338 2.38 <https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi>`__
339 - The Java runtime is part of the DS5 installation or can be
340 `downloaded from here <https://www.java.com/en/download/>`__
341 - `PlantUML <http://sourceforge.net/projects/plantuml/files/plantuml.jar/download>`__
342
343For PDF generation:
344
345 - `MikTeX <https://miktex.org/download>`__
346
347 .. Note::
348 When building the documentation the first time, MikTeX might prompt for
349 installing missing LaTeX components. Please allow the MikTeX package
350 manager to set-up these.
351
352Configure the shell
353^^^^^^^^^^^^^^^^^^^
354
355Linux
356"""""
357
358::
359
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100360 export PLANTUML_JAR_PATH=~/plantuml/plantuml.jar
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200361
362Windows + Cygwin
363""""""""""""""""
364
365Assumptions for the settings below:
366
367 - plantuml.jar is available at c:\\plantuml\\plantuml.jar
368 - doxygen, dot, and MikTeX binaries are available on the PATH.
369 - Java JVM is used from DS5 installation.
370
371::
372
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100373 export PLANTUML_JAR_PATH=c:/plantuml/plantuml.jar
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200374 export PATH=$PATH:/cygdrive/c/<DS-5 path>/sw/java/bin
375
376To compile the TF-M User Guide
377------------------------------
378
379The following additional tools are needed:
380
381 - Python3 and the following modules:
382 - Sphinx v1.7.9
383 - m2r v0.2.0
384 - sphinxcontrib-plantuml
385 - sphinx-rtd-theme
386 - Graphviz dot v2.38.0 or later
387 - PlantUML v1.2018.11 or later
388 - Java runtime environment 1.8 or later (for running PlantUML)
389
390For PDF generation the following tools are needed in addition to the
391above list:
392
393 - LaTeX
394 - PdfLaTeX
395
396Set-up the needed tools
397^^^^^^^^^^^^^^^^^^^^^^^
398
399Linux
400"""""
401
402.. code-block:: bash
403
404 sudo apt-get install -y python3 graphviz default-jre
405 pip --user install m2r Sphinx sphinx-rtd-theme sphinxcontrib-plantuml
406 mkdir ~/plantuml
407 curl -L http://sourceforge.net/projects/plantuml/files/plantuml.jar/download --output ~/plantuml/plantuml.jar
408
409For PDF generation:
410
411.. code-block:: bash
412
413 sudo apt-get install -y doxygen-latex
414
415Windows + Cygwin
416""""""""""""""""
417Download and install the following tools:
418 - Python3 `(native Windows version) <https://www.python.org/downloads/>`__
419 - Pip packages *m2r, Sphinx, sphinx-rtd-theme sphinxcontrib-plantuml*
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100420
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200421 .. code-block:: bash
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100422
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200423 pip --user install m2r Sphinx sphinx-rtd-theme sphinxcontrib-plantuml
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100424
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200425 - `Graphviz 2.38 <https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi>`__
426 - The Java runtime is part of the DS5 installation or can be
427 `downloaded from here <https://www.java.com/en/download/>`__
428 - `PlantUML <http://sourceforge.net/projects/plantuml/files/plantuml.jar/download>`__
429
430For PDF generation:
431
432- `MikTeX <https://miktex.org/download>`__
433
434.. Note::
435 When building the documentation the first time, MikTeX might
436 prompt for installing missing LaTeX components. Please allow the MikTeX
437 package manager to set-up these.
438
439Configure the shell
440^^^^^^^^^^^^^^^^^^^
441
442Linux
443"""""
444.. code-block:: bash
445
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100446 export PLANTUML_JAR_PATH=~/plantuml/plantuml.jar
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200447
448Windows + Cygwin
449""""""""""""""""
450
451Assumptions for the settings below:
452
453 - plantuml.jar is available at c:\\plantuml\\plantuml.jar
454 - doxygen, dot, and MikTeX binaries are available on the PATH.
455 - Java JVM is used from DS5 installation.
456
457.. code-block:: bash
458
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100459 export PLANTUML_JAR_PATH=c:/plantuml/plantuml.jar
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200460 export PATH=$PATH:/cygdrive/c/<DS-5 path>/sw/java/bin
461
Galanakis, Minos757139a2019-11-11 15:00:11 +0000462**************************
463Tool & Dependency overview
464**************************
465
466To build the TF-M firmware the following tools are needed:
467
468.. csv-table:: Tool dependencies
469 :header: "Name", "Version", "Component"
470
471 "C compiler",See `Supported C compilers`_,"Firmware"
472 "CMake",See `Supported CMake versions`_,
473 "GNU Make",See `Supported GNU make versions`_,
Minos Galanakisac6b06c2020-03-19 12:57:02 +0000474 "CMSIS 5",See `External dependencies`_,
475 "mbed-crypto",See `External dependencies`_,
Galanakis, Minos757139a2019-11-11 15:00:11 +0000476 "Python",3.x,"Firmware, User Guide"
477 "yaml",,"Firmware"
478 "pyasn1",,"Firmware"
479 "jinja2",,"Firmware"
480 "cryptography",,"Firmware"
481 "cbor",,"Firmware"
482 "Doxygen",">1.8","Reference manual"
483 "Sphinx",">1.4","User Guide"
484 "sphinxcontrib-plantuml",,"User Guide"
485 "sphinx-trd-theme",,"User Guide"
486 "Git",,
487 "PlantUML",">v1.2018.11","Reference Manual, User Guide"
488 "Graphviz dot",">v2.38.0","Reference manual"
489 "Java runtime environment (JRE)",">1.8","Reference Manual, User Guide"
490 "LaTex",,"pdf version of Reference Manual and User Guide"
491 "PdfLaTex",,"pdf version of Reference Manual and User Guide"
492
493Dependency chain:
494
495.. uml::
496
497 @startuml
498 skinparam state {
499 BackgroundColor #92AEE0
500 FontColor black
501 FontSize 16
502 AttributeFontColor black
503 AttributeFontSize 16
504 BackgroundColor<<pdf>> #A293E2
505 BackgroundColor<<doc>> #90DED6
506 }
507 state fw as "Firmware" : TF-M binary
508 state c_comp as "C Compiler" : C99
509 state gmake as "GNU make"
510 state u_guide as "User Guide" <<doc>>
511 state refman as "Reference Manual" <<doc>>
512 state rtd_theme as "sphinx-rtd-theme" <<doc>>
513 state sphnix_puml as "sphinxcontrib-plantuml" <<doc>>
514 state JRE as "JRE" <<doc>> : Java Runtime Environment
515 state gwiz as "Graphwiz dot" <<doc>>
516 state Sphinx as "Sphinx" <<doc>>
517 state m2r as "m2r" <<doc>>
518 state PlantUML as "PlantUML" <<doc>>
519 state LaTex as "LaTex" <<pdf>>
520 state PdfLaTex as "PdfLaTex" <<<<pdf>>>>
521 state Doxygen as "Doxygen" <<doc>>
522
523 [*] --> fw
524 fw --> c_comp
525 fw --> CMake
526 CMake --> gmake
527 fw --> cryptography
528 fw --> pyasn1
529 fw --> yaml
530 fw --> jinja2
531 fw --> cbor
532 cryptography --> Python3
533 pyasn1 --> Python3
534 yaml --> Python3
535 jinja2 --> Python3
536 cbor --> Python3
537
538 [*] --> u_guide
539 u_guide --> Sphinx
540 Sphinx --> m2r
541 Sphinx --> rtd_theme
542 Sphinx --> sphnix_puml
543 m2r --> Python3
544 rtd_theme --> Python3
545 sphnix_puml --> Python3
546 Sphinx --> PlantUML
547 PlantUML --> JRE
548 PlantUML --> gwiz
549 Sphinx --> LaTex
550 LaTex --> PdfLaTex
551
552 [*] --> refman
553 refman --> Doxygen
554 Doxygen --> PlantUML
555 Doxygen --> LaTex
556 state Legend {
557 state x as "For PDF generation only" <<pdf>>
558 state y as "For document generation only" <<doc>>
559 state z as "Mandatory"
560 }
561
562 @enduml
563
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200564--------------
565
Ronald Cronc0c38fa2019-09-23 09:36:56 +0200566*Copyright (c) 2017-2020, Arm Limited. All rights reserved.*