Skip to content

Commit 74647d1

Browse files
authored
[NXP] Deprecating GN build support for NXP MCUs, retaining only minimal application support for the MCXW72 and RW61X platforms (project-chip#41060)
* [NXP] Deprecating GN build support for NXP MCUs, retaining only minimal application support for the MCXW72 and RW61X platforms Signed-off-by: Gatien Chapon <[email protected]> * Restyling + fix readme bad references Signed-off-by: Gatien Chapon <[email protected]> * Removing cmake option for nxp build from all_targets_linux_x64.txt Signed-off-by: Gatien Chapon <[email protected]> * Updating documentation to remove cmake arg when build NXP freeRTOS example using build_example.py script Signed-off-by: Gatien Chapon <[email protected]> --------- Signed-off-by: Gatien Chapon <[email protected]>
1 parent d83c06e commit 74647d1

File tree

101 files changed

+229
-8657
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+229
-8657
lines changed

.github/workflows/examples-nxp.yaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -73,21 +73,21 @@ jobs:
7373
run: |
7474
scripts/run_in_build_env.sh "\
7575
./scripts/build/build_examples.py \
76-
--target nxp-mcxw71-freertos-contact-sensor-thread-mtd-low-power-cmake-frdm \
76+
--target nxp-mcxw71-freertos-contact-sensor-thread-mtd-low-power-frdm \
7777
build \
7878
"
7979
- name: Get MCXW71 contact sensor size stats
8080
run: |
8181
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
8282
nxp mcxw71+release contact \
83-
out/nxp-mcxw71-freertos-contact-sensor-thread-mtd-low-power-cmake-frdm/app.elf \
83+
out/nxp-mcxw71-freertos-contact-sensor-thread-mtd-low-power-frdm/app.elf \
8484
/tmp/bloat_reports/
8585
8686
- name: Build MCXW72 examples
8787
run: |
8888
scripts/run_in_build_env.sh "\
8989
./scripts/build/build_examples.py \
90-
--target nxp-mcxw72-freertos-contact-sensor-thread-mtd-low-power-cmake-frdm \
90+
--target nxp-mcxw72-freertos-contact-sensor-thread-mtd-low-power-frdm \
9191
build \
9292
"
9393
@@ -101,7 +101,7 @@ jobs:
101101
run: |
102102
scripts/run_in_build_env.sh "\
103103
./scripts/build/build_examples.py \
104-
--target nxp-rt1060-freertos-thermostat-thread-wifi-ota-evkc-iwx12-cmake \
104+
--target nxp-rt1060-freertos-thermostat-thread-wifi-ota-evkc-iwx12 \
105105
build \
106106
"
107107
@@ -115,7 +115,7 @@ jobs:
115115
run: |
116116
scripts/run_in_build_env.sh "\
117117
./scripts/build/build_examples.py \
118-
--target nxp-rt1170-freertos-thermostat-thread-wifi-ota-iwx12-cmake \
118+
--target nxp-rt1170-freertos-thermostat-thread-wifi-ota-iwx12 \
119119
build \
120120
"
121121
@@ -126,15 +126,15 @@ jobs:
126126
run: |
127127
scripts/run_in_build_env.sh "\
128128
./scripts/build/build_examples.py \
129-
--target nxp-rw61x-freertos-thermostat-thread-wifi-ota-factory-cmake \
130-
--target nxp-rw61x-freertos-thermostat-wifi-se05x-cmake \
129+
--target nxp-rw61x-freertos-thermostat-thread-wifi-ota-factory \
130+
--target nxp-rw61x-freertos-thermostat-wifi-se05x \
131131
build \
132132
"
133133
- name: Build RW61X thermostat ethernet example app
134134
run: |
135135
scripts/run_in_build_env.sh "\
136136
./scripts/build/build_examples.py \
137-
--target nxp-rw61x-freertos-thermostat-ethernet-cmake-frdm \
137+
--target nxp-rw61x-freertos-thermostat-ethernet-frdm \
138138
build \
139139
"
140140

docs/platforms/nxp/nxp_rt1060_guide.md

Lines changed: 0 additions & 168 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,6 @@
1313
- [Hardware requirements RT1060 + 88W8801 + K32W0x1DK6](#hardware-requirements-rt1060--88w8801--k32w0x1dk6)
1414
- [Building](#building)
1515
- [CMake Build System](#cmake-build-system)
16-
- [GN Build System](#gn-build-system)
17-
- [Building with Matter over Wifi configuration on RT1060 + transceiver](#building-with-matter-over-wifi-configuration-on-rt1060--transceiver)
18-
- [Build with Matter over Thread configuration on RT1060 + transceiver](#build-with-matter-over-thread-configuration-on-rt1060--transceiver)
19-
- [Build with Matter over Thread configuration on RT1060 + K32W0](#build-with-matter-over-thread-configuration-on-rt1060--k32w0)
20-
- [Build with Matter over Thread configuration on RT1060-EVK-C + IW612](#build-with-matter-over-thread-configuration-on-rt1060-evk-c--iw612)
21-
- [Build with Matter over Wi-Fi + OpenThread Border Router configuration on RT1060-EVK-C + IW612](#build-with-matter-over-wi-fi--openthread-border-router-configuration-on-rt1060-evk-c--iw612)
22-
- [Build with Matter over Wi-Fi + OpenThread Border Router configuration on RT1060 + 88W8801 + K32W0x1DK6](#build-with-matter-over-wi-fi--openthread-border-router-configuration-on-rt1060--88w8801--k32w0x1dk6)
23-
- [General Information](#general-information)
2416
- [Manufacturing data](#manufacturing-data)
2517
- [Flashing and debugging](#flashing-and-debugging)
2618
- [Testing the example](#testing-the-example)
@@ -289,166 +281,6 @@ automatically by the host build in
289281
> [How to customize the CMake build](./nxp_examples_freertos_platforms.md#how-to-customize-the-cmake-build)
290282
> section.
291283
292-
### GN Build System
293-
294-
#### Building with Matter over Wifi configuration on RT1060 + transceiver
295-
296-
- Build the Wi-fi configuration for **MIMXRT1060-EVK-B board + IW416
297-
transceiver** (with BLE for commissioning).
298-
299-
```
300-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ gn gen --args="chip_enable_wifi=true iw416_transceiver=true" out/debug
301-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ ninja -C out/debug
302-
```
303-
304-
- Build the Wi-fi configuration for **MIMXRT1060-EVK-B board + 88W8801
305-
transceiver** with Matter-over-Wifi configuration and only onnetwork
306-
commissioning (without BLE, the WiFi network credentials are provided at
307-
build-time which will enable the device to join the Wi-Fi AP at startup):
308-
309-
```
310-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ export ssid_name=<nwk_ssid> && export ssid_password=<nwk_password> && gn gen --args="chip_enable_wifi=true w8801_transceiver=true chip_config_network_layer_ble=false wifi_auto_connect_at_boot=true wifi_auto_connect_at_boot_ssid=\"${ssid_name}\" wifi_auto_connect_at_boot_password=\"${ssid_password}\"" out/debug
311-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ ninja -C out/debug
312-
```
313-
314-
- Build the Wi-fi configuration for **MIMXRT1060-EVK-C board + IW612
315-
transceiver** (with BLE for commissioning).
316-
317-
```
318-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ gn gen --args="chip_enable_wifi=true iwx12_transceiver=true evkname=\"evkcmimxrt1060\" " out/debug
319-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ ninja -C out/debug
320-
```
321-
322-
- Build the Wi-fi configuration for **MIMXRT1060-EVK-C board + IW612
323-
transceiver** with Matter-over-Wifi configuration and only onnetwork
324-
commissioning (without BLE, the WiFi network credentials are provided at
325-
build-time which will enable the device to join the Wi-Fi AP at startup):
326-
327-
```
328-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ export ssid_name=<nwk_ssid> && export ssid_password=<nwk_password> && gn gen --args="chip_enable_wifi=true iwx12_transceiver=true evkname=\"evkcmimxrt1060\" chip_config_network_layer_ble=false wifi_auto_connect_at_boot=true wifi_auto_connect_at_boot_ssid=\"${ssid_name}\" wifi_auto_connect_at_boot_password=\"${ssid_password}\"" out/debug
329-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ ninja -C out/debug
330-
```
331-
332-
#### Build with Matter over Thread configuration on RT1060 + transceiver
333-
334-
##### Build with Matter over Thread configuration on RT1060 + K32W0
335-
336-
For this configuration a K32W0 RCP image is required and must support in a
337-
single image the openthread RCP configuration and the BLE HCI BB configuration.
338-
Messages between the host and the K32W0 transceiver are transferred on a single
339-
UART with flow control support. For that the HDLC-Lite framing protocol is used
340-
to transfer spinel and hci frames. In addition, hci and spinel frames can be
341-
distinguished by using the Spinel convention which is line compatible with
342-
BT/BLE HCI.
343-
344-
Before building the Matter host application, it is required to generate the
345-
K32W0 image supporting features as described above. To build this binary the
346-
target `ot_rcp_ble_hci_bb_single_uart_fc` should be built by following the
347-
[Readme.md][ot_rcp_ble_hci_bb_k32w0_readme]. After a successful build, a `".h"`
348-
file will be generated and would contain the K32W0 RCP binary. As described in
349-
the [Readme.md][ot_rcp_ble_hci_bb_k32w0_readme], the application binaries will
350-
be generated in
351-
`ot_nxp/build_k32w061/ot_rcp_ble_hci_bb_single_uart_fc/bin/ot-rcp-ble-hci-bb-k32w061.elf.bin.h`.
352-
353-
The generate K32W0 transceiver binary `".h"` file path must be indicated to the
354-
host Matter application build. In fact the Matter host application is in charge
355-
of storing the K32W0 firmware in its flash to be able to use the
356-
`The Over The Wire (OTW) protocol (over UART)` to download (at host startup) the
357-
k32w0 transceiver image from the host to the K32W0 internal flash. For more
358-
information on the k32w0 `OTW` protocol, user can consult the doxygen header of
359-
the file located in
360-
`<repo_root>/third_party/nxp/nxp_matter_support/github_sdk/sdk_next/repo/middleware/wireless/framework/OTW/k32w0_transceiver/fwk_otw.c`.
361-
362-
Here is a summary of the k32w0 _gn gen_ arguments that are mandatory or
363-
optional:
364-
365-
- Mandatory: `k32w0_transceiver=true`
366-
- Mandatory: `hci_spinel_single_uart=true`
367-
- Optional:
368-
`k32w0_transceiver_bin_path=\"/home/ot-nxp/build_k32w061/ot_rcp_ble_hci_bb_single_uart_fc/bin/ot-rcp-ble-hci-bb-k32w061.elf.bin.h\"`
369-
This argument is optional, by default, if not set, the binary file located
370-
in
371-
"\${chip_root}/third_party/openthread/ot_nxp/build_k32w061/ot_rcp_ble_hci_bb_single_uart_fc/bin/ot-rcp-ble-hci-bb-k32w061.elf.bin.h"
372-
will be used. If the K32W061 transceiver binary is saved at another location
373-
an absolute path of its location should be given.
374-
- Optional: `otw_logs_enabled=true` This argument is optional, by default
375-
being set to false. If set to true, RT logging will print the `OTW` logs.
376-
377-
[ot_rcp_ble_hci_bb_k32w0_readme]:
378-
https://github.com/NXP/ot-nxp/blob/v1.0.0.2-tag-nxp/examples/hybrid/ot_rcp_ble_hci_bb/k32w061/README.md#building-the-examples
379-
380-
Below is presented an example of _gn gen_ argument that could be used to
381-
generate the host matter application with a k32w0 transceiver.
382-
383-
```
384-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ gn gen --args="chip_enable_openthread=true k32w0_transceiver=true k32w0_transceiver_bin_path=\"/home/ot-nxp/build_k32w061/ot_rcp_ble_hci_bb_single_uart_fc/bin/ot-rcp-ble-hci-bb-k32w061.elf.bin.h\" hci_spinel_single_uart=true chip_inet_config_enable_ipv4=false chip_config_network_layer_ble=true" out/debug
385-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ ninja -C out/debug
386-
```
387-
388-
##### Build with Matter over Thread configuration on RT1060-EVK-C + IW612
389-
390-
Build the OpenThread configuration for MIMXRT1060-EVK-C board + IW612
391-
transceiver (with BLE for commissioning).
392-
393-
```
394-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ gn gen --args="chip_enable_openthread=true iwx12_transceiver=true evkname=\"evkcmimxrt1060\" chip_inet_config_enable_ipv4=false chip_config_network_layer_ble=true" " out/debug
395-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ ninja -C out/debug
396-
```
397-
398-
##### Build with Matter over Wi-Fi + OpenThread Border Router configuration on RT1060-EVK-C + IW612
399-
400-
This configuration supports the Thread Border Router management cluster to
401-
provision the Thread credentials. Enabling the Matter CLI in order to control
402-
the Thread network on the Border Router is optional but recommended for other
403-
features like the Thread credential sharing.
404-
405-
Note that the Thread Border Router management cluster is only supported on the
406-
thermostat application for now.
407-
408-
- Build Matter with Border Router configuration with ble-wifi commissioning:
409-
410-
```
411-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/thermostat/nxp/rt/rt1060$ gn gen --args="chip_enable_openthread=true iwx12_transceiver=true evkname=\"evkcmimxrt1060\" chip_enable_wifi=true chip_inet_config_enable_ipv4=false chip_config_network_layer_ble=true chip_enable_secondary_nwk_if=true chip_device_config_thread_network_endpoint_id=2" " out/debug
412-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/thermostat/nxp/rt/rt1060$ ninja -C out/debug
413-
```
414-
415-
##### Build with Matter over Wi-Fi + OpenThread Border Router configuration on RT1060 + 88W8801 + K32W0x1DK6
416-
417-
This configuration supports the Thread Border Router management cluster to
418-
provision the Thread credentials. Enabling the Matter CLI in order to control
419-
the Thread network on the Border Router is optional but recommended for other
420-
features like the Thread credential sharing.
421-
422-
Note that the Thread Border Router management cluster is only supported on the
423-
thermostat application for now.
424-
425-
- Build Matter with Border Router configuration with ble-wifi commissioning:
426-
427-
```
428-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/thermostat/nxp/rt/rt1060$ gn gen --args="chip_enable_wifi=true w8801_transceiver=true nxp_enable_matter_cli=true chip_config_network_layer_ble=true chip_enable_openthread=true k32w0_transceiver=true chip_enable_secondary_nwk_if=true chip_device_config_thread_network_endpoint_id=2 k32w0_transceiver_bin_path=\"/path/to/ot-rcp/ot-rcp-ble-hci-bb-k32w061.elf.bin.h\" hci_spinel_single_uart=true " out/debug
429-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/thermostat/nxp/rt/rt1060$ ninja -C out/debug
430-
```
431-
432-
- Build Matter with Border Router configuration with onnetwork commissioning:
433-
434-
```
435-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ export ssid_name=<nwk_ssid> && export ssid_password=<nwk_password> && gn gen --args="chip_enable_wifi=true w8801_transceiver=true chip_enable_secondary_nwk_if=true chip_device_config_thread_network_endpoint_id=2 nxp_enable_matter_cli=true chip_config_network_layer_ble=false wifi_auto_connect_at_boot=true wifi_auto_connect_at_boot_ssid=\"${ssid_name}\" wifi_auto_connect_at_boot_password=\"${ssid_password}\" chip_enable_openthread=true k32w0_transceiver=true k32w0_transceiver_bin_path=\"/path/to/ot-rcp/ot-rcp-ble-hci-bb-k32w061.elf.bin.h\"" out/debug
436-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1060$ ninja -C out/debug
437-
```
438-
439-
#### General Information
440-
441-
The resulting output file can be found in
442-
out/debug/chip-rt1060-all-cluster-example.
443-
444-
Additional GN options can be added when building the application. You can check
445-
[Common GN options to FreeRTOS platforms](./nxp_examples_freertos_platforms.md#general-information)
446-
for the full list. Below is the list of RT1060 specific GN options :
447-
448-
- By default, the MIMXRT1060-EVK-B will be chosen by the application. To
449-
switch to an MIMXRT1060-EVK, the argument `evkname=\"evkmimxrt1060\"` must
450-
be added to the _gn gen_ command.
451-
452284
<a name="manufacturing"></a>
453285

454286
## Manufacturing data

docs/platforms/nxp/nxp_rt1170_guide.md

Lines changed: 0 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,6 @@
1111
- [Board settings (Spinel over SPI, I2C, BLE over UART)](#board-settings-spinel-over-spi-i2c-ble-over-uart)
1212
- [Building](#building)
1313
- [CMake Build System](#cmake-build-system)
14-
- [GN Build System](#gn-build-system)
15-
- [Building with Matter over Wifi configuration on RT1170 + IW612](#building-with-matter-over-wifi-configuration-on-rt1170--iw612)
16-
- [Building with Matter over Thread configuration on RT1170 + IW612](#building-with-matter-over-thread-configuration-on-rt1170--iw612)
17-
- [Building with Matter over Wifi + OpenThread Border Router configuration on RT1170 + IW612](#building-with-matter-over-wifi--openthread-border-router-configuration-on-rt1170--iw612)
1814
- [General information](#general-information)
1915
- [Manufacturing data](#manufacturing-data)
2016
- [Flashing and debugging](#flashing-and-debugging)
@@ -56,7 +52,6 @@ over Thread on RT1170 :
5652
RT1170 platform supports two different build systems to generate the application
5753
:
5854

59-
- `GN`
6055
- `CMake`
6156

6257
### Hardware requirements for RT1170 + IW612
@@ -183,55 +178,6 @@ to check all the supported configurations.
183178
> [How to customize the CMake build](./nxp_examples_freertos_platforms.md#how-to-customize-the-cmake-build)
184179
> section.
185180
186-
### GN Build System
187-
188-
#### Building with Matter over Wifi configuration on RT1170 + IW612
189-
190-
- Build the Wi-fi configuration for MIMXRT1170 board + IW612 transceiver (with
191-
BLE for commissioning).
192-
193-
```
194-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1170$ gn gen --args="chip_enable_wifi=true iwx12_transceiver=true chip_config_network_layer_ble=true chip_enable_ble=true " out/debug
195-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1170$ ninja -C out/debug
196-
```
197-
198-
#### Building with Matter over Thread configuration on RT1170 + IW612
199-
200-
- Build the Openthread configuration for MIMXRT1170 board + IW612 transceiver
201-
(with BLE for commissioning).
202-
203-
```
204-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-cluster/nxp/rt/rt1170$ gn gen --args="chip_enable_openthread=true iwx12_transceiver=true chip_inet_config_enable_ipv4=false chip_config_network_layer_ble=true" out/debug
205-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-cluster/nxp/rt/rt1170/$ ninja -C out/debug
206-
```
207-
208-
#### Building with Matter over Wifi + OpenThread Border Router configuration on RT1170 + IW612
209-
210-
This configuration supports the Thread Border Router management cluster to
211-
provision the Thread credentials. Enabling the Matter CLI in order to control
212-
the Thread network on the Border Router is optional but recommended for other
213-
features like the Thread credential sharing.
214-
215-
Note that the Thread Border Router management cluster is only supported on the
216-
thermostat application for now.
217-
218-
- Build Matter with Border Router configuration with BLE commissioning
219-
(ble-wifi) :
220-
221-
```
222-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt11170$ gn gen --args="chip_enable_wifi=true iwx12_transceiver=true chip_config_network_layer_ble=true chip_enable_ble=true chip_enable_openthread=true nxp_enable_matter_cli=true" out/debug
223-
user@ubuntu:~/Desktop/git/connectedhomeip/examples/all-clusters-app/nxp/rt/rt1170$ ninja -C out/debug
224-
```
225-
226-
### General information
227-
228-
The resulting output file can be found in
229-
out/debug/chip-rt1170-all-cluster-example.
230-
231-
Additional GN options can be added when building the application. You can check
232-
[Common GN options to FreeRTOS platforms](./nxp_examples_freertos_platforms.md#general-information)
233-
for the full list.
234-
235181
## Manufacturing data
236182

237183
See

examples/all-clusters-app/nxp/rt/rt1060/.gn

Lines changed: 0 additions & 35 deletions
This file was deleted.

0 commit comments

Comments
 (0)