8000 [NXP][CMake][MCXW7x] Fix build issues when enabling "factory-data" and "OTA" by marian-chereji-nxp · Pull Request #39853 · project-chip/connectedhomeip · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

[NXP][CMake][MCXW7x] Fix build issues when enabling "factory-data" and "OTA" #39853

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

marian-chereji-nxp
Copy link
Contributor

Summary

A series of fixes and optimizations of the newly added CMake build system for NXP Matter apps.

Testing

Manually tested.

Copy link
Contributor
@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces several fixes and optimizations for the NXP CMake build system, particularly for factory data and OTA configurations. The changes include adjusting debug optimization levels, disabling warnings as errors in debug builds, and enabling persistent subscriptions for MTD devices, which are all reasonable improvements.

However, I've identified an issue in config/nxp/cmake/Kconfig.matter.common where an if condition for ICD-related settings has been moved, incorrectly exposing some ICD-specific options even when ICD support is disabled. This could lead to user confusion and should be corrected. Details are in the specific comment.

Copy link
github-actions bot commented Jul 4, 2025

PR #39853: Size comparison from 02d5c4a to 7cfc855

Full report (71 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 02d5c4a 7cfc855 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1103302 1103302 0 0.0
RAM 179026 179026 0 0.0
bl702 lighting-app bl702+eth FLASH 656454 656454 0 0.0
RAM 134977 134977 0 0.0
bl702+wifi FLASH 833892 833892 0 0.0
RAM 124541 124541 0 0.0
bl706+mfd+rpc+littlefs FLASH 1066262 1066262 0 0.0
RAM 117397 117397 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 895808 895808 0 0.0
RAM 105676 105676 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 979526 979526 0 0.0
RAM 109876 109876 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 764080 764080 0 0.0
RAM 103368 103368 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 775772 775772 0 0.0
RAM 108536 108536 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 721880 721880 0 0.0
RAM 96940 96940 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 706180 706180 0 0.0
RAM 97148 97148 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549470 549470 0 0.0
RAM 205144 205144 0 0.0
lock CC3235SF_LAUNCHXL FLASH 582590 582590 0 0.0
RAM 205344 205344 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 663541 663541 0 0.0
RAM 77472 77472 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 683385 683385 0 0.0
RAM 80112 80112 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 683385 683385 0 0.0
RAM 80112 80112 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 640325 640325 0 0.0
RAM 72540 72540 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 624917 624917 0 0.0
RAM 73784 73784 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 644545 644545 0 0.0
RAM 76336 76336 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 644545 644545 0 0.0
RAM 76336 76336 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 645853 645853 0 0.0
RAM 76784 76784 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 665561 665561 0 0.0
RAM 79336 79336 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 665561 665561 0 0.0
RAM 79336 79336 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 620529 620529 0 0.0
RAM 70888 70888 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 640381 640381 0 0.0
RAM 73520 73520 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 640381 640381 0 0.0
RAM 73520 73520 0 0.0
efr32 lock-app BRD4187C FLASH 948148 948148 0 0.0
RAM 131528 131528 0 0.0
BRD4338a FLASH 745604 745596 -8 -0.0
RAM 206896 206896 0 0.0
window-app BRD4187C FLASH 1041512 1041504 -8 -0.0
RAM 127656 127656 0 0.0
esp32 all-clusters-app c3devkit DRAM 102272 102272 0 0.0
FLASH 1781456 1781456 0 0.0
IRAM 83862 83862 0 0.0
m5stack DRAM 121156 121156 0 0.0
FLASH 1748690 1748690 0 0.0
IRAM 117071 117071 0 0.0
linux air-purifier-app debug unknown 4848 4848 0 0.0
FLASH 2798168 2798168 0 0.0
RAM 117384 117384 0 0.0
all-clusters-app debug unknown 5664 5664 0 0.0
FLASH 6201702 6201702 0 0.0
RAM 531264 531264 0 0.0
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5475538 5475538 0 0.0
RAM 228088 228088 0 0.0
bridge-app debug unknown 5560 5560 0 0.0
FLASH 4808818 4808818 0 0.0
RAM 207776 207776 0 0.0
camera-app debug unknown 8968 8968 0 0.0
FLASH 6935563 6935563 0 0.0
RAM 230088 230088 0 0.0
camera-controller debug unknown 9184 9184 0 0.0
FLASH 14373755 14373755 0 0.0
RAM 661336 661336 0 0.0
chip-tool debug unknown 6240 6240 0 0.0
FLASH 14721407 14721407 0 0.0
RAM 654856 654856 0 0.0
chip-tool-ipv6only arm64 unknown 40648 40648 0 0.0
FLASH 12698415 12698415 0 0.0
RAM 701152 701152 0 0.0
fabric-admin debug unknown 5920 5920 0 0.0
FLASH 12784861 12784861 0 0.0
RAM 6538 10000 48 653848 0 0.0
fabric-bridge-app debug unknown 4808 4808 0 0.0
FLASH 4594998 4594998 0 0.0
RAM 193536 193536 0 0.0
fabric-sync debug unknown 5056 5056 0 0.0
FLASH 5744381 5744381 0 0.0
RAM 491728 491728 0 0.0
lighting-app debug+rpc+ui unknown 6272 6272 0 0.0
FLASH 5657729 5657729 0 0.0
RAM 209928 209928 0 0.0
lock-app debug unknown 5488 5488 0 0.0
FLASH 4839012 4839012 0 0.0
RAM 197160 197160 0 0.0
ota-provider-app debug unknown 4848 4848 0 0.0
FLASH 4447664 4447664 0 0.0
RAM 186224 186224 0 0.0
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4519822 4519822 0 0.0
RAM 189064 189064 0 0.0
shell debug unknown 4256 4256 0 0.0
FLASH 3081004 3081004 0 0.0
RAM 147328 147328 0 0.0
thermostat-no-ble arm64 unknown 9800 9800 0 0.0
FLASH 4236247 4236247 0 0.0
RAM 233392 233392 0 0.0
tv-app debug unknown 5824 5824 0 0.0
FLASH 6108701 6108701 0 0.0
RAM 615960 615960 0 0.0
tv-casting-app debug unknown 5336 5336 0 0.0
FLASH 12872445 12872445 0 0.0
RAM 771360 771360 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 889212 889212 0 0.0
RAM 166162 166162 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 897256 897256 0 0.0
RAM 145100 145100 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 859740 859740 0 0.0
RAM 141049 141049 0 0.0
nxp contact mcxw71+release FLASH 625824 625824 0 0.0
RAM 63164 63164 0 0.0
lock mcxw71+release FLASH 777056 777056 0 0.0
RAM 67820 67820 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1632916 1632916 0 0.0
RAM 211104 211104 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1577108 1577108 0 0.0
RAM 208472 208472 0 0.0
light cy8ckit_062s2_43012 FLASH 1449708 1449708 0 0.0
RAM 197184 197184 0 0.0
lock cy8ckit_062s2_43012 FLASH 1482076 1482076 0 0.0
RAM 224904 224904 0 0.0
qpg lighting-app qpg6200+debug FLASH 744800 744800 0 0.0
RAM 94220 94220 0 0.0
lock-app qpg6200+debug FLASH 754572 754572 0 0.0
RAM 94248 94248 0 0.0
stm32 light STM32WB5MM-DK FLASH 466252 466252 0 0.0
RAM 141376 141376 0 0.0
telink bridge-app tl7218x FLASH 703352 703352 0 0.0
RAM 93600 93600 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 795066 795066 0 0.0
RAM 44016 44016 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 783472 783472 0 0.0
RAM 100912 100912 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 710778 710778 0 0.0
RAM 54240 54240 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 747352 747352 0 0.0
RAM 77404 77404 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 724098 724098 0 0.0
RAM 36996 36996 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 603650 603650 0 0.0
RAM 112532 112532 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 819046 819050 4 0.0
RAM 99164 99164 0 0.0
tizen all-clusters-app arm unknown 5100 5100 0 0.0
FLASH 1698072 1698072 0 0.0
RAM 91472 91472 0 0.0
chip-tool-ubsan arm unknown 20752 20752 0 0.0
FLASH 21031098 21031098 0 0.0
RAM 9154436 9154436 0 0.0

@mergify mergify bot added the conflict label Jul 8, 2025
The ICD manager is included in the Matter data interaction model and
this forces always the build of the ICDConfigurationData.cpp/h source
file pair, disregarding whether the device is an ICD or not. These
source files require at minimum that the ICD fast poll and ICD slow
poll intervals be defined (otherwise the build breaks), hence these
parameters must be defined at all times, even when the ICD feature is
disabled.

Signed-off-by: Marian Chereji <marian.chereji@nxp.com>
ICD behavior makes sense only for MTDs (Minimal Thread Devices)
therefore it should be disabled by default for any other type of
devices.

Signed-off-by: Marian Chereji <marian.chereji@nxp.com>
Subscription persistence should be enabled for all MTDs (Minimal
Thread Devices) generated with CMake in order to align them with the
applications generated via GN.

Signed-off-by: Marian Chereji <marian.chereji@nxp.com>
…ion rather than "-O0" in debug mode

The MCXW71 platform internal flash size does not afford the use of the
"-O0" optimization level in debug mode for Matter core libraries and,
therefore, an optimization level which generates a reduced size binary
image is more appropriate. "-Og" is a debug optimization level which
generates reduced size binary images while still providing a reasonable
debuging experience.

Signed-off-by: Marian Chereji <marian.chereji@nxp.com>
…ibraries in debug mode

In debug mode the Matter core libraries are generating quite a number
of build warnings and this frequently breaks the build if they are all
treated as errors. In order to avoid this issue, the
"treat_warnings_as_errors=false" build option will be used when
building the Matter SDK in debug mode.

Signed-off-by: Marian Chereji <marian.chereji@nxp.com>
@marian-chereji-nxp marian-chereji-nxp force-pushed the bugfix/nxp-mcxw7x-fix-cmake-fdata-build branch from 7cfc855 to 1785118 Compare July 10, 2025 08:11
@mergify mergify bot removed the conflict label Jul 10, 2025
Copy link
github-actions bot commented Jul 10, 2025

PR #39853: Size comparison from dd23712 to 1785118

Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section dd23712 1785118 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1103326 1103326 0 0.0
RAM 179026 179026 0 0.0
bl702 lighting-app bl702+eth FLASH 656474 656474 0 0.0
RAM 134977 134977 0 0.0
bl702+wifi FLASH 833912 833912 0 0.0
RAM 124541 124541 0 0.0
bl706+mfd+rpc+littlefs FLASH 1066286 1066286 0 0.0
RAM 117397 117397 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 895832 895832 0 0.0
RAM 105676 105676 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 979550 979550 0 0.0
RAM 109876 109876 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 764096 764096 0 0.0
RAM 103368 103368 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 775772 775772 0 0.0
RAM 108536 108536 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 721904 721904 0 0.0
RAM 96940 96940 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 706204 706204 0 0.0
RAM 97148 97148 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549482 549482 0 0.0
RAM 205144 205144 0 0.0
lock CC3235SF_LAUNCHXL FLASH 582602 582602 0 0.0
RAM 205344 205344 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 663549 663549 0 0.0
RAM 77472 77472 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 683401 683401 0 0.0
RAM 80112 80112 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 683401 683401 0 0.0
RAM 80112 80112 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 640341 640341 0 0.0
RAM 72540 72540 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 624933 624933 0 0.0
RAM 73784 73784 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 644569 644569 0 0.0
RAM 76336 76336 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 644569 644569 0 0.0
RAM 76336 76336 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 645885 645885 0 0.0
RAM 76784 76784 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 665601 665601 0 0.0
RAM 79336 79336 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 665601 665601 0 0.0
RAM 79336 79336 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 620561 620561 0 0.0
RAM 70888 70888 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 640413 640413 0 0.0
RAM 73520 73520 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 640413 640413 0 0.0
RAM 73520 73520 0 0.0
efr32 lock-app BRD4187C FLASH 948196 948196 0 0.0
RAM 131528 131528 0 0.0
BRD4338a FLASH 749684 749676 -8 -0.0
RAM 203072 203072 0 0.0
window-app BRD4187C FLASH 1041528 1041520 -8 -0.0
RAM 127656 127656 0 0.0
esp32 all-clusters-app c3devkit DRAM 102272 102272 0 0.0
FLASH 1781550 1781550 0 0.0
IRAM 83862 83862 0 0.0
m5stack DRAM 121156 121156 0 0.0
FLASH 1748798 1748798 0 0.0
IRAM 117071 117071 0 0.0
linux air-purifier-app debug unknown 4856 4856 0 0.0
FLASH 2801826 2801826 0 0.0
RAM 117320 117320 0 0.0
all-clusters-app debug unknown 5672 5672 0 0.0
FLASH 6205432 6205432 0 0.0
RAM 531216 531216 0 0.0
all-clusters-minimal-app debug unknown 5536 5536 0 0.0
FLASH 5479092 5479092 0 0.0
RAM 228008 228008 0 0.0
bridge-app debug unknown 5568 5568 0 0.0
FLASH 4812438 4812438 0 0.0
RAM 207712 207712 0 0.0
camera-app debug unknown 8976 8976 0 0.0
FLASH 6939291 6939291 0 0.0
RAM 230024 230024 0 0.0
camera-controller debug unknown 9216 9216 0 0.0
FLASH 14374011 14374011 0 0.0
RAM 661368 661368 0 0.0
chip-tool debug unknown 6272 6272 0 0.0
FLASH 14722545 14722545 0 0.0
RAM 654880 654880 0 0.0
chip-tool-ipv6only arm64 unknown 40648 40648 0 0.0
FLASH 12699103 12699103 0 0.0
RAM 701176 701176 0 0.0
closure-app debug unknown 5536 5536 0 0.0
FLASH 4799476 4799476 0 0.0
RAM 200616 200616 0 0.0
fabric-admin debug unknown 5952 5952 0 0.0
FLASH 12785013 12785013 0 0.0
RAM 653912 653912 0 0.0
fabric-bridge-app debug unknown 4816 4816 0 0.0
FLASH 4598654 4598654 0 0.0
RAM 193424 193424 0 0.0
fabric-sync debug unknown 5056 5056 0 0.0
FLASH 5746381 5746381 0 0.0
RAM 491728 491728 0 0.0
lighting-app debug+rpc+ui unknown 6280 6280 0 0.0
FLASH 5661361 5661361 0 0.0
RAM 209848 209848 0 0.0
lock-app debug unknown 5488 5488 0 0.0
FLASH 4841044 4841044 0 0.0
RAM 197192 197192 0 0.0
ota-provider-app debug unknown 4856 4856 0 0.0
FLASH 4451252 4451252 0 0.0
RAM 186112 186112 0 0.0
ota-requestor-app debug unknown 4736 4736 0 0.0
FLASH 4523376 4523376 0 0.0
RAM 188984 188984 0 0.0
shell debug unknown 4288 4288 0 0.0
FLASH 3081260 3081260 0 0.0
RAM 147344 147344 0 0.0
thermostat-no-ble arm64 unknown 9832 9832 0 0.0
FLASH 4238655 4238655 0 0.0
RAM 233304 233304 0 0.0
tv-app debug unknown 5824 5824 0 0.0
FLASH 6110653 6110653 0 0.0
RAM 615976 615976 0 0.0
tv-casting-app debug unknown 5352 5352 0 0.0
FLASH 12876557 12876557 0 0.0
RAM 771472 771472 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 889236 889236 0 0.0
RAM 166162 166162 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 897264 897264 0 0.0
RAM 145100 145100 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 859760 859760 0 0.0
RAM 141049 141049 0 0.0
nxp contact mcxw71+release FLASH 625840 625840 0 0.0
RAM 63164 63164 0 0.0
lock mcxw71+release FLASH 777080 777080 0 0.0
RAM 67820 67820 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1632948 1632948 0 0.0
RAM 211104 211104 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1577140 1577140 0 0.0
RAM 208472 208472 0 0.0
light cy8ckit_062s2_43012 FLASH 1449724 1449724 0 0.0
RAM 197184 197184 0 0.0
lock cy8ckit_062s2_43012 FLASH 1482108 1482108 0 0.0
RAM 224904 224904 0 0.0
qpg lighting-app qpg6200+debug FLASH 744824 744824 0 0.0
RAM 94220 94220 0 0.0
lock-app qpg6200+debug FLASH 754580 754580 0 0.0
RAM 94248 94248 0 0.0
stm32 light STM32WB5MM-DK FLASH 466276 466276 0 0.0
RAM 141376 141376 0 0.0
telink bridge-app tl7218x FLASH 703360 703360 0 0.0
RAM 93600 93600 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 795074 795074 0 0.0
RAM 44016 44016 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 783480 783480 0 0.0
RAM 100912 100912 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 710786 710786 0 0.0
RAM 54240 54240 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 747360 747360 0 0.0
RAM 77404 77404 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 724106 724106 0 0.0
RAM 36996 36996 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 603658 603658 0 0.0
RAM 112532 112532 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 819054 819058 4 0.0
RAM 99164 99164 0 0.0
tizen all-clusters-app arm unknown 5096 5096 0 0.0
FLASH 1698804 1698804 0 0.0
RAM 91444 91444 0 0.0
chip-tool-ubsan arm unknown 20752 20752 0 0.0
FLASH 21032146 21032146 0 0.0
RAM 9154448 9154448 0 0.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0