blob: 03f562923e36cc862377beb09bbd61105cac2457 [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 18.04 x64
Anton Komlevc4cadb02020-11-02 12:54:29 +000027 - Windows 10 x64
Mingyang Sun1e590642019-09-24 10:46:21 +080028
Anton Komlevc4cadb02020-11-02 12:54:29 +000029***********
30C compilers
31***********
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020032
33To compile TF-M code, at least one of the supported compiler toolchains have to
34be available in the build environment. The currently supported compiler
35versions are:
Antonio de Angelis065ce4a2019-06-04 14:02:33 +010036
Mark Horvathed3980e2021-03-05 13:12:20 +010037 - Arm Compiler v6.10.1+
Minos Galanakisf216e2b2020-11-09 17:12:01 +000038 - GNU Arm compiler v7.3.1+
Anton Komlevc4cadb02020-11-02 12:54:29 +000039 - IAR Arm compiler v8.42.x, v8.50.x
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020040
41.. Note::
Antonio de Angelis065ce4a2019-06-04 14:02:33 +010042 - The Arm compilers above are provided via Keil uVision |KEIL_VERSION|
Minos Galanakis3b740a12020-10-15 11:10:26 +010043 or greater and Arm Development Studio
Antonio de Angelis065ce4a2019-06-04 14:02:33 +010044 |DEV_STUDIO_VERSION| or greater, or they can be downloaded as standalone
45 packages from
46 `here <https://developer.arm.com/products/software-development-tools/compilers/arm-compiler/downloads/version-6>`__.
47
Antonio de Angelis065ce4a2019-06-04 14:02:33 +010048 - The GNU Arm compiler can be downloaded from
49 `here <https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads>`__.
Shawn Shan8a46ad52020-11-26 14:54:50 +080050 On the page select *GNU Arm Embedded Toolchain: 7-2018-q2-update* or an
51 above version.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020052
David Hu0d64a642021-03-22 10:37:23 +080053 - GNU Arm compiler version *10-2020-q4-major* has an issue in CMSE support.
54 The bug is reported in `here <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99157>`__.
55 Select other GNU Arm compiler versions instead.
56
TTornblom8a8b4522020-06-10 11:13:32 +020057 - The IAR Arm compilers above are provided via IAR Embedded Workbench (Windows) or
58 IAR build tools for linux.
59 For information, see
60 `here <https://www.iar.com/iar-embedded-workbench/#!?architecture=Arm>`__ or
61 `here <https://www.iar.com/iar-embedded-workbench/build-tools-for-linux/>`__.
62
Anton Komlevc4cadb02020-11-02 12:54:29 +000063*****
64CMake
65*****
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020066
Raef Coles4ebad292020-11-12 16:39:51 +000067The build-system is CMake based and supports the version 3.15 or higher.
Antonio de Angelis065ce4a2019-06-04 14:02:33 +010068
Anton Komlevc4cadb02020-11-02 12:54:29 +000069 - Please use the latest build version available.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020070 - Recent versions of CMake can be downloaded from
71 https://cmake.org/download/, and older releases are available from
72 https://cmake.org/files.
73
Anton Komlevc4cadb02020-11-02 12:54:29 +000074CMake handles all external dependencies, but if you wish to alter this
Summer Qinab1dd992021-05-25 13:58:55 +080075behaviour, see :ref:`docs/technical_references/instructions/tfm_build_instruction:Manual
Anton Komlevb8e3af02020-08-28 10:23:57 +010076dependency management`
Minos Galanakisac6b06c2020-03-19 12:57:02 +000077
Anton Komlevc4cadb02020-11-02 12:54:29 +000078********
79GNU make
80********
81
82TF-M project builds using the "Unix Makefiles" generator of CMake
83and thus GNU make is needed for the build.
84
85 - On Linux please use the version available in your distribution.
86 - On Windows, GNU make v3.81 or higher shall work fine.
87
88CMake generators other than "Unix Makefiles" may work too, but are not
89officially supported. You may have a good luck with Ninja.
90
Ludovic Barre8a77bdd2020-03-26 19:53:07 +010091********************************************
92Tools for configuring and programming boards
93********************************************
94
Anton Komlevc4cadb02020-11-02 12:54:29 +000095Please follow a board secific documentation for building and programming
96tools.
Ludovic Barre8a77bdd2020-03-26 19:53:07 +010097
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020098**************
Anton Komlevc4cadb02020-11-02 12:54:29 +000099Typical setups
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200100**************
101
Anton Komlevc4cadb02020-11-02 12:54:29 +0000102This section lists steps to set-up TF-M build environment under Linux and Windows.
103Please also check the `Exceptions and special cases`_ chapter for any special
104requirements depending on the tools you are using.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200105
Subhasish Ghoshbc849302021-04-08 20:21:20 +0100106The build system can generate two documents: The Reference Manual and the
107User Guide. Both documents can be generated in HTML and PDF format.
108
109.. Note::
110 Support for document generation in the build environment is not mandatory.
111 Missing document generation tools will not block building the
112 TF-M firmware.
113
Anton Komlevc4cadb02020-11-02 12:54:29 +0000114Ubuntu
115======
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200116
Subhasish Ghoshbc849302021-04-08 20:21:20 +0100117Setup needed tools for Ubuntu
118-----------------------------
David Vincze4a6555e2019-11-06 09:32:13 +0100119
Subhasish Ghoshbc849302021-04-08 20:21:20 +0100120Tools required to build sources:
121
122 - Arm DS |DEV_STUDIO_VERSION| (Arm DS Ultimate Edition)
123 or GNU Arm compiler v7.3.1+
Anton Komlevc4cadb02020-11-02 12:54:29 +0000124 - Git tools v2.10.0
125 - CMake (see the `CMake`_ chapter)
126 - GNU Make (see the `GNU make`_ chapter)
Subhasish Ghoshbc849302021-04-08 20:21:20 +0100127 - `SRecord v1.58 <http://srecord.sourceforge.net/download.html/>`__
128 (for Musca test chip boards)
Anton Komlevc4cadb02020-11-02 12:54:29 +0000129 - Python3 and the pip package manager (from Python 3.4 it's included)
Subhasish Ghoshbc849302021-04-08 20:21:20 +0100130 - Python3 packages as listed in tools/requirements.txt file
131
132Tools required to generate documentation:
133
134 - Doxygen v1.8.0 or later - for reference manual
135 - Graphviz dot v2.38.0 or later
136 - PlantUML v1.2018.11 or later
137 - Java runtime environment 1.8 or later (for running PlantUML)
138 - LaTeX - for PDF generation only
139 - PdfLaTeX - for PDF generation only
140 - Python3 packages as listed in tools/requirements.txt - for user manual
141
142Download and install the required tools:
David Vincze4a6555e2019-11-06 09:32:13 +0100143
Anton Komlevc4cadb02020-11-02 12:54:29 +0000144.. code-block:: bash
David Vincze4a6555e2019-11-06 09:32:13 +0100145
Subhasish Ghoshbc849302021-04-08 20:21:20 +0100146 sudo apt-get update
147 sudo apt-get install -y git curl wget build-essential libssl-dev python3 \
148 python3-pip doxygen graphviz default-jre doxygen-latex
149 mkdir ~/plantuml
150 curl -L http://sourceforge.net/projects/plantuml/files/plantuml.jar/download --output ~/plantuml/plantuml.jar
David Vincze4a6555e2019-11-06 09:32:13 +0100151
Subhasish Ghoshbc849302021-04-08 20:21:20 +0100152Clone the TF-M Sources
Summer Qinab1dd992021-05-25 13:58:55 +0800153(see :ref:`docs/technical_references/instructions/tfm_build_instruction:Getting the source-code`),
Subhasish Ghoshbc849302021-04-08 20:21:20 +0100154then
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200155
Subhasish Ghoshbc849302021-04-08 20:21:20 +0100156.. code-block:: bash
157
158 pip3 install --upgrade pip
159 cd trusted-firmware-m
160 pip3 install -r tools/requirements.txt
161
162Finally, install C compiler (see `C compilers`_), CMake (see `CMake`_)
163and SRecord as required.
164
165Setup environment variables for Ubuntu
166--------------------------------------
167
168To import CMake in your bash shell console:
169
170.. code-block:: bash
171
172 export PATH=<CMake path>/bin:$PATH
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200173
Minos Galanakis3b740a12020-10-15 11:10:26 +0100174To import Arm Compiler v6.13 in your bash shell console:
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200175
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200176.. code-block:: bash
177
Minos Galanakis3b740a12020-10-15 11:10:26 +0100178 export PATH=<ARM_DS_PATH>/sw/ARMCompiler6.13/bin:$PATH
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100179 export ARM_TOOL_VARIANT=ult
Minos Galanakis3b740a12020-10-15 11:10:26 +0100180 export ARM_PRODUCT_PATH=<ARM_DS_PATH>/sw/mappings
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100181 export ARMLMD_LICENSE_FILE=<LICENSE_FILE_PATH>
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200182
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200183To import GNU Arm in your bash shell console:
184
185.. code-block:: bash
186
TTornblom8a8b4522020-06-10 11:13:32 +0200187 export PATH=<bash path>/bin:$PATH
188
Anton Komlevc4cadb02020-11-02 12:54:29 +0000189To import IAR Arm compiler in your bash shell console:
TTornblom8a8b4522020-06-10 11:13:32 +0200190
191.. code-block:: bash
192
193 export PATH=<IAR compiler path>/bin:$PATH
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200194
Subhasish Ghoshbc849302021-04-08 20:21:20 +0100195To import PLATUML:
196
197.. code-block:: bash
198
199 export PLANTUML_JAR_PATH=~/plantuml/plantuml.jar
200
Anton Komlevc4cadb02020-11-02 12:54:29 +0000201Windows
202=======
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200203
Subhasish Ghoshbc849302021-04-08 20:21:20 +0100204Setup needed tools for Windows
205------------------------------
206
207Tools required to build sources:
David Vincze4a6555e2019-11-06 09:32:13 +0100208
Minos Galanakis3b740a12020-10-15 11:10:26 +0100209 - uVision |KEIL_VERSION| or Arm DS |DEV_STUDIO_VERSION| (Arm DS Ultimate Edition)
Minos Galanakisf216e2b2020-11-09 17:12:01 +0000210 or GNU Arm compiler v7.3.1+
Anton Komlevc4cadb02020-11-02 12:54:29 +0000211 - Git client latest version (https://git-scm.com/download/win)
212 - CMake (`native Windows version <https://cmake.org/download/>`__,
213 see the `CMake`_ chapter)
Subhasish Ghoshbc849302021-04-08 20:21:20 +0100214 - GNU make (http://gnuwin32.sourceforge.net/packages/make.htm)
Anton Komlevc4cadb02020-11-02 12:54:29 +0000215 - `SRecord v1.63 <https://sourceforge.net/projects/srecord/>`__ (for Musca test
216 chip boards)
217 - Python3 `(native Windows version) <https://www.python.org/downloads/>`__ and
218 the pip package manager (from Python 3.4 it's included)
Subhasish Ghoshbc849302021-04-08 20:21:20 +0100219 - Python3 packages as listed in tools/requirements.txt file
220
221Tools required to generate documentation:
222
223 - `Doxygen v1.8.0
224 <https://sourceforge.net/projects/doxygen/files/snapshots/doxygen-1.8-svn/
225 windows/doxygenw20140924_1_8_8.zip/download>`__
226 or later - for reference manual
227 - `Graphviz dot v2.38.0
228 <https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi>`__
229 or later
230 - `PlantUML v1.2018.11
231 <http://sourceforge.net/projects/plantuml/files/plantuml.jar/download>`__
232 or later
233 - The Java runtime 1.8 or later (for running PlantUML) is part of the Arm DS
234 installation or can be downloaded from
235 `here <https://www.java.com/en/download/>`__
236 - LaTeX - for PDF generation only
237 - PdfLaTeX - for PDF generation only
238 - `MikTeX <https://miktex.org/download>`__ - for PDF generation only
239 - Python3 packages as listed in tools/requirements.txt - for user manual
240
241Download and install the required tools from above.
242
243Clone the TF-M Sources
Summer Qinab1dd992021-05-25 13:58:55 +0800244(see :ref:`docs/technical_references/instructions/tfm_build_instruction:Getting the source-code`),
Subhasish Ghoshbc849302021-04-08 20:21:20 +0100245then
Anton Komlev211aacf2020-11-02 12:48:11 +0000246
Anton Komlevb759e672020-11-02 12:15:44 +0000247.. code-block:: bash
248
Subhasish Ghoshbc849302021-04-08 20:21:20 +0100249 cd trusted-firmware-m
Anton Komlevc4cadb02020-11-02 12:54:29 +0000250 pip install -r tools\requirements.txt
251
Subhasish Ghoshbc849302021-04-08 20:21:20 +0100252Finally, install C compiler (see `C compilers`_), CMake (see `CMake`_)
253and SRecord as required.
Anton Komlevc4cadb02020-11-02 12:54:29 +0000254
Subhasish Ghoshbc849302021-04-08 20:21:20 +0100255Setup environment variables for Windows
256---------------------------------------
257Set the environment variables, assuming that:
258
259 - CMake, doxygen, dot, and MikTeX binaries are available on the PATH.
260 - Java JVM is used from Arm DS installation.
261 - plantuml.jar is available at c:\\plantuml\\plantuml.jar
262
263To import CMake to your PATH variable:
Anton Komlevc4cadb02020-11-02 12:54:29 +0000264
265.. code-block:: bash
266
267 set PATH=<CMake_Path>\bin;$PATH
268
Subhasish Ghoshbc849302021-04-08 20:21:20 +0100269To import PLATUML:
270
271.. code-block:: bash
272
273 set PLANTUML_JAR_PATH=<plantuml_Path>\plantuml.jar
274
275To set PATH for ARMDS:
276
277.. code-block:: bash
278
279 set PATH=$PATH;<ARM_DS_PATH>\sw\java\bin
280
Anton Komlevc4cadb02020-11-02 12:54:29 +0000281There are several configurations depending on a toolset you are using.
282The typical cases are listed below.
283
Minos Galanakis3b740a12020-10-15 11:10:26 +0100284Armclang + Arm DS
Subhasish Ghoshbc849302021-04-08 20:21:20 +0100285
Anton Komlevc4cadb02020-11-02 12:54:29 +0000286.. code-block:: bash
287
Minos Galanakis3b740a12020-10-15 11:10:26 +0100288 set PATH=<ARM_DS_PATH>\sw\ARMCompiler6.13\bin;$PATH
289 set ARM_PRODUCT_PATH=<ARM_DS_PATH>\sw\mappings
Anton Komlevc4cadb02020-11-02 12:54:29 +0000290 set ARM_TOOL_VARIANT=ult
291 set ARMLMD_LICENSE_FILE=<LICENSE_FILE_PATH>
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200292
293Armclang + Keil MDK Arm
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200294
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200295.. code-block:: bash
296
Anton Komlevc4cadb02020-11-02 12:54:29 +0000297 set PATH=<uVision path>\ARM\ARMCLANG\bin;$PATH
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200298
299GNU Arm
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200300
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200301.. code-block:: bash
302
Anton Komlevc4cadb02020-11-02 12:54:29 +0000303 set PATH=<GNU Arm path>\bin;$PATH
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200304
Anton Komlevc4cadb02020-11-02 12:54:29 +0000305****************************
306Exceptions and special cases
307****************************
308
309ArmClang
310========
311 - Arm compiler specific environment variable may need updating based on
312 specific products and licenses as explained in
313 `product-and-toolkit-configuration <https://developer.arm.com/products/software-development-tools/license-management/resources/product-and-toolkit-configuration>`__.
314
Anton Komlevc4cadb02020-11-02 12:54:29 +0000315MikTeX
316======
317 - When building the documentation the first time, MikTeX might prompt for
318 installing missing LaTeX components. Please allow the MikTeX package
319 manager to set-up these.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200320
Galanakis, Minos757139a2019-11-11 15:00:11 +0000321**************************
322Tool & Dependency overview
323**************************
324
325To build the TF-M firmware the following tools are needed:
326
327.. csv-table:: Tool dependencies
328 :header: "Name", "Version", "Component"
329
Anton Komlevc4cadb02020-11-02 12:54:29 +0000330 "C compiler",See `C compilers`_,"Firmware"
331 "CMake",See `CMake`_,
332 "GNU Make",See `GNU make`_,
333 "tf-m-tests",`CMake`_ handles it,
334 "mbed-crypto",`CMake`_ handles it,
335 "MCUboot",`CMake`_ handles it,
Galanakis, Minos757139a2019-11-11 15:00:11 +0000336 "Python",3.x,"Firmware, User Guide"
337 "yaml",,"Firmware"
338 "pyasn1",,"Firmware"
339 "jinja2",,"Firmware"
340 "cryptography",,"Firmware"
341 "cbor",,"Firmware"
Balint Matyi3bae8832020-06-22 15:34:12 +0200342 "click",,"Firmware"
Balint Matyid9abb492020-06-22 08:35:52 +0100343 "imgtool",,"Firmware"
Galanakis, Minos757139a2019-11-11 15:00:11 +0000344 "Doxygen",">1.8","Reference manual"
Subhasish Ghoshbc849302021-04-08 20:21:20 +0100345 "Sphinx","=1.7.9","User Guide"
Galanakis, Minos757139a2019-11-11 15:00:11 +0000346 "sphinxcontrib-plantuml",,"User Guide"
Summer Qincd22d1b2021-04-25 11:28:39 +0800347 "sphinxcontrib-svg2pdfconverter",,"User Guide"
Galanakis, Minos757139a2019-11-11 15:00:11 +0000348 "sphinx-trd-theme",,"User Guide"
349 "Git",,
350 "PlantUML",">v1.2018.11","Reference Manual, User Guide"
351 "Graphviz dot",">v2.38.0","Reference manual"
352 "Java runtime environment (JRE)",">1.8","Reference Manual, User Guide"
353 "LaTex",,"pdf version of Reference Manual and User Guide"
354 "PdfLaTex",,"pdf version of Reference Manual and User Guide"
355
356Dependency chain:
357
358.. uml::
359
360 @startuml
361 skinparam state {
362 BackgroundColor #92AEE0
363 FontColor black
364 FontSize 16
365 AttributeFontColor black
366 AttributeFontSize 16
367 BackgroundColor<<pdf>> #A293E2
368 BackgroundColor<<doc>> #90DED6
369 }
370 state fw as "Firmware" : TF-M binary
371 state c_comp as "C Compiler" : C99
372 state gmake as "GNU make"
373 state u_guide as "User Guide" <<doc>>
374 state refman as "Reference Manual" <<doc>>
375 state rtd_theme as "sphinx-rtd-theme" <<doc>>
376 state sphnix_puml as "sphinxcontrib-plantuml" <<doc>>
Summer Qincd22d1b2021-04-25 11:28:39 +0800377 state sphnix_svg as "sphinxcontrib-svg2pdfconverter" <<doc>>
Galanakis, Minos757139a2019-11-11 15:00:11 +0000378 state JRE as "JRE" <<doc>> : Java Runtime Environment
379 state gwiz as "Graphwiz dot" <<doc>>
380 state Sphinx as "Sphinx" <<doc>>
381 state m2r as "m2r" <<doc>>
382 state PlantUML as "PlantUML" <<doc>>
383 state LaTex as "LaTex" <<pdf>>
384 state PdfLaTex as "PdfLaTex" <<<<pdf>>>>
385 state Doxygen as "Doxygen" <<doc>>
386
387 [*] --> fw
388 fw --> c_comp
389 fw --> CMake
390 CMake --> gmake
391 fw --> cryptography
392 fw --> pyasn1
393 fw --> yaml
394 fw --> jinja2
395 fw --> cbor
Balint Matyi3bae8832020-06-22 15:34:12 +0200396 fw --> click
Balint Matyid9abb492020-06-22 08:35:52 +0100397 fw --> imgtool
Galanakis, Minos757139a2019-11-11 15:00:11 +0000398 cryptography --> Python3
399 pyasn1 --> Python3
400 yaml --> Python3
401 jinja2 --> Python3
402 cbor --> Python3
Balint Matyi3bae8832020-06-22 15:34:12 +0200403 click --> Python3
Balint Matyid9abb492020-06-22 08:35:52 +0100404 imgtool --> Python3
Galanakis, Minos757139a2019-11-11 15:00:11 +0000405
406 [*] --> u_guide
407 u_guide --> Sphinx
408 Sphinx --> m2r
409 Sphinx --> rtd_theme
410 Sphinx --> sphnix_puml
Summer Qincd22d1b2021-04-25 11:28:39 +0800411 Sphinx --> sphnix_svg
Galanakis, Minos757139a2019-11-11 15:00:11 +0000412 m2r --> Python3
413 rtd_theme --> Python3
414 sphnix_puml --> Python3
Summer Qincd22d1b2021-04-25 11:28:39 +0800415 sphnix_svg --> Python3
Galanakis, Minos757139a2019-11-11 15:00:11 +0000416 Sphinx --> PlantUML
417 PlantUML --> JRE
418 PlantUML --> gwiz
419 Sphinx --> LaTex
420 LaTex --> PdfLaTex
421
422 [*] --> refman
423 refman --> Doxygen
424 Doxygen --> PlantUML
425 Doxygen --> LaTex
426 state Legend {
427 state x as "For PDF generation only" <<pdf>>
428 state y as "For document generation only" <<doc>>
429 state z as "Mandatory"
430 }
431
432 @enduml
433
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200434--------------
435
Mark Horvathed3980e2021-03-05 13:12:20 +0100436*Copyright (c) 2017-2021, Arm Limited. All rights reserved.*