Skip to content

Commit 2f733ef

Browse files
committed
docs: nxp: Add documentation for frdmmcxa577 platform
Change-Id: I08570d680f6dad22ba6fac87f38bfcff42242b16 Signed-off-by: Waqar Tahir <waqar.tahir@nxp.com>
1 parent ff93a09 commit 2f733ef

2 files changed

Lines changed: 193 additions & 1 deletion

File tree

Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
############
2+
FRDM-MCXA577
3+
############
4+
5+
The NXP FRDM-MCXA577 is a development board for the N94x 150 MHz Arm Cortex-M33 TrustZone microcontroller, which is for Industrial and Consumer IoT Applications.
6+
7+
MCU device and part on board is shown below:
8+
9+
* Device: MCXA577
10+
* Boardname: frdmmcxa577
11+
12+
You can find more information about the `FRDM-MCXA577 on the official NXP product page`_.
13+
14+
****************
15+
1. Building TF-M
16+
****************
17+
18+
Prepare the tf-m-tests repository inside the TF-M base folder.
19+
20+
.. code-block:: bash
21+
22+
cd <TF-M base folder>
23+
git clone https://git.trustedfirmware.org/TF-M/tf-m-tests.git
24+
25+
There are two options for the TF-M build - with or without secondary bootloader (BL2).
26+
27+
1.1 Building TF-M demo with BL2
28+
===============================
29+
To build S and NS application image with BL2, run the following commands:
30+
31+
.. code:: bash
32+
33+
cd <TF-M base folder>/tf-m-test/tests_reg
34+
cmake -S spe -B build_spe \
35+
-DTFM_PLATFORM=nxp/frdmmcxa577 \
36+
-DCONFIG_TFM_SOURCE_PATH=<TF-M base folder>/trusted-firmware-m \
37+
-G "Unix Makefiles" \
38+
-DBL2=ON \
39+
-DTFM_BL2_LOG_LEVEL=LOG_LEVEL_INFO
40+
cmake --build build_spe -- install
41+
cmake -S . -B build_test -G"Unix Makefiles" \
42+
-DCONFIG_SPE_PATH=<TF-M base folder>/tf-m-tests/tests_reg/build_spe/api_ns
43+
cmake --build build_test
44+
45+
46+
1.2 Building TF-M demo without BL2
47+
==================================
48+
To build S and NS application image without a BL2, run the following commands:
49+
50+
.. code:: bash
51+
52+
cd <TF-M base folder>/tf-m-test/tests_reg
53+
cmake -S spe -B build_spe -DTFM_PLATFORM=nxp/frdmmcxa577 \
54+
-DCONFIG_TFM_SOURCE_PATH=<TF-M base folder>/trusted-firmware-m \
55+
-G"Unix Makefiles" \
56+
-DBL2=OFF
57+
cmake --build build_spe -- install
58+
cmake -S . -B build_test -G"Unix Makefiles" \
59+
-DCONFIG_SPE_PATH=<TF-M base folder>/tf-m-tests/tests_reg/build_spe/api_ns
60+
cmake --build build_test
61+
62+
1.3 Building TF-M regression tests
63+
==================================
64+
65+
To build the S and NS regression tests without BL2, run the following commands:
66+
67+
* Profile Medium:
68+
69+
.. code:: bash
70+
71+
cd <TF-M base folder>/tf-m-test/tests_reg
72+
cmake -S spe -B build_spe -DTFM_PLATFORM=nxp/frdmmcxa577 \
73+
-DCONFIG_TFM_SOURCE_PATH=<TF-M base folder>/trusted-firmware-m \
74+
-G"Unix Makefiles" \
75+
-DTFM_PROFILE=profile_medium \
76+
-DTEST_S=ON \
77+
-DTEST_NS=ON \
78+
-DBL2=OFF
79+
cmake --build build_spe -- install
80+
cmake -S . -B build_test -G"Unix Makefiles" \
81+
-DCONFIG_SPE_PATH=<TF-M base folder>/tf-m-tests/tests_reg/build_spe/api_ns
82+
cmake --build build_test
83+
84+
1.4 Building TF-M regression tests with BL2
85+
===========================================
86+
87+
To build the S and NS regression tests With BL2, run the following commands:
88+
89+
* Profile Medium:
90+
91+
.. code:: bash
92+
93+
cd <TF-M base folder>/tf-m-test/tests_reg
94+
cmake -S spe -B build_spe -DTFM_PLATFORM=nxp/frdmmcxa577 \
95+
-DCONFIG_TFM_SOURCE_PATH=<TF-M base folder>/trusted-firmware-m \
96+
-G"Unix Makefiles" \
97+
-DTFM_PROFILE=profile_medium \
98+
-DTEST_S=ON \
99+
-DTEST_NS=ON \
100+
-DBL2=ON \
101+
-DTFM_BL2_LOG_LEVEL=LOG_LEVEL_INFO
102+
cmake --build build_spe -- install
103+
cmake -S . -B build_test -G"Unix Makefiles" \
104+
-DCONFIG_SPE_PATH=<TF-M base folder>/tf-m-tests/tests_reg/build_spe/api_ns
105+
cmake --build build_test
106+
107+
* Profile Small:
108+
109+
.. code:: bash
110+
111+
cd <TF-M base folder>/tf-m-test/tests_reg
112+
cmake -S spe -B build_spe_small -DTFM_PLATFORM=nxp/frdmmcxa577 \
113+
-DCONFIG_TFM_SOURCE_PATH=C:/Code/tfm-upstream/trusted-firmware-m \
114+
-G"Unix Makefiles" \
115+
-DBL2=ON \
116+
-DTFM_PROFILE=profile_small \
117+
-DTEST_S=ON \
118+
-DTEST_NS=ON \
119+
-DTEST_S_CRYPTO=ON \
120+
-DTEST_NS_CRYPTO=ON \
121+
-DTEST_S_ATTESTATION=OFF \
122+
-DTEST_S_STORAGE=OFF \
123+
-DTEST_S_PLATFORM=OFF \
124+
-DTEST_NS_ATTESTATION=OFF \
125+
-DTEST_NS_STORAGE=OFF \
126+
-DTEST_NS_PLATFORM=OFF \
127+
-DTEST_S_PLATFORM=OFF \
128+
-DTEST_NS_SFN_BACKEND=OFF \
129+
-DTEST_S_SFN_BACKEND=OFF \
130+
-DTFM_BL2_LOG_LEVEL=LOG_LEVEL_INFO
131+
cmake --build build_spe_small -- install
132+
cmake -S . -B build_test_small -G"Unix Makefiles" \
133+
-DCONFIG_SPE_PATH=C:/Code/tfm-upstream/tf-m-tests/tests_reg/build_spe_small/api_ns
134+
cmake --build build_test_small
135+
136+
137+
***********************************
138+
2. Flashing TF-M with Segger J-Link
139+
***********************************
140+
141+
To install the J-Link Software and documentation pack, follow the steps below:
142+
143+
#. Download the appropriate package from the `J-Link Software and documentation pack`_ website
144+
#. Depending on platform, install the package or run the installer
145+
#. When connecting a J-Link-enabled board such as an frdmmcxa577 , a serial port should come up
146+
147+
Flash them with JLink as follows:
148+
149+
* Flash Erase:
150+
151+
.. code-block:: console
152+
153+
JLinkExe -device MCXA577 -if swd -speed 4000 -autoconnect 1
154+
J-Link>exec EnableEraseAllFlashBanks
155+
J-Link>erase
156+
J-Link>r
157+
158+
* Flash Write:
159+
160+
161+
If you built TF-M with the BL2 secondary bootloader, use the following commands:
162+
163+
.. code-block:: console
164+
165+
JLinkExe -device MCXA577 -if swd -speed 4000 -autoconnect 1
166+
J-Link>r
167+
J-Link>h
168+
J-Link>loadfile build_spe/bin/bl2.bin 0x00
169+
J-Link>h
170+
J-Link>loadfile build_test/bin/tfm_s_ns_signed.bin 0x10000
171+
J-Link>r
172+
173+
When BL2 is disabled, flash the generated hex secure and non-secure images:
174+
175+
.. code-block:: console
176+
177+
JLinkExe -device MCXA577 -if swd -speed 4000 -autoconnect 1
178+
J-Link>r
179+
J-Link>h
180+
J-Link>loadfile build_spe/bin/tfm_s.bin 0x00
181+
J-Link>h
182+
J-Link>loadfile build_spe/bin/tfm_ns.bin 0x30000
183+
J-Link>r
184+
185+
.. _J-Link Software and documentation pack: https://www.segger.com/jlink-software.html
186+
.. _FRDM-MCXA577 on the official NXP product page : https://www.nxp.com/design/design-center/development-boards-and-designs/FRDM-MCXA577
187+
188+
--------------
189+
190+
*Copyright 2025 NXP*
191+
*SPDX-License-Identifier: BSD-3-Clause*

docs/platform/nxp/index.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@ This document contains SOC and boards supported by NXP.
1212
LPCXpresso55S69 <lpcxpresso55s69/README.rst>
1313
FRDM-MCXN947 <frdmmcxn947/README.rst>
1414
MCIMX93-EVK <mcimx93evk/README.rst>
15+
FRDM-MCXA577 <frdmmcxa577/README.rst>
1516

1617
--------------
1718

18-
*Copyright 2025 NXP*
19+
*Copyright 2025-2026 NXP*
1920
*SPDX-License-Identifier: BSD-3-Clause*

0 commit comments

Comments
 (0)