10000 Better DecodableList with smaller binary size by gmarcosb · Pull Request #39605 · project-chip/connectedhomeip · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Better DecodableList with smaller binary size #39605

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

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

gmarcosb
Copy link
Contributor
@gmarcosb gmarcosb commented Jun 18, 2025

Summary

Originally an attempt to combine DecodableType & Type when there are lists in the struct; failed due to significant binary size increase

Take some of the learnings from the experiment:

  • inlined for_each to make iteration consistent with List
  • binary size reduction

Testing

CI

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 refactors list handling by unifying DecodableList to also serve as a DataModel::List, enabling DecodableType::Encode. The code replaces manual iterator loops with a lambda-based Iterate method and updates the API for DecodableList::ComputeSize. Generated code from ZAP templates has been updated to reflect this unification.

*/
CHIP_ERROR ComputeSize(size_t * size) const
CHIP_ERROR ComputeSize(size_t & size) const
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The ComputeSize method now takes a size_t& instead of size_t*.

Comment on lines 474 to 370
template <typename X>
inline CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag, DecodableList<X> list)
{
TLV::TLVType type;

ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Array, type));
CHIP_ERROR result = list.Iterate([&writer](const auto & element, bool &) -> CHIP_ERROR {
ReturnErrorOnFailure(Encode(writer, TLV::AnonymousTag(), element));
return CHIP_NO_ERROR;
});
ReturnErrorOnFailure(result);
return writer.EndContainer(type);
}

template <typename X, std::enable_if_t<DataModel::IsFabricScoped<X>::value, bool> = true>
inline CHIP_ERROR EncodeForWrite(TLV::TLVWriter & writer, TLV::Tag tag, DecodableList<X> list)
{
TLV::TLVType type;

ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Array, type));
CHIP_ERROR result = list.Iterate([&writer](const auto & element, bool &) -> CHIP_ERROR {
ReturnErrorOnFailure(EncodeForWrite(writer, TLV::AnonymousTag(), element));
return CHIP_NO_ERROR;
});
ReturnErrorOnFailure(result);
return writer.EndContainer(type);
}

template <typename X, std::enable_if_t<DataModel::IsFabricScoped<X>::value, bool> = true>
inline CHIP_ERROR EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex, DecodableList<X> list)
{
TLV::TLVType type;

ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Array, type));
CHIP_ERROR result = list.Iterate([&writer](const auto & element, bool &) -> CHIP_ERROR {
ReturnErrorOnFailure(EncodeForRead(writer, TLV::AnonymousTag(), element));
return CHIP_NO_ERROR;
});
ReturnErrorOnFailure(result);
return writer.EndContainer(type);
}
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The code adds Encode, EncodeForWrite, and EncodeForRead free functions for DecodableList<X>.

@gmarcosb gmarcosb force-pushed the better-decodable-list branch from 2be79f2 to 0e15166 Compare June 18, 2025 20:28
@mergify mergify bot removed the conflict label Jun 18, 2025
Copy link
github-actions bot commented Jun 18, 2025

PR #39605: Size comparison from f3fc26a to 0e15166

Increases above 0.2%:

platform target config section f3fc26a 0e15166 change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549382 552250 2868 0.5
lock CC3235SF_LAUNCHXL FLASH 582494 585842 3348 0.6
stm32 light STM32WB5MM-DK FLASH 466076 469388 3312 0.7
Full report (3 builds for cc32xx, stm32)
platform target config section f3fc26a 0e15166 change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549382 552250 2868 0.5
RAM 205144 205144 0 0.0
lock CC3235SF_LAUNCHXL FLASH 582494 585842 3348 0.6
RAM 205336 205336 0 0.0
stm32 light STM32WB5MM-DK FLASH 466076 469388 3312 0.7
RAM 141376 141376 0 0.0

@gmarcosb gmarcosb force-pushed the better-decodable-list branch from 0e15166 to ab621cc Compare June 18, 2025 21:05
Copy link

PR #39605: Size comparison from f3fc26a to ab621cc

Increases above 0.2%:

platform target config section f3fc26a ab621cc change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549382 552282 2900 0.5
lock CC3235SF_LAUNCHXL FLASH 582494 585874 3380 0.6
stm32 light STM32WB5MM-DK FLASH 466076 469420 3344 0.7
Full report (3 builds for cc32xx, stm32)
platform target config section f3fc26a ab621cc change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549382 552282 2900 0.5
RAM 205144 205144 0 0.0
lock CC3235SF_LAUNCHXL FLASH 582494 585874 3380 0.6
RAM 205336 205336 0 0.0
stm32 light STM32WB5MM-DK FLASH 466076 469420 3344 0.7
RAM 141376 141376 0 0.0

@gmarcosb gmarcosb force-pushed the better-decodable-list branch from ab621cc to a321223 Compare June 18, 2025 22:44
@github-actions github-actions bot added the tests label Jun 18, 2025
Copy link

PR #39605: Size comparison from f3fc26a to a321223

Increases above 0.2%:

platform target config section f3fc26a a321223 change % change
stm32 light STM32WB5MM-DK FLASH 466076 469460 3384 0.7
Full report (1 build for stm32)
platform target config section f3fc26a a321223 change % change
stm32 light STM32WB5MM-DK FLASH 466076 469460 3384 0.7
RAM 141376 141376 0 0.0

@gmarcosb gmarcosb force-pushed the better-decodable-list branch from a321223 to f3042ab Compare June 18, 2025 22:58
Copy link
github-actions bot commented Jun 18, 2025

PR #39605: Size comparison from 9b7e3cf to f3042ab

Increases above 0.2%:

platform target config section 9b7e3cf f3042ab change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549510 552426 2916 0.5
lock CC3235SF_LAUNCHXL FLASH 582622 585970 3348 0.6
stm32 light STM32WB5MM-DK FLASH 466196 469580 3384 0.7
Full report (3 builds for cc32xx, stm32)
platform target config section 9b7e3cf f3042ab change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549510 552426 2916 0.5
RAM 205144 205144 0 0.0
lock CC3235SF_LAUNCHXL FLASH 582622 585970 3348 0.6
RAM 205336 205336 0 0.0
stm32 light STM32WB5MM-DK FLASH 466196 469580 3384 0.7
RAM 141376 141376 0 0.0

@gmarcosb gmarcosb force-pushed the better-decodable-list branch 2 times, most recently from b3b6c7d to 2780215 Compare June 23, 2025 21:35
Copy link
github-actions bot commented Jun 23, 2025

PR #39605: Size comparison from 861fcd5 to 2780215

Full report (9 builds for cc13x4_26x4, cc32xx, qpg, stm32)
platform target config section 861fcd5 2780215 change % change
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 764056 764704 648 0.1
RAM 103352 103352 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 775724 776004 280 0.0
RAM 108520 108520 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 721840 722408 568 0.1
RAM 96924 96924 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 706140 706732 592 0.1
RAM 97124 97124 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549510 550082 572 0.1
RAM 205144 205144 0 0.0
lock CC3235SF_LAUNCHXL FLASH 582630 582882 252 0.0
RAM 205344 205344 0 0.0
qpg lighting-app qpg6200+debug FLASH 741032 741688 656 0.1
RAM 94088 94088 0 0.0
lock-app qpg6200+debug FLASH 751220 751524 304 0.0
RAM 94116 94116 0 0.0
stm32 light STM32WB5MM-DK FLASH 466196 466836 640 0.1
RAM 141376 141376 0 0.0

@gmarcosb gmarcosb force-pushed the better-decodable-list branch from 2780215 to 805791d Compare June 23, 2025 22:21
@github-actions github-actions bot added the tools label Jun 23, 2025
Copy link
Contributor
@bzbarsky-apple bzbarsky-apple left a comment

Choose a reason for hiding this comment

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

Between the breaking API changes and the codesize increases, the question becomes: what are the use cases? When do you want to "encode a decoded struct"? Typically encode happens on the sending end and decode on the receiving end. Bridges might need to do this, but they generally need to transcode various other things too.....

If all we need to do is address that use case, though, wouldn't adding Encode to DecodableType and then writing an overload of DataModel::Encode for DecodableList be sufficient?

}

template <typename X, std::enable_if_t<DataModel::IsFabricScoped<X>::value, bool> = true>
inline CHIP_ERROR EncodeForRead(TLV::TLVWriter & writer, TLV::Tag tag, FabricIndex accessingFabricIndex, DecodableList<X> list)
Copy link
Contributor

Choose a reason for hiding this comment

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

This should be checking that accessingFabricIndex matches list, no?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

🤷‍♂️ List<T> doesn't - should it? (we may as well address both in this PR, as it's just a clean-up PR now)

@gmarcosb gmarcosb force-pushed the better-decodable-list branch from 805791d to 5704811 Compare June 25, 2025 22:00
@mergify mergify bot added the conflict label Jun 25, 2025
@gmarcosb gmarcosb changed the title Better DecodableList Better DecodableList to eliminate need for EncodableType/Type Jun 25, 2025
@gmarcosb
Copy link
Contributor Author

Between the breaking API changes and the codesize increases, the question becomes: what are the use cases? When do you want to "encode a decoded struct"? Typically encode happens on the sending end and decode on the receiving end. Bridges might need to do this, but they generally need to transcode various other things too.....

If all we need to do is address that use case, though, wouldn't adding Encode to DecodableType and then writing an overload of DataModel::Encode for DecodableList be sufficient?

It's not just the ::Encode, which is nice, but just the general EncodableType/Type - i.e. as it stands, the API is very messy & already breaking - the moment you add an array field (i.e. List<> field) to the spec, the code generation goes from generating a single type -> 2 types, and vice-versa, and everything that comes with that

Generating a single type whether a structure has a list or not seems, in general, beneficial - if I can get the binary size to not increase (getting close)

@gmarcosb gmarcosb force-pushed the better-decodable-list branch from 5704811 to 058b184 Compare June 25, 2025 22:09
@gmarcosb gmarcosb force-pushed the better-decodable-list branch from 04074a3 to 6f7c8aa Compare June 26, 2025 17:24
@gmarcosb gmarcosb changed the title Better DecodableList to eliminate need for EncodableType/Type Better DecodableList Jun 26, 2025
@gmarcosb gmarcosb changed the title Better DecodableList Better DecodableList with smaller binary size Jun 26, 2025
@gmarcosb gmarcosb force-pushed the better-decodable-list branch from 6f7c8aa to bd10023 Compare June 26, 2025 17:36
@mergify mergify bot removed the conflict label Jun 26, 2025
Copy link
github-actions bot commented Jun 26, 2025

PR #39605: Size comparison from 13064a5 to bd10023

Full report (9 builds for cc13x4_26x4, cc32xx, qpg, stm32)
platform target config section 13064a5 bd10023 change % change
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 764056 764008 -48 -0.0
RAM 103360 103360 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 775764 775748 -16 -0.0
RAM 108536 108536 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 721856 721784 -72 -0.0
RAM 96940 96940 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 706156 706108 -48 -0.0
RAM 97140 97140 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549446 549374 -72 -0.0
RAM 205144 205144 0 0.0
lock CC3235SF_LAUNCHXL FLASH 582566 582562 -4 -0.0
RAM 205344 205344 0 0.0
qpg lighting-app qpg6200+debug FLASH 744784 744736 -48 -0.0
RAM 94212 94212 0 0.0
lock-app qpg6200+debug FLASH 754540 754540 0 0.0
RAM 94248 94248 0 0.0
stm32 light STM32WB5MM-DK FLASH 466228 466180 -48 -0.0
RAM 141368 141368 0 0.0

@gmarcosb gmarcosb force-pushed the better-decodable-list branch 2 times, most recently from 198f655 to 37a38a0 Compare June 26, 2025 18:05
Copy link
github-actions bot commented Jun 26, 2025

PR #39605: Size comparison from a8817cc to 37a38a0

Full report (7 builds for cc13x4_26x4, cc32xx, stm32)
platform target config section a8817cc 37a38a0 change % change
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 764056 764008 -48 -0.0
RAM 103360 103360 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 775764 775748 -16 -0.0
RAM 108536 108536 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 721856 721784 -72 -0.0
RAM 96940 96940 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 706156 706108 -48 -0.0
RAM 97140 97140 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549446 549374 -72 -0.0
RAM 205144 205144 0 0.0
lock CC3235SF_LAUNCHXL FLASH 582566 582562 -4 -0.0
RAM 205344 205344 0 0.0
stm32 light STM32WB5MM-DK FLASH 466228 466180 -48 -0.0
RAM 141368 141368 0 0.0

@gmarcosb gmarcosb force-pushed the better-decodable-list branch 2 times, most recently from 3ecfd77 to 1d3be86 Compare June 26, 2025 18:39
Copy link
github-actions bot commented Jun 26, 2025

PR #39605: Size comparison from a8817cc to 1d3be86

Full report (17 builds for cc13x4_26x4, cc32xx, qpg, stm32, telink)
platform target config section a8817cc 1d3be86 change % change
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 764056 764008 -48 -0.0
RAM 103360 103360 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 775764 775748 -16 -0.0
RAM 108536 108536 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 721856 721784 -72 -0.0
RAM 96940 96940 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 706156 706108 -48 -0.0
RAM 97140 97140 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549446 549374 -72 -0.0
RAM 205144 205144 0 0.0
lock CC3235SF_LAUNCHXL FLASH 582566 582562 -4 -0.0
RAM 205344 205344 0 0.0
qpg lighting-app qpg6200+debug FLASH 744784 744736 -48 -0.0
RAM 94212 94212 0 0.0
lock-app qpg6200+debug FLASH 754540 754540 0 0.0
RAM 94248 94248 0 0.0
stm32 light STM32WB5MM-DK FLASH 466228 466180 -48 -0.0
RAM 141368 141368 0 0.0
telink bridge-app tl7218x FLASH 703336 703370 34 0.0
RAM 93600 93600 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 795050 795070 20 0.0
RAM 44016 44016 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 783456 783476 20 0.0
RAM 100912 100912 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 710762 710830 68 0.0
RAM 54240 54240 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 747336 747404 68 0.0
RAM 77404 77404 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 724082 724150 68 0.0
RAM 36996 36996 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 603634 603654 20 0.0
RAM 112532 112532 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 819030 819054 24 0.0
RAM 99164 99164 0 0.0

@gmarcosb gmarcosb force-pushed the better-decodable-list branch from 1d3be86 to b88bc6b Compare June 26, 2025 19:26
CHIP_ERROR
ChargingTargetsMemMgr::AllocAndCopy(const DataModel::List<const Structs::ChargingTargetStruct::Type> & chargingTargets)
{
// NOTE: ChargingTargetsMemMgr::PrepareDaySchedule() must be called as specified in the class comments in
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is a good demonstration of the benefit we get being able to iterate List<T> & DecodableList<T> in the same way

Copy link
github-actions bot commented Jun 26, 2025

PR #39605: Size comparison from a8817cc to b88bc6b

Full report (3 builds for cc32xx, stm32)
platform target config section a8817cc b88bc6b change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549446 549374 -72 -0.0
RAM 205144 205144 0 0.0
lock CC3235SF_LAUNCHXL FLASH 582566 582562 -4 -0.0
RAM 205344 205344 0 0.0
stm32 light STM32WB5MM-DK FLASH 466228 466180 -48 -0.0
RAM 141368 141368 0 0.0

@gmarcosb gmarcosb force-pushed the better-decodable-list branch 4 times, most recently from 8fd522d to 6f52717 Compare June 26, 2025 20:03
Copy link
github-actions bot commented Jun 26, 2025

PR #39605: Size comparison from a8817cc to 6f52717

Increases above 0.2%:

platform target config section a8817cc 6f52717 change % change
tizen chip-tool-ubsan arm RAM 9122876 9153508 30632 0.3
Full report (28 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, nrfconnect, qpg, stm32, telink, tizen)
platform target config section a8817cc 6f52717 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1103168 1103198 30 0.0
RAM 179026 179026 0 0.0
bl702 lighting-app bl702+eth FLASH 656576 656606 30 0.0
RAM 134969 134969 0 0.0
bl702+wifi FLASH 833758 833788 30 0.0
RAM 124541 124541 0 0.0
bl706+mfd+rpc+littlefs FLASH 1066384 1066414 30 0.0
RAM 117389 117389 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 895930 895704 -226 -0.0
RAM 105676 105676 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 979648 979678 30 0.0
RAM 109876 109876 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 764056 764008 -48 -0.0
RAM 103360 103360 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 775764 775748 -16 -0.0
RAM 108536 108536 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 721856 721784 -72 -0.0
RAM 96940 96940 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 706156 706108 -48 -0.0
RAM 97140 97140 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549446 549374 -72 -0.0
RAM 205144 205144 0 0.0
lock CC3235SF_LAUNCHXL FLASH 582566 582562 -4 -0.0
RAM 205344 205344 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 916212 916560 348 0.0
RAM 167442 167442 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 914168 914164 -4 -0.0
RAM 145660 145660 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 859704 859924 220 0.0
RAM 141049 141049 0 0.0
qpg lighting-app qpg6200+debug FLASH 744784 744736 -48 -0.0
RAM 94212 94212 0 0.0
lock-app qpg6200+debug FLASH 754540 754540 0 0.0
RAM 94248 94248 0 0.0
stm32 light STM32WB5MM-DK FLASH 466228 466180 -48 -0.0
RAM 141368 141368 0 0.0
telink bridge-app tl7218x FLASH 703336 703370 34 0.0
RAM 93600 93600 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 795050 795070 20 0.0
RAM 44016 44016 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 783456 783476 20 0.0
RAM 100912 100912 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 710762 710830 68 0.0
RAM 54240 54240 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 747336 747404 68 0.0
RAM 77404 77404 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 724082 724150 68 0.0
RAM 36996 36996 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 603634 603654 20 0.0
RAM 112532 112532 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 819030 819054 24 0.0
RAM 99164 99164 0 0.0
tizen all-clusters-app arm unknown 5312 5312 0 0.0
FLASH 1821168 1825380 4212 0.2
RAM 97540 97540 0 0.0
chip-tool-ubsan arm unknown 20692 20692 0 0.0
FLASH 20968410 21018418 50008 0.2
RAM 9122876 9153508 30632 0.3

@gmarcosb gmarcosb requested a review from tcarmelveilleux June 26, 2025 20:27
@gmarcosb gmarcosb force-pushed the better-decodable-list branch from 6f52717 to c1bc532 Compare June 26, 2025 21:06
Copy link
github-actions bot commented Jun 26, 2025

PR #39605: Size comparison from 825f619 to c1bc532

Increases above 0.2%:

platform target config section 825f619 c1bc532 change % change
linux chip-tool debug FLASH 14671689 14719167 47478 0.3
shell debug FLASH 3085900 3093932 8032 0.3
tv-casting-app debug FLASH 12821501 12870381 48880 0.4
tizen chip-tool-ubsan arm RAM 9122876 9153508 30632 0.3
Full report (71 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen) BE96
platform target config section 825f619 c1bc532 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1103168 1103198 30 0.0
RAM 179026 179026 0 0.0
bl702 lighting-app bl702+eth FLASH 656576 656606 30 0.0
RAM 134969 134969 0 0.0
bl702+wifi FLASH 833758 833788 30 0.0
RAM 124541 124541 0 0.0
bl706+mfd+rpc+littlefs FLASH 1066384 1066414 30 0.0
RAM 117389 117389 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 895930 895704 -226 -0.0
RAM 105676 105676 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 979648 979678 30 0.0
RAM 109876 109876 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 764056 764008 -48 -0.0
RAM 103360 103360 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 775764 775748 -16 -0.0
RAM 108536 108536 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 721856 721784 -72 -0.0
RAM 96940 96940 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 706156 706108 -48 -0.0
RAM 97140 97140 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549446 549374 -72 -0.0
RAM 205144 205144 0 0.0
lock CC3235SF_LAUNCHXL FLASH 582566 582562 -4 -0.0
RAM 205344 205344 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 663517 663461 -56 -0.0
RAM 77464 77464 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 683369 683305 -64 -0.0
RAM 80104 80104 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 683369 683305 -64 -0.0
RAM 80104 80104 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 640301 640245 -56 -0.0
RAM 72532 72532 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 624893 624821 -72 -0.0
RAM 73784 73784 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 644521 644449 -72 -0.0
RAM 76336 76336 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 644521 644449 -72 -0.0
RAM 76336 76336 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 645829 645829 0 0.0
RAM 76784 76784 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 665545 665537 -8 -0.0
RAM 79336 79336 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 665545 665537 -8 -0.0
RAM 79336 79336 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 620513 620393 -120 -0.0
RAM 70888 70888 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 640365 640253 -112 -0.0
RAM 73520 73520 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 640365 640253 -112 -0.0
RAM 73520 73520 0 0.0
efr32 lock-app BRD4187C FLASH 948132 948132 0 0.0
RAM 131524 131524 0 0.0
BRD4338a FLASH 745372 745764 392 0.1
RAM 206896 206896 0 0.0
window-app BRD4187C FLASH 1041424 1041800 376 0.0
RAM 127652 127652 0 0.0
esp32 all-clusters-app c3devkit DRAM 103496 103496 0 0.0
FLASH 1811058 1812368 1310 0.1
IRAM 83862 83862 0 0.0
m5stack DRAM 122356 122356 0 0.0
FLASH 1776114 1776246 132 0.0
IRAM 117071 117071 0 0.0
linux air-purifier-app debug unknown 4848 4848 0 0.0
FLASH 2797772 2798486 714 0.0
RAM 117352 117352 0 0.0
all-clusters-app debug unknown 5664 5664 0 0.0
FLASH 6384808 6395944 11136 0.2
RAM 538080 538080 0 0.0
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5476122 5483494 7372 0.1
RAM 228056 228056 0 0.0
bridge-app debug unknown 5560 5560 0 0.0
FLASH 4808422 4809466 1044 0.0
RAM 207744 207744 0 0.0
camera-app debug unknown 8968 8968 0 0.0
FLASH 6934683 6936555 1872 0.0
RAM 230056 230056 0 0.0
camera-controller debug unknown 9184 9184 0 0.0
FLASH 14331227 14331707 480 0.0
RAM 659128 659128 0 0.0
chip-tool debug unknown 6240 6240 0 0.0
FLASH 14671689 14719167 47478 0.3
RAM 652648 652648 0 0.0
chip-tool-ipv6only arm64 unknown 40528 40528 0 0.0
FLASH 12654351 12677615 23264 0.2
RAM 698944 698944 0 0.0
fabric-admin debug unknown 5920 5920 0 0.0
FLASH 12741381 12741863 482 0.0
RAM 651640 651640 0 0.0
fabric-bridge-app debug unknown 4808 4808 0 0.0
FLASH 4594684 4595252 568 0.0
RAM 193504 193504 0 0.0
fabric-sync debug unknown 5056 5056 0 0.0
FLASH 5743661 5744669 1008 0.0
RAM 490768 490768 0 0.0
lighting-app debug+rpc+ui unknown 6272 6272 0 0.0
FLASH 5657329 5658721 1392 0.0
RAM 209896 209896 0 0.0
lock-app debug unknown 5488 5488 0 0.0
FLASH 4838618 4839948 1330 0.0
RAM 197128 197128 0 0.0
ota-provider-app debug unknown 4848 4848 0 0.0
FLASH 4447352 4448394 1042 0.0
RAM 186192 186192 0 0.0
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4519510 4520900 1390 0.0
RAM 189032 189032 0 0.0
shell debug unknown 4248 4248 0 0.0
FLASH 3085900 3093932 8032 0.3
RAM 151624 151624 0 0.0
thermostat-no-ble arm64 unknown 9800 9800 0 0.0
FLASH 4235831 4237847 2016 0.0
RAM 233384 233360 -24 -0.0
tv-app debug unknown 5824 5824 0 0.0
FLASH 6107885 6110093 2208 0.0
RAM 615000 615000 0 0.0
tv-casting-app debug unknown 5336 5336 0 0.0
FLASH 12821501 12870381 48880 0.4
RAM 768784 768784 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 916212 916560 348 0.0
RAM 167442 167442 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 914168 914164 -4 -0.0
RAM 145660 145660 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 859704 859924 220 0.0
RAM 141049 141049 0 0.0
nxp contact mcxw71+release FLASH 625808 625776 -32 -0.0
RAM 63156 63156 0 0.0
lock mcxw71+release FLASH 777040 777048 8 0.0
RAM 67820 67820 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1673788 1676300 2512 0.2
RAM 212416 212416 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1576996 1578788 1792 0.1
RAM 208464 208464 0 0.0
light cy8ckit_062s2_43012 FLASH 1449612 1449980 368 0.0
RAM 197184 197184 0 0.0
lock cy8ckit_062s2_43012 FLASH 1481980 1482364 384 0.0
RAM 224904 224904 0 0.0
qpg lighting-app qpg6200+debug FLASH 744784 744736 -48 -0.0
RAM 94212 94212 0 0.0
lock-app qpg6200+debug FLASH 754540 754540 0 0.0
RAM 94248 94248 0 0.0
stm32 light STM32WB5MM-DK FLASH 466228 466180 -48 -0.0
RAM 141368 141368 0 0.0
telink bridge-app tl7218x FLASH 703336 703370 34 0.0
RAM 93600 93600 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 795050 795070 20 0.0
RAM 44016 44016 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 783456 783476 20 0.0
RAM 100912 100912 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 710762 710830 68 0.0
RAM 54240 54240 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 747336 747404 68 0.0
RAM 77404 77404 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 724082 724150 68 0.0
RAM 36996 36996 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 603634 603654 20 0.0
RAM 112532 112532 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 819030 819054 24 0.0
RAM 99164 99164 0 0.0
tizen all-clusters-app arm unknown 5312 5312 0 0.0
FLASH 1821168 1825380 4212 0.2
RAM 97540 97540 0 0.0
chip-tool-ubsan arm unknown 20692 20692 0 0.0
FLASH 20968410 21018418 50008 0.2
RAM 9122876 9153508 30632 0.3

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