|
13 | 13 | - [Hardware requirements RT1060 + 88W8801 + K32W0x1DK6](#hardware-requirements-rt1060--88w8801--k32w0x1dk6) |
14 | 14 | - [Building](#building) |
15 | 15 | - [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) |
24 | 16 | - [Manufacturing data](#manufacturing-data) |
25 | 17 | - [Flashing and debugging](#flashing-and-debugging) |
26 | 18 | - [Testing the example](#testing-the-example) |
@@ -289,166 +281,6 @@ automatically by the host build in |
289 | 281 | > [How to customize the CMake build](./nxp_examples_freertos_platforms.md#how-to-customize-the-cmake-build) |
290 | 282 | > section. |
291 | 283 |
|
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 | | - |
452 | 284 | <a name="manufacturing"></a> |
453 | 285 |
|
454 | 286 | ## Manufacturing data |
|
0 commit comments