Skip to content
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

Json to Tlv and Tlv to Json Converters Implementation in CPP #27635

Conversation

emargolis
Copy link
Contributor

@emargolis emargolis commented Jul 5, 2023

JSON/TLV format with the following support:

  • bi-directional support for any data model payloads
  • Additional support for generic "32-bit integer" where such integers are encoded/decoded as "implicit profile ID" values
    • the intent for this is to support formats like {"123456:BOOL": true} to represent "attribute 1234456 has value true" for app-internal storage that uses json keys for storing path IB (instead of separate structures)

This implementation is intended to eventually be functional equivalent with the kotlin implementation in
src/controller/java/src/chip/jsontlv/, however full interop will be added as a followup due to changes in implicit profile ID encoding.

Existing requirements/limitations

  • TLV Structure elements are expected to be sorted in a canonical tag order. Library will re-sort these on TLV conversion.
  • TLV Lists are not supported
  • Multi-Dimensional TLV Arrays are not supported
  • All elements in an array MUST be of the same type
  • The top-level TLV element MUST be a single structure with AnonymousTag
  • The following tags are supported: - AnonymousTag are only used with TLV Array elements or a top-level structure. - ContextSpecificTag are used only with TLV Structure elements. - ProfileTag (with implicit profile tag) are used only with TLV Structure elements.
  • Infinity Float/Double values are handled in string

Added README.md file that describing the format.

Added unit tests for TLV to JSON, JSON to TLV, JSON to TLV back to JSON conversion cases.

NOTE about the current implementation of the Tlv-to-Json converter in:
src/lib/support/jsontlv/TlvJson.cpp
I kept this implementation because it is currently used in a few places in the code for testing/logging purposes. As a follow up work item, this implementation should be replaced with the new one presented in this commit.(#27686)

Fixes: #27401

@github-actions
Copy link

github-actions bot commented Jul 5, 2023

PR #27635: Size comparison from fcf37c2 to 4f8a84a

Increases (2 builds for cc32xx, qpg)
platform target config section fcf37c2 4f8a84a change % change
cc32xx lock CC3235SF_LAUNCHXL .debug_abbrev 948237 948261 24 0.0
.debug_info 19971040 19975041 4001 0.0
.debug_str 3811978 3812036 58 0.0
qpg lighting-app qpg6105+debug (read/write) 1172296 1172304 8 0.0
.text 619136 619144 8 0.0
Full report (4 builds for cc32xx, mbed, qpg)
platform target config section fcf37c2 4f8a84a change % change
cc32xx lock CC3235SF_LAUNCHXL (blank) 0 0 0 0.0
(read only) 607978 607978 0 0.0
(read/write) 204172 204172 0 0.0
.ARM.attributes 44 44 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 197584 197584 0 0.0
.comment 206 206 0 0.0
.data 1468 1468 0 0.0
.debug_abbrev 948237 948261 24 0.0
.debug_aranges 119328 119328 0 0.0
.debug_frame 407584 407584 0 0.0
.debug_info 19971040 19975041 4001 0.0
.debug_line 2878258 2878258 0 0.0
.debug_line_str 513 513 0 0.0
.debug_loc 33340 33340 0 0.0
.debug_loclists 1732567 1732567 0 0.0
.debug_ranges 4984 4984 0 0.0
.debug_rnglists 107833 107833 0 0.0
.debug_str 3811978 3812036 58 0.0
.ramVecs 780 780 0 0.0
.resetVecs 64 64 0 0.0
.rodata 104866 104866 0 0.0
.shstrtab 265 265 0 0.0
.stack 2048 2048 0 0.0
.strtab 485180 485180 0 0.0
.symtab 288304 288304 0 0.0
.text 500992 500992 0 0.0
mbed lock-app-release cy8cproto_062_4343w (read only) 6224 6224 0 0.0
(read/write) 2515512 2515512 0 0.0
.bss 216312 216312 0 0.0
.data 5152 5152 0 0.0
.text 1478196 1478196 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1172296 1172304 8 0.0
.bss 99960 99960 0 0.0
.data 788 788 0 0.0
.text 619136 619144 8 0.0
lock-app qpg6105+debug (read/write) 1130424 1130424 0 0.0
.bss 94816 94816 0 0.0
.data 792 792 0 0.0
.text 577268 577268 0 0.0

@github-actions
Copy link

github-actions bot commented Aug 2, 2023

PR #27635: Size comparison from a28b007 to 21d6e00

Increases (1 build for cc32xx)
platform target config section a28b007 21d6e00 change % change
cc32xx lock CC3235SF_LAUNCHXL .debug_info 19047763 19051731 3968 0.0
.debug_line 2780609 2780610 1 0.0
.debug_loclists 1580675 1580676 1 0.0
.debug_str 3415768 3415826 58 0.0
Full report (1 build for cc32xx)
platform target config section a28b007 21d6e00 change % change
cc32xx lock CC3235SF_LAUNCHXL 0 0 0 0.0
(read only) 611050 611050 0 0.0
(read/write) 208284 208284 0 0.0
.ARM.attributes 44 44 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 201696 201696 0 0.0
.comment 206 206 0 0.0
.data 1468 1468 0 0.0
.debug_abbrev 944966 944966 0 0.0
.debug_aranges 107968 107968 0 0.0
.debug_frame 366328 366328 0 0.0
.debug_info 19047763 19051731 3968 0.0
.debug_line 2780609 2780610 1 0.0
.debug_line_str 513 513 0 0.0
.debug_loc 33340 33340 0 0.0
.debug_loclists 1580675 1580676 1 0.0
.debug_ranges 4984 4984 0 0.0
.debug_rnglists 99671 99671 0 0.0
.debug_str 3415768 3415826 58 0.0
.ramVecs 780 780 0 0.0
.resetVecs 64 64 0 0.0
.rodata 105626 105626 0 0.0
.shstrtab 265 265 0 0.0
.stack 2048 2048 0 0.0
.strtab 490862 490862 0 0.0
.symtab 290432 290432 0 0.0
.text 503300 503300 0 0.0

@github-actions
Copy link

github-actions bot commented Aug 2, 2023

PR #27635: Size comparison from a28b007 to 175d94b

Increases (18 builds for bl702, bl702l, cc32xx, linux, psoc6, telink)
platform target config section a28b007 175d94b change % change
bl702 lighting-app bl702 .debug_info 41428491 41432875 4384 0.0
.debug_str 4011423 4011481 58 0.0
bl702+rpc .debug_info 46324348 46328764 4416 0.0
.debug_str 4431288 4431346 58 0.0
bl702l lighting-app bl702l (read/write) 1151600 1151604 4 0.0
.debug_info 41429600 41433985 4385 0.0
.debug_str 4023892 4023950 58 0.0
.text 942116 942118 2 0.0
cc32xx lock CC3235SF_LAUNCHXL .debug_info 19047763 19051732 3969 0.0
.debug_line 2780609 2780610 1 0.0
.debug_loclists 1580675 1580676 1 0.0
.debug_str 3415768 3415826 58 0.0
linux chip-tool debug (read only) 17765081 17765193 112 0.0
.text 14794067 14794179 112 0.0
chip-tool-ipv6only arm64 (read only) 16978252 16978492 240 0.0
.text 13911384 13911624 240 0.0
tv-casting-app debug (read only) 8288321 8288433 112 0.0
.text 7521779 7521891 112 0.0
psoc6 all-clusters cy8ckit_062s2_43012 .debug_info 30045365 30051029 5664 0.0
.debug_loclists 2242905 2242913 8 0.0
.debug_str 4115630 4115688 58 0.0
all-clusters-minimal cy8ckit_062s2_43012 .debug_info 27139788 27144876 5088 0.0
.debug_loclists 2143792 2143800 8 0.0
.debug_str 3975179 3975237 58 0.0
light cy8ckit_062s2_43012 .debug_info 22294839 22299031 4192 0.0
.debug_loclists 1983013 1983021 8 0.0
.debug_str 3786342 3786400 58 0.0
lock cy8ckit_062s2_43012 .debug_info 21892827 21896987 4160 0.0
.debug_loclists 1950433 1950441 8 0.0
.debug_str 3740581 3740639 58 0.0
telink all-clusters-app tlsr9518adk80d (read/write) 1068436 1068444 8 0.0
text 727492 727494 2 0.0
all-clusters-minimal-app tlsr9518adk80d (read/write) 974896 974904 8 0.0
text 668120 668122 2 0.0
bridge-app tlsr9518adk80d (read/write) 942716 942724 8 0.0
text 645732 645734 2 0.0
contact-sensor-app tlsr9518adk80d text 589074 589076 2 0.0
light-switch-app tlsr9518adk80d (read/write) 903532 903540 8 0.0
text 614722 614726 4 0.0
lighting-app-factory-data tlsr9518adk80d text 692088 692090 2 0.0
ota-requestor-app tlsr9518adk80d text 610970 610972 2 0.0
Decreases (10 builds for bl702, bl702l, efr32, telink)
platform target config section a28b007 175d94b change % change
bl702 lighting-app bl702 .debug_loc 3561130 3561073 -57 -0.0
bl702+rpc .debug_loc 3767277 3767220 -57 -0.0
bl702l lighting-app bl702l .debug_loc 3497227 3497224 -3 -0.0
efr32 lighting-app BRD4187C (read/write) 1034204 1034196 -8 -0.0
.text 867644 867636 -8 -0.0
telink lighting-app-rpc tlsr9518adk80d text 729508 729506 -2 -0.0
lighting-app-shell tlsr9518adk80d text 749612 749610 -2 -0.0
lock-app tlsr9518adk80d (read/write) 929200 929192 -8 -0.0
text 617230 617228 -2 -0.0
pump-app tlsr9518adk80d (read/write) 880124 880116 -8 -0.0
text 594766 594764 -2 -0.0
pump-controller-app tlsr9518adk80d text 585204 585202 -2 -0.0
shell tlsr9518adk80d (read/write) 744132 744124 -8 -0.0
text 478574 478572 -2 -0.0
Full report (60 builds for bl602, bl702, bl702l, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section a28b007 175d94b change % change
bl602 lighting-app bl602 (read/write) 1363034 1363034 0 0.0
.bss 73806 73806 0 0.0
.data 9608 9608 0 0.0
.text 1056276 1056276 0 0.0
bl602+rpc (read/write) 1410502 1410502 0 0.0
.bss 81846 81846 0 0.0
.data 10008 10008 0 0.0
.text 1088212 1088212 0 0.0
bl702 lighting-app bl702 (read only) 3358 3358 0 0.0
(read/write) 1166035 1166035 0 0.0
.bleromro 6342 6342 0 0.0
.bleromrw 124 124 0 0.0
.boot2 328 328 0 0.0
.bss 41237 41237 0 0.0
.bss_psram 43680 43680 0 0.0
.comment 48 48 0 0.0
.data 3600 3600 0 0.0
.debug_abbrev 1565264 1565264 0 0.0
.debug_aranges 140240 140240 0 0.0
.debug_frame 515940 515940 0 0.0
.debug_info 41428491 41432875 4384 0.0
.debug_line 5473915 5473915 0 0.0
.debug_loc 3561130 3561073 -57 -0.0
.debug_ranges 384432 384432 0 0.0
.debug_str 4011423 4011481 58 0.0
.hbn 544 544 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 140 140 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 106472 106472 0 0.0
.rsvd 4 4 0 0.0
.sha_ocram 72 72 0 0.0
.shstrtab 304 304 0 0.0
.stack 2048 2048 0 0.0
.strtab 588548 588548 0 0.0
.symtab 175376 175376 0 0.0
.tcm_data 28 28 0 0.0
.tcmcode 3358 3358 0 0.0
.text 0 0 0 0.0
953310 953310 0 0.0
bl702+rpc (read only) 3358 3358 0 0.0
(read/write) 1264923 1264923 0 0.0
.bleromro 6342 6342 0 0.0
.bleromrw 124 124 0 0.0
.boot2 328 328 0 0.0
.bss 49685 49685 0 0.0
.bss_psram 43680 43680 0 0.0
.comment 48 48 0 0.0
.data 4144 4144 0 0.0
.debug_abbrev 1742394 1742394 0 0.0
.debug_aranges 148784 148784 0 0.0
.debug_frame 544844 544844 0 0.0
.debug_info 46324348 46328764 4416 0.0
.debug_line 5886450 5886450 0 0.0
.debug_loc 3767277 3767220 -57 -0.0
.debug_ranges 410184 410184 0 0.0
.debug_str 4431288 4431346 58 0.0
.hbn 544 544 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 156 156 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 121124 121124 0 0.0
.rsvd 4 4 0 0.0
.sha_ocram 72 72 0 0.0
.shstrtab 304 304 0 0.0
.stack 2048 2048 0 0.0
.strtab 651511 651511 0 0.0
.symtab 194304 194304 0 0.0
.tcm_data 28 28 0 0.0
.tcmcode 3358 3358 0 0.0
.text 0 0 0 0.0
1027994 1027994 0 0.0
bl702l lighting-app bl702l (read only) 278 278 0 0.0
(read/write) 1151600 1151604 4 0.0
.boot2 292 292 0 0.0
.bss 15924 15924 0 0.0
.bss_psram 78096 78096 0 0.0
.comment 48 48 0 0.0
.data 4568 4568 0 0.0
.debug_abbrev 1567483 1567483 0 0.0
.debug_aranges 134744 134744 0 0.0
.debug_frame 495628 495628 0 0.0
.debug_info 41429600 41433985 4385 0.0
.debug_line 5389501 5389501 0 0.0
.debug_loc 3497227 3497224 -3 -0.0
.debug_ranges 389640 389640 0 0.0
.debug_str 4023892 4023950 58 0.0
.hbn 3244 3244 0 0.0
.hbn_noinit 308 308 0 0.0
.init 408 408 0 0.0
.init_array 140 140 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 100356 100356 0 0.0
.romdata 3224 3224 0 0.0
.rsvd 4 4 0 0.0
.sha_ocram 72 72 0 0.0
.shstrtab 286 286 0 0.0
.stack 2048 2048 0 0.0
.strtab 588773 588773 0 0.0
.symtab 174944 174944 0 0.0
.tcm_data 692 692 0 0.0
.tcmcode 278 278 0 0.0
.text 0 0 0 0.0
942116 942118 2 0.0
cc32xx lock CC3235SF_LAUNCHXL (blank) 0 0 0 0.0
(read only) 611050 611050 0 0.0
(read/write) 208284 208284 0 0.0
.ARM.attributes 44 44 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 201696 201696 0 0.0
.comment 206 206 0 0.0
.data 1468 1468 0 0.0
.debug_abbrev 944966 944966 0 0.0
.debug_aranges 107968 107968 0 0.0
.debug_frame 366328 366328 0 0.0
.debug_info 19047763 19051732 3969 0.0
.debug_line 2780609 2780610 1 0.0
.debug_line_str 513 513 0 0.0
.debug_loc 33340 33340 0 0.0
.debug_loclists 1580675 1580676 1 0.0
.debug_ranges 4984 4984 0 0.0
.debug_rnglists 99671 99671 0 0.0
.debug_str 3415768 3415826 58 0.0
.ramVecs 780 780 0 0.0
.resetVecs 64 64 0 0.0
.rodata 105626 105626 0 0.0
.shstrtab 265 265 0 0.0
.stack 2048 2048 0 0.0
.strtab 490862 490862 0 0.0
.symtab 290432 290432 0 0.0
.text 503300 503300 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 549423 549423 0 0.0
.app_xip_area 440513 440513 0 0.0
.bss 63880 63880 0 0.0
.data 712 712 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 533759 533759 0 0.0
.app_xip_area 419889 419889 0 0.0
.bss 68832 68832 0 0.0
.data 720 720 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 572567 572567 0 0.0
.app_xip_area 464745 464745 0 0.0
.bss 62840 62840 0 0.0
.data 668 668 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
switch cyw930739m2evb_01 (read/write) 545863 545863 0 0.0
.app_xip_area 435073 435073 0 0.0
.bss 65728 65728 0 0.0
.data 744 744 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A+rs9116 (read/write) 1009308 1009308 0 0.0
.bss 183636 183636 0 0.0
.data 2692 2692 0 0.0
.text 822960 822960 0 0.0
BRD4187C (read/write) 1034204 1034196 -8 -0.0
.bss 163252 163252 0 0.0
.data 3288 3288 0 0.0
.text 867644 867636 -8 -0.0
lock-app BRD4161A+wf200 (read/write) 1084112 1084112 0 0.0
.bss 177652 177652 0 0.0
.data 2688 2688 0 0.0
.text 903752 903752 0 0.0
window-app BRD4187C (read/write) 1105268 1105268 0 0.0
.bss 146244 146244 0 0.0
.data 3200 3200 0 0.0
.text 955804 955804 0 0.0
esp32 all-clusters-app c3devkit (read only) 1148086 1148086 0 0.0
(read/write) 1701716 1701716 0 0.0
.dram0.bss 79080 79080 0 0.0
.dram0.data 13188 13188 0 0.0
.flash.rodata 265696 265696 0 0.0
.flash.text 1148086 1148086 0 0.0
.iram0.text 75262 75262 0 0.0
m5stack (read only) 1190343 1190343 0 0.0
(read/write) 549942 549942 0 0.0
.dram0.bss 85456 85456 0 0.0
.dram0.data 34132 34132 0 0.0
.flash.rodata 296712 296712 0 0.0
.flash.text 1184959 1184959 0 0.0
.iram0.text 123311 123311 0 0.0
k32w contact k32w0+release (read only) 589212 589212 0 0.0
(read/write) 91480 91480 0 0.0
.bss 67476 67476 0 0.0
.data 2168 2168 0 0.0
.text 588676 588676 0 0.0
light k32w0+release (read only) 587900 587900 0 0.0
(read/write) 91112 91112 0 0.0
.bss 67124 67124 0 0.0
.data 2156 2156 0 0.0
.text 587364 587364 0 0.0
lock k32w0+release (read only) 560476 560476 0 0.0
(read/write) 88936 88936 0 0.0
.bss 65012 65012 0 0.0
.data 2100 2100 0 0.0
.text 559940 559940 0 0.0
linux all-clusters-app debug (read only) 5480209 5480209 0 0.0
(read/write) 417456 417456 0 0.0
.bss 129920 129920 0 0.0
.data 4432 4432 0 0.0
.data.rel.ro 275776 275776 0 0.0
.dynamic 624 624 0 0.0
.got 5384 5384 0 0.0
.init 27 27 0 0.0
.init_array 1288 1288 0 0.0
.rodata 333136 333136 0 0.0
.text 4770259 4770259 0 0.0
all-clusters-minimal-app debug (read only) 4895225 4895225 0 0.0
(read/write) 231408 231408 0 0.0
.bss 125600 125600 0 0.0
.data 4304 4304 0 0.0
.data.rel.ro 94376 94376 0 0.0
.dynamic 624 624 0 0.0
.got 5344 5344 0 0.0
.init 27 27 0 0.0
.init_array 1128 1128 0 0.0
.rodata 271238 271238 0 0.0
.text 4393859 4393859 0 0.0
bridge-app debug (read only) 2764401 2764401 0 0.0
(read/write) 133064 133064 0 0.0
.bss 50680 50680 0 0.0
.data 4880 4880 0 0.0
.data.rel.ro 71400 71400 0 0.0
.dynamic 624 624 0 0.0
.got 4640 4640 0 0.0
.init 27 27 0 0.0
.init_array 808 808 0 0.0
.rodata 213800 213800 0 0.0
.text 2373123 2373123 0 0.0
chip-tool debug (read only) 17765081 17765193 112 0.0
(read/write) 1055160 1055160 0 0.0
.bss 93624 93624 0 0.0
.data 5154 5154 0 0.0
.data.rel.ro 949040 949040 0 0.0
.dynamic 624 624 0 0.0
.got 5880 5880 0 0.0
.init 27 27 0 0.0
.init_array 792 792 0 0.0
.rodata 916009 916009 0 0.0
.text 14794067 14794179 112 0.0
chip-tool-ipv6only arm64 (read only) 16978252 16978492 240 0.0
(read/write) 1122680 1122680 0 0.0
.bss 103000 103000 0 0.0
.data 4448 4448 0 0.0
.data.rel.ro 986400 986400 0 0.0
.dynamic 512 512 0 0.0
.got 23352 23352 0 0.0
.init 24 24 0 0.0
.init_array 240 240 0 0.0
.rodata 827096 827096 0 0.0
.text 13911384 13911624 240 0.0
lighting-app debug+rpc+ui (read only) 5273401 5273401 0 0.0
(read/write) 222344 222344 0 0.0
.bss 117648 117648 0 0.0
.data 4880 4880 0 0.0
.data.rel.ro 92240 92240 0 0.0
.dynamic 672 672 0 0.0
.got 5928 5928 0 0.0
.init 27 27 0 0.0
.init_array 944 944 0 0.0
.rodata 337844 337844 0 0.0
.text 4693507 4693507 0 0.0
lock-app debug (read only) 4452849 4452849 0 0.0
(read/write) 202248 202248 0 0.0
.bss 112944 112944 0 0.0
.data 4048 4048 0 0.0
.data.rel.ro 78496 78496 0 0.0
.dynamic 624 624 0 0.0
.got 5264 5264 0 0.0
.init 27 27 0 0.0
.init_array 848 848 0 0.0
.rodata 246470 246470 0 0.0
.text 3997891 3997891 0 0.0
ota-provider-app debug (read only) 4123081 4123081 0 0.0
(read/write) 192120 192120 0 0.0
.bss 113504 113504 0 0.0
.data 4256 4256 0 0.0
.data.rel.ro 68448 68448 0 0.0
.dynamic 624 624 0 0.0
.got 4544 4544 0 0.0
.init 27 27 0 0.0
.init_array 720 720 0 0.0
.rodata 200326 200326 0 0.0
.text 3732483 3732483 0 0.0
ota-requestor-app debug (read only) 4216993 4216993 0 0.0
(read/write) 196432 196432 0 0.0
.bss 114432 114432 0 0.0
.data 4624 4624 0 0.0
.data.rel.ro 71448 71448 0 0.0
.dynamic 624 624 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 776 776 0 0.0
.rodata 203750 203750 0 0.0
.text 3818643 3818643 0 0.0
shell debug (read only) 2924481 2924481 0 0.0
(read/write) 150712 150712 0 0.0
.bss 59592 59592 0 0.0
.data 1232 1232 0 0.0
.data.rel.ro 84024 84024 0 0.0
.dynamic 592 592 0 0.0
.got 4112 4112 0 0.0
.init 27 27 0 0.0
.init_array 1128 1128 0 0.0
.rodata 210066 210066 0 0.0
.text 2543570 2543570 0 0.0
thermostat-no-ble arm64 (read only) 4446724 4446724 0 0.0
(read/write) 244152 244152 0 0.0
.bss 122216 122216 0 0.0
.data 3200 3200 0 0.0
.data.rel.ro 102296 102296 0 0.0
.dynamic 512 512 0 0.0
.got 11968 11968 0 0.0
.init 24 24 0 0.0
.init_array 432 432 0 0.0
.rodata 161628 161628 0 0.0
.text 3946968 3946968 0 0.0
tv-app debug (read only) 5310865 5310865 0 0.0
(read/write) 350136 350136 0 0.0
.bss 240448 240448 0 0.0
.data 6224 6224 0 0.0
.data.rel.ro 96048 96048 0 0.0
.dynamic 624 624 0 0.0
.got 5616 5616 0 0.0
.init 27 27 0 0.0
.init_array 1136 1136 0 0.0
.rodata 271798 271798 0 0.0
.text 4795475 4795475 0 0.0
tv-casting-app debug (read only) 8288321 8288433 112 0.0
(read/write) 210688 210688 0 0.0
.bss 54144 54144 0 0.0
.data 2896 2896 0 0.0
.data.rel.ro 146856 146856 0 0.0
.dynamic 624 624 0 0.0
.got 5096 5096 0 0.0
.init 27 27 0 0.0
.init_array 1048 1048 0 0.0
.rodata 366812 366812 0 0.0
.text 7521779 7521891 112 0.0
mbed lock-app-release cy8cproto_062_4343w (read only) 6224 6224 0 0.0
(read/write) 2517752 2517752 0 0.0
.bss 220432 220432 0 0.0
.data 5152 5152 0 0.0
.text 1480436 1480436 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1217112 1217112 0 0.0
bss 154659 154659 0 0.0
rodata 141020 141020 0 0.0
text 842300 842300 0 0.0
nrf7002dk_nrf5340_cpuapp (read only) 4 4 0 0.0
(read/write) 1336244 1336244 0 0.0
bss 140117 140117 0 0.0
rodata 135436 135436 0 0.0
text 769900 769900 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1155024 1155024 0 0.0
bss 154838 154838 0 0.0
rodata 112404 112404 0 0.0
text 808740 808740 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 837120 837120 0 0.0
(read/write) 1765604 1765604 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 193596 193596 0 0.0
.comment 212 212 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2624 2624 0 0.0
.debug_abbrev 1377012 1377012 0 0.0
.debug_aranges 143640 143640 0 0.0
.debug_frame 478500 478500 0 0.0
.debug_info 30045365 30051029 5664 0.0
.debug_line 4136036 4136036 0 0.0
.debug_line_str 957 957 0 0.0
.debug_loclists 2242905 2242913 8 0.0
.debug_rnglists 142177 142177 0 0.0
.debug_str 4115630 4115688 58 0.0
.heap 837120 837120 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 296 296 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 801003 801003 0 0.0
.symtab 499248 499248 0 0.0
.text 1560996 1560996 0 0.0
.zero.table 8 8 0 0.0
text 0 0 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 839072 839072 0 0.0
(read/write) 1673068 1673068 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 191708 191708 0 0.0
.comment 212 212 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2560 2560 0 0.0
.debug_abbrev 1282626 1282626 0 0.0
.debug_aranges 136944 136944 0 0.0
.debug_frame 461588 461588 0 0.0
.debug_info 27139788 27144876 5088 0.0
.debug_line 3952881 3952881 0 0.0
.debug_line_str 981 981 0 0.0
.debug_loclists 2143792 2143800 8 0.0
.debug_rnglists 135298 135298 0 0.0
.debug_str 3975179 3975237 58 0.0
.heap 839072 839072 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 296 296 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 711637 711637 0 0.0
.symtab 464896 464896 0 0.0
.text 1470412 1470412 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
light cy8ckit_062s2_43012 (read only) 845280 845280 0 0.0
(read/write) 1604924 1604924 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 185668 185668 0 0.0
.comment 212 212 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2392 2392 0 0.0
.debug_abbrev 1123242 1123242 0 0.0
.debug_aranges 127216 127216 0 0.0
.debug_frame 425220 425220 0 0.0
.debug_info 22294839 22299031 4192 0.0
.debug_line 3519499 3519499 0 0.0
.debug_line_str 942 942 0 0.0
.debug_loclists 1983013 1983021 8 0.0
.debug_rnglists 125188 125188 0 0.0
.debug_str 3786342 3786400 58 0.0
.heap 845280 845280 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 296 296 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 633245 633245 0 0.0
.symtab 429856 429856 0 0.0
.text 1408476 1408476 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
lock cy8ckit_062s2_43012 (read only) 817848 817848 0 0.0
(read/write) 1635228 1635228 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 213100 213100 0 0.0
.comment 212 212 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2392 2392 0 0.0
.debug_abbrev 1099880 1099880 0 0.0
.debug_aranges 125160 125160 0 0.0
.debug_frame 418052 418052 0 0.0
.debug_info 21892827 21896987 4160 0.0
.debug_line 3447294 3447294 0 0.0
.debug_line_str 933 933 0 0.0
.debug_loclists 1950433 1950441 8 0.0
.debug_rnglists 122528 122528 0 0.0
.debug_str 3740581 3740639 58 0.0
.heap 817848 817848 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 296 296 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 602763 602763 0 0.0
.symtab 419696 419696 0 0.0
.text 1411348 1411348 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1176392 1176392 0 0.0
.bss 101336 101336 0 0.0
.data 788 788 0 0.0
.text 623232 623232 0 0.0
lock-app qpg6105+debug (read/write) 1133440 1133440 0 0.0
.bss 96056 96056 0 0.0
.data 792 792 0 0.0
.text 580284 580284 0 0.0
telink all-clusters-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1068436 1068444 8 0.0
bss 107348 107348 0 0.0
text 727492 727494 2 0.0
all-clusters-minimal-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 974896 974904 8 0.0
bss 105324 105324 0 0.0
text 668120 668122 2 0.0
bridge-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 942716 942724 8 0.0
bss 109344 109344 0 0.0
text 645732 645734 2 0.0
contact-sensor-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 874628 874628 0 0.0
bss 99000 99000 0 0.0
text 589074 589076 2 0.0
light-switch-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 903532 903540 8 0.0
bss 99564 99564 0 0.0
text 614722 614726 4 0.0
lighting-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 981056 981056 0 0.0
bss 107676 107676 0 0.0
text 684574 684574 0 0.0
lighting-app-factory-data tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 992428 992428 0 0.0
bss 111924 111924 0 0.0
text 692088 692090 2 0.0
lighting-app-rpc tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1050588 1050588 0 0.0
bss 109248 109248 0 0.0
text 729508 729506 -2 -0.0
lighting-app-shell tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1081916 1081916 0 0.0
bss 120324 120324 0 0.0
text 749612 749610 -2 -0.0
lock-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 929200 929192 -8 -0.0
bss 99644 99644 0 0.0
text 617230 617228 -2 -0.0
ota-requestor-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 897268 897268 0 0.0
bss 100272 100272 0 0.0
text 610970 610972 2 0.0
pump-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 880124 880116 -8 -0.0
bss 99132 99132 0 0.0
text 594766 594764 -2 -0.0
pump-controller-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 867272 867272 0 0.0
bss 98932 98932 0 0.0
text 585204 585202 -2 -0.0
shell tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 744132 744124 -8 -0.0
bss 97256 97256 0 0.0
text 478574 478572 -2 -0.0
smoke_co_alarm-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 876688 876688 0 0.0
bss 99088 99088 0 0.0
text 592134 592134 0 0.0
temperature-measurement-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 863396 863396 0 0.0
bss 98840 98840 0 0.0
text 580804 580804 0 0.0
thermostat tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 909348 909348 0 0.0
bss 99384 99384 0 0.0
text 620250 620250 0 0.0
window-covering tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 904700 904700 0 0.0
bss 99668 99668 0 0.0
text 615140 615140 0 0.0

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.

Approving conditional on comments being addressed (except the one that is already tracked in a followup issue).

src/lib/support/jsontlv/README.md Outdated Show resolved Hide resolved
src/lib/support/jsontlv/TlvJson.cpp Outdated Show resolved Hide resolved
src/lib/support/jsontlv/TlvJson.cpp Outdated Show resolved Hide resolved
src/lib/support/jsontlv/TlvToJson.cpp Outdated Show resolved Hide resolved
src/lib/support/jsontlv/TlvToJson.cpp Outdated Show resolved Hide resolved
src/lib/support/jsontlv/TlvToJson.cpp Outdated Show resolved Hide resolved
src/lib/support/jsontlv/TlvToJson.cpp Outdated Show resolved Hide resolved
src/lib/support/jsontlv/TlvToJson.cpp Outdated Show resolved Hide resolved
src/lib/support/jsontlv/TlvToJson.cpp Outdated Show resolved Hide resolved
andy31415 and others added 9 commits August 4, 2023 16:08
Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>
Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>
Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>
Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>
Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>
…lly used in stored values. Made the values consistent everywhere
@github-actions
Copy link

github-actions bot commented Aug 4, 2023

PR #27635: Size comparison from 1465733 to 102219e

Increases (1 build for cc32xx)
platform target config section 1465733 102219e change % change
cc32xx lock CC3235SF_LAUNCHXL .debug_info 19356328 19360393 4065 0.0
.debug_str 3426584 3426642 58 0.0
Decreases (1 build for cc32xx)
platform target config section 1465733 102219e change % change
cc32xx lock CC3235SF_LAUNCHXL .debug_line 2811692 2811691 -1 -0.0
.debug_loclists 1596540 1596534 -6 -0.0
Full report (1 build for cc32xx)
platform target config section 1465733 102219e change % change
cc32xx lock CC3235SF_LAUNCHXL 0 0 0 0.0
(read only) 615546 615546 0 0.0
(read/write) 207872 207872 0 0.0
.ARM.attributes 44 44 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 201320 201320 0 0.0
.comment 206 206 0 0.0
.data 1432 1432 0 0.0
.debug_abbrev 959724 959724 0 0.0
.debug_aranges 109040 109040 0 0.0
.debug_frame 369924 369924 0 0.0
.debug_info 19356328 19360393 4065 0.0
.debug_line 2811692 2811691 -1 -0.0
.debug_line_str 513 513 0 0.0
.debug_loc 33340 33340 0 0.0
.debug_loclists 1596540 1596534 -6 -0.0
.debug_ranges 4984 4984 0 0.0
.debug_rnglists 100669 100669 0 0.0
.debug_str 3426584 3426642 58 0.0
.ramVecs 780 780 0 0.0
.resetVecs 64 64 0 0.0
.rodata 106282 106282 0 0.0
.shstrtab 265 265 0 0.0
.stack 2048 2048 0 0.0
.strtab 496184 496184 0 0.0
.symtab 293280 293280 0 0.0
.text 507144 507144 0 0.0

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>
src/lib/support/jsontlv/TlvToJson.cpp Outdated Show resolved Hide resolved
@github-actions
Copy link

github-actions bot commented Aug 4, 2023

PR #27635: Size comparison from 1465733 to 4935d29

Increases (1 build for cc32xx)
platform target config section 1465733 4935d29 change % change
cc32xx lock CC3235SF_LAUNCHXL .debug_info 19356328 19360394 4066 0.0
.debug_str 3426584 3426642 58 0.0
Decreases (1 build for cc32xx)
platform target config section 1465733 4935d29 change % change
cc32xx lock CC3235SF_LAUNCHXL .debug_line 2811692 2811691 -1 -0.0
.debug_loclists 1596540 1596534 -6 -0.0
Full report (2 builds for cc32xx, mbed)
platform target config section 1465733 4935d29 change % change
cc32xx lock CC3235SF_LAUNCHXL (blank) 0 0 0 0.0
(read only) 615546 615546 0 0.0
(read/write) 207872 207872 0 0.0
.ARM.attributes 44 44 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 201320 201320 0 0.0
.comment 206 206 0 0.0
.data 1432 1432 0 0.0
.debug_abbrev 959724 959724 0 0.0
.debug_aranges 109040 109040 0 0.0
.debug_frame 369924 369924 0 0.0
.debug_info 19356328 19360394 4066 0.0
.debug_line 2811692 2811691 -1 -0.0
.debug_line_str 513 513 0 0.0
.debug_loc 33340 33340 0 0.0
.debug_loclists 1596540 1596534 -6 -0.0
.debug_ranges 4984 4984 0 0.0
.debug_rnglists 100669 100669 0 0.0
.debug_str 3426584 3426642 58 0.0
.ramVecs 780 780 0 0.0
.resetVecs 64 64 0 0.0
.rodata 106282 106282 0 0.0
.shstrtab 265 265 0 0.0
.stack 2048 2048 0 0.0
.strtab 496184 496184 0 0.0
.symtab 293280 293280 0 0.0
.text 507144 507144 0 0.0
mbed lock-app-release cy8cproto_062_4343w (read only) 6224 6224 0 0.0
(read/write) 2521616 2521616 0 0.0
.bss 220040 220040 0 0.0
.data 5120 5120 0 0.0
.text 1484300 1484300 0 0.0

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>
@yunhanw-google yunhanw-google enabled auto-merge (squash) August 4, 2023 21:24
@github-actions
Copy link

github-actions bot commented Aug 4, 2023

PR #27635: Size comparison from 1465733 to a06d865

Increases above 0.2%:

platform target config section 1465733 a06d865 change % change
bl702 lighting-app bl702+rpc .data 4088 4104 16 0.4
bl702l lighting-app bl702l .data 4512 4528 16 0.4
cc32xx lock CC3235SF_LAUNCHXL .data 1432 1440 8 0.6
.debug_abbrev 959724 962272 2548 0.3
.debug_info 19356328 19412046 55718 0.3
cyw30739 light cyw930739m2evb_01 .data 656 664 8 1.2
lock cyw930739m2evb_01 .data 684 692 8 1.2
ota-requestor cyw930739m2evb_01 .data 584 592 8 1.4
switch cyw930739m2evb_01 .data 660 668 8 1.2
efr32 lighting-app BRD4161A+rs9116 .bss 183556 184572 1016 0.6
.data 2640 2652 12 0.5
BRD4187C .bss 163148 164156 1008 0.6
.data 3236 3248 12 0.4
lock-app BRD4161A+wf200 .bss 177612 178628 1016 0.6
.data 2660 2672 12 0.5
window-app BRD4187C .bss 146188 147196 1008 0.7
.data 3120 3132 12 0.4
k32w contact k32w0+release .data 2116 2124 8 0.4
light k32w0+release .data 2104 2112 8 0.4
lock k32w0+release .data 2048 2056 8 0.4
linux all-clusters-app debug .init_array 1296 1304 8 0.6
all-clusters-minimal-app debug .init_array 1128 1136 8 0.7
bridge-app debug .data 3792 3824 32 0.8
.init_array 808 816 8 1.0
chip-tool debug .init_array 792 800 8 1.0
lighting-app debug+rpc+ui .init_array 936 944 8 0.9
lock-app debug .init_array 856 864 8 0.9
ota-provider-app debug .init_array 720 728 8 1.1
ota-requestor-app debug .init_array 776 784 8 1.0
shell debug .init_array 1128 1136 8 0.7
thermostat-no-ble arm64 .data 2864 2880 16 0.6
tv-app debug .init_array 1136 1144 8 0.7
tv-casting-app debug .init_array 1048 1056 8 0.8
psoc6 all-clusters cy8ckit_062s2_43012 .data 2520 2528 8 0.3
all-clusters-minimal cy8ckit_062s2_43012 .data 2456 2464 8 0.3
light cy8ckit_062s2_43012 .data 2344 2352 8 0.3
.debug_info 22303095 22361475 58380 0.3
lock cy8ckit_062s2_43012 .data 2360 2368 8 0.3
.debug_info 22216908 22274644 57736 0.3
qpg lighting-app qpg6105+debug .data 736 744 8 1.1
lock-app qpg6105+debug .data 740 748 8 1.1
Increases (58 builds for bl602, bl702, bl702l, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section 1465733 a06d865 change % change
bl602 lighting-app bl602 .bss 73670 73678 8 0.0
.data 9552 9560 8 0.1
bl602+rpc .bss 81710 81718 8 0.0
bl702 lighting-app bl702 .debug_abbrev 1566267 1567636 1369 0.1
.debug_aranges 140336 140408 72 0.1
.debug_frame 516340 516584 244 0.0
.debug_info 41434748 41497281 62533 0.2
.debug_line 5479108 5484150 5042 0.1
.debug_loc 3563974 3564274 300 0.0
.debug_ranges 384608 384704 96 0.0
.debug_str 4011881 4011892 11 0.0
.strtab 589190 589310 120 0.0
.symtab 175552 175600 48 0.0
bl702+rpc .data 4088 4104 16 0.4
.debug_abbrev 1743397 1744766 1369 0.1
.debug_aranges 148880 148952 72 0.0
.debug_frame 545244 545488 244 0.0
.debug_info 46329694 46391701 62007 0.1
.debug_line 5891643 5896664 5021 0.1
.debug_loc 3770121 3770421 300 0.0
.debug_ranges 410360 410456 96 0.0
.debug_str 4431746 4431757 11 0.0
.strtab 652153 652273 120 0.0
.symtab 194480 194528 48 0.0
bl702l lighting-app bl702l .data 4512 4528 16 0.4
.debug_abbrev 1568486 1569855 1369 0.1
.debug_aranges 134840 134912 72 0.1
.debug_frame 496028 496272 244 0.0
.debug_info 41435857 41498390 62533 0.2
.debug_line 5394776 5399848 5072 0.1
.debug_loc 3500142 3500441 299 0.0
.debug_ranges 389816 389912 96 0.0
.debug_str 4024350 4024362 12 0.0
.strtab 589415 589535 120 0.0
.symtab 175120 175168 48 0.0
cc32xx lock CC3235SF_LAUNCHXL (read/write) 207872 207880 8 0.0
.data 1432 1440 8 0.6
.debug_abbrev 959724 962272 2548 0.3
.debug_aranges 109040 109080 40 0.0
.debug_frame 369924 369980 56 0.0
.debug_info 19356328 19412046 55718 0.3
.debug_line 2811692 2815526 3834 0.1
.debug_rnglists 100669 100694 25 0.0
.strtab 496184 496304 120 0.0
.symtab 293280 293360 80 0.0
cyw30739 light cyw930739m2evb_01 .data 656 664 8 1.2
lock cyw930739m2evb_01 .data 684 692 8 1.2
ota-requestor cyw930739m2evb_01 .data 584 592 8 1.4
switch cyw930739m2evb_01 (read/write) 546431 546439 8 0.0
.app_xip_area 435809 435817 8 0.0
.data 660 668 8 1.2
efr32 lighting-app BRD4161A+rs9116 (read/write) 1010888 1012044 1156 0.1
.bss 183556 184572 1016 0.6
.data 2640 2652 12 0.5
.text 824672 824800 128 0.0
BRD4187C (read/write) 1035264 1036412 1148 0.1
.bss 163148 164156 1008 0.6
.data 3236 3248 12 0.4
.text 868860 868988 128 0.0
lock-app BRD4161A+wf200 (read/write) 1087396 1088552 1156 0.1
.bss 177612 178628 1016 0.6
.data 2660 2672 12 0.5
.text 907104 907232 128 0.0
window-app BRD4187C (read/write) 1106852 1108008 1156 0.1
.bss 146188 147196 1008 0.7
.data 3120 3132 12 0.4
.text 957524 957660 136 0.0
esp32 all-clusters-app c3devkit (read only) 1149562 1149568 6 0.0
(read/write) 1701996 1702012 16 0.0
.dram0.bss 79088 79096 8 0.0
.flash.text 1149562 1149568 6 0.0
m5stack (read/write) 550206 550222 16 0.0
.dram0.data 34020 34036 16 0.0
k32w contact k32w0+release (read only) 590140 590220 80 0.0
(read/write) 91312 91320 8 0.0
.data 2116 2124 8 0.4
.text 589604 589684 80 0.0
light k32w0+release (read only) 588828 588892 64 0.0
.data 2104 2112 8 0.4
.text 588292 588356 64 0.0
lock k32w0+release (read only) 561396 561460 64 0.0
.data 2048 2056 8 0.4
.text 560860 560924 64 0.0
linux all-clusters-app debug (read only) 5486321 5486513 192 0.0
(read/write) 417912 417920 8 0.0
.init_array 1296 1304 8 0.6
.text 4775315 4775459 144 0.0
all-clusters-minimal-app debug (read only) 4900265 4900457 192 0.0
(read/write) 231664 231672 8 0.0
.init_array 1128 1136 8 0.7
.text 4398259 4398403 144 0.0
bridge-app debug (read only) 2768145 2768337 192 0.0
(read/write) 133064 133104 40 0.0
.data 3792 3824 32 0.8
.init_array 808 816 8 1.0
.text 2376227 2376371 144 0.0
chip-tool debug (read only) 17768801 17768921 120 0.0
(read/write) 1055192 1055232 40 0.0
.bss 93720 93752 32 0.0
.init_array 792 800 8 1.0
.text 14797043 14797139 96 0.0
lighting-app debug+rpc+ui (read only) 5239377 5239569 192 0.0
.init_array 936 944 8 0.9
.text 4660403 4660547 144 0.0
lock-app debug (read only) 4470577 4470769 192 0.0
(read/write) 203088 203096 8 0.0
.init_array 856 864 8 0.9
.text 4013491 4013635 144 0.0
ota-provider-app debug (read only) 4126809 4126985 176 0.0
.init_array 720 728 8 1.1
.text 3735571 3735699 128 0.0
ota-requestor-app debug (read only) 4220721 4220913 192 0.0
.init_array 776 784 8 1.0
.text 3821731 3821875 144 0.0
shell debug (read only) 2929457 2929633 176 0.0
(read/write) 150968 150976 8 0.0
.init_array 1128 1136 8 0.7
.text 2547938 2548066 128 0.0
thermostat-no-ble arm64 .data 2864 2880 16 0.6
.got 11976 11984 8 0.1
.text 3949880 3949960 80 0.0
tv-app debug (read only) 5314545 5314817 272 0.0
(read/write) 350136 350144 8 0.0
.init_array 1136 1144 8 0.7
.text 4798579 4798803 224 0.0
tv-casting-app debug (read only) 8294321 8294513 192 0.0
.init_array 1048 1056 8 0.8
.text 7526563 7526707 144 0.0
mbed lock-app-release cy8cproto_062_4343w (read/write) 2521616 2521712 96 0.0
.data 5120 5128 8 0.2
.text 1484300 1484396 96 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1218700 1218756 56 0.0
text 843632 843668 36 0.0
nrf7002dk_nrf5340_cpuapp (read/write) 1337364 1337404 40 0.0
text 771080 771120 40 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1156628 1156668 40 0.0
text 810076 810116 40 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read/write) 1766900 1766908 8 0.0
.data 2520 2528 8 0.3
.debug_abbrev 1378296 1378929 633 0.0
.debug_aranges 143888 143928 40 0.0
.debug_frame 479364 479420 56 0.0
.debug_info 30059977 3011743 57454 0.2
.debug_line 4142027 4145035 3008 0.1
.debug_rnglists 142436 142461 25 0.0
.debug_str 4119257 4119269 12 0.0
.strtab 802559 802679 120 0.0
.symtab 500128 500208 80 0.0
all-clusters-minimal cy8ckit_062s2_43012 .data 2456 2464 8 0.3
.debug_abbrev 1283914 1285390 1476 0.1
.debug_aranges 137192 137232 40 0.0
.debug_frame 462452 462508 56 0.0
.debug_info 27156283 27214790 58507 0.2
.debug_line 3958916 3962980 4064 0.1
.debug_rnglists 135557 135582 25 0.0
.debug_str 3978806 3978826 20 0.0
.strtab 713193 713313 120 0.0
.symtab 465776 465856 80 0.0
light cy8ckit_062s2_43012 .data 2344 2352 8 0.3
.debug_abbrev 1124168 1125718 1550 0.1
.debug_aranges 127320 127360 40 0.0
.debug_frame 425592 425648 56 0.0
.debug_info 22303095 22361475 58380 0.3
.debug_line 3523451 3528189 4738 0.1
.debug_rnglists 125337 125362 25 0.0
.debug_str 3786878 3786886 8 0.0
.strtab 634185 634305 120 0.0
.symtab 430416 430496 80 0.0
lock cy8ckit_062s2_43012 .data 2360 2368 8 0.3
.debug_abbrev 1115833 1117155 1322 0.1
.debug_aranges 126232 126272 40 0.0
.debug_frame 421636 421692 56 0.0
.debug_info 22216908 22274644 57736 0.3
.debug_line 3479623 3483635 4012 0.1
.debug_rnglists 123525 123550 25 0.0
.debug_str 3751416 3751420 4 0.0
.strtab 608085 608205 120 0.0
.symtab 422544 422624 80 0.0
qpg lighting-app qpg6105+debug (read/write) 1177620 1177660 40 0.0
.data 736 744 8 1.1
.text 624464 624504 40 0.0
lock-app qpg6105+debug (read/write) 1134668 1134716 48 0.0
.data 740 748 8 1.1
.text 581508 581556 48 0.0
telink all-clusters-app tlsr9518adk80d (read/write) 1070172 1070220 48 0.0
text 728938 728980 42 0.0
all-clusters-minimal-app tlsr9518adk80d (read/write) 976632 976680 48 0.0
text 669568 669612 44 0.0
bridge-app tlsr9518adk80d (read/write) 943944 943984 40 0.0
text 646722 646766 44 0.0
contact-sensor-app tlsr9518adk80d (read/write) 875860 875900 40 0.0
text 590074 590112 38 0.0
light-switch-app tlsr9518adk80d (read/write) 904736 904784 48 0.0
text 615702 615744 42 0.0
lighting-app tlsr9518adk80d (read/write) 982280 982328 48 0.0
text 685572 685612 40 0.0
lighting-app-factory-data tlsr9518adk80d (read/write) 993652 993692 40 0.0
text 693086 693126 40 0.0
lighting-app-rpc tlsr9518adk80d (read/write) 1051812 1051860 48 0.0
text 730508 730548 40 0.0
lighting-app-shell tlsr9518adk80d (read/write) 1083148 1083188 40 0.0
text 750612 750652 40 0.0
lock-app tlsr9518adk80d (read/write) 933328 933368 40 0.0
text 620762 620804 42 0.0
ota-requestor-app tlsr9518adk80d (read/write) 898480 898520 40 0.0
text 611956 611994 38 0.0
pump-app tlsr9518adk80d (read/write) 881348 881388 40 0.0
text 595764 595802 38 0.0
pump-controller-app tlsr9518adk80d (read/write) 868504 868544 40 0.0
text 586202 586242 40 0.0
smoke_co_alarm-app tlsr9518adk80d (read/write) 878336 878368 32 0.0
text 593530 593572 42 0.0
temperature-measurement-app tlsr9518adk80d (read/write) 864628 864676 48 0.0
text 581806 581844 38 0.0
thermostat tlsr9518adk80d (read/write) 910572 910620 48 0.0
text 621248 621288 40 0.0
window-covering tlsr9518adk80d (read/write) 906328 906376 48 0.0
text 616520 616558 38 0.0
Decreases (39 builds for bl602, bl702, bl702l, cc32xx, cyw30739, esp32, k32w, linux, psoc6, qpg, telink)
platform target config section 1465733 a06d865 change % change
bl602 lighting-app bl602 (read/write) 1363826 1363762 -64 -0.0
.text 1056870 1056790 -80 -0.0
bl602+rpc (read/write) 1411294 1411230 -64 -0.0
.text 1088802 1088728 -74 -0.0
bl702 lighting-app bl702 (read/write) 1166743 1166663 -80 -0.0
.text 953894 953814 -80 -0.0
bl702+rpc (read/write) 1265647 1265595 -52 -0.0
.text 1028578 1028496 -82 -0.0
bl702l lighting-app bl702l (read/write) 1152652 1152592 -60 -0.0
.text 942964 942888 -76 -0.0
cc32xx lock CC3235SF_LAUNCHXL (read only) 615546 615514 -32 -0.0
.debug_loclists 1596540 1596525 -15 -0.0
.debug_str 3426584 3426580 -4 -0.0
.text 507144 507112 -32 -0.0
cyw30739 light cyw930739m2evb_01 (read/write) 550055 550015 -40 -0.0
.app_xip_area 441305 441257 -48 -0.0
lock cyw930739m2evb_01 (read/write) 537039 537007 -32 -0.0
.app_xip_area 423241 423201 -40 -0.0
ota-requestor cyw930739m2evb_01 (read/write) 573743 573727 -16 -0.0
.app_xip_area 466073 466049 -24 -0.0
switch cyw930739m2evb_01 .bss 65648 65640 -8 -0.0
esp32 all-clusters-app m5stack (read only) 1191607 1191591 -16 -0.0
.flash.text 1186223 1186207 -16 -0.0
k32w contact k32w0+release .bss 67372 67364 -8 -0.0
lock k32w0+release (read/write) 88792 88784 -8 -0.0
.bss 64908 64900 -8 -0.0
linux chip-tool-ipv6only arm64 (read only) 16981524 16981492 -32 -0.0
(read/write) 1122712 1122696 -16 -0.0
.got 23360 23352 -8 -0.0
lighting-app debug+rpc+ui (read/write) 222336 222312 -24 -0.0
.bss 118000 117968 -32 -0.0
ota-provider-app debug (read/write) 192152 192128 -24 -0.0
.bss 113792 113760 -32 -0.0
ota-requestor-app debug (read/write) 196464 196440 -24 -0.0
.bss 114848 114816 -32 -0.0
thermostat-no-ble arm64 (read only) 4450052 4450036 -16 -0.0
(read/write) 244168 244120 -48 -0.0
.data.rel.ro 102296 102232 -64 -0.1
tv-casting-app debug (read/write) 210848 210824 -24 -0.0
.bss 54496 54464 -32 -0.1
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 837568 837560 -8 -0.0
.debug_loclists 2247923 2247911 -12 -0.0
.heap 837568 837560 -8 -0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 839520 839512 -8 -0.0
(read/write) 1674348 1674340 -8 -0.0
.debug_loclists 2148811 2148797 -14 -0.0
.heap 839520 839512 -8 -0.0
.text 1472140 1472124 -16 -0.0
light cy8ckit_062s2_43012 (read only) 845784 845776 -8 -0.0
(read/write) 1605828 1605820 -8 -0.0
.debug_loclists 1985883 1985869 -14 -0.0
.heap 845784 845776 -8 -0.0
.text 1409884 1409868 -16 -0.0
lock cy8ckit_062s2_43012 (read only) 818264 818256 -8 -0.0
(read/write) 1639220 1639212 -8 -0.0
.debug_loclists 1966212 1966198 -14 -0.0
.heap 818264 818256 -8 -0.0
.text 1415756 1415740 -16 -0.0
qpg lighting-app qpg6105+debug .bss 101232 101224 -8 -0.0
lock-app qpg6105+debug .bss 95952 95944 -8 -0.0
telink bridge-app tlsr9518adk80d bss 109716 109708 -8 -0.0
contact-sensor-app tlsr9518adk80d bss 98896 98888 -8 -0.0
light-switch-app tlsr9518adk80d bss 99488 99480 -8 -0.0
lighting-app tlsr9518adk80d bss 107572 107564 -8 -0.0
lighting-app-factory-data tlsr9518adk80d bss 111820 111812 -8 -0.0
lighting-app-rpc tlsr9518adk80d bss 109144 109136 -8 -0.0
lighting-app-shell tlsr9518adk80d bss 120220 120212 -8 -0.0
lock-app tlsr9518adk80d bss 99616 99608 -8 -0.0
pump-app tlsr9518adk80d bss 99028 99020 -8 -0.0
pump-controller-app tlsr9518adk80d bss 98828 98820 -8 -0.0
smoke_co_alarm-app tlsr9518adk80d bss 99008 99000 -8 -0.0
temperature-measurement-app tlsr9518adk80d bss 98736 98728 -8 -0.0
thermostat tlsr9518adk80d bss 99280 99272 -8 -0.0
window-covering tlsr9518adk80d bss 99616 99608 -8 -0.0
Full report (60 builds for bl602, bl702, bl702l, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section 1465733 a06d865 change % change
bl602 lighting-app bl602 (read/write) 1363826 1363762 -64 -0.0
.bss 73670 73678 8 0.0
.data 9552 9560 8 0.1
.text 1056870 1056790 -80 -0.0
bl602+rpc (read/write) 1411294 1411230 -64 -0.0
.bss 81710 81718 8 0.0
.data 9952 9952 0 0.0
.text 1088802 1088728 -74 -0.0
bl702 lighting-app bl702 (read only) 3358 3358 0 0.0
(read/write) 1166743 1166663 -80 -0.0
.bleromro 6342 6342 0 0.0
.bleromrw 124 124 0 0.0
.boot2 328 328 0 0.0
.bss 41285 41285 0 0.0
.bss_psram 43488 43488 0 0.0
.comment 48 48 0 0.0
.data 3544 3544 0 0.0
.debug_abbrev 1566267 1567636 1369 0.1
.debug_aranges 140336 140408 72 0.1
.debug_frame 516340 516584 244 0.0
.debug_info 41434748 41497281 62533 0.2
.debug_line 5479108 5484150 5042 0.1
.debug_loc 3563974 3564274 300 0.0
.debug_ranges 384608 384704 96 0.0
.debug_str 4011881 4011892 11 0.0
.hbn 544 544 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 144 144 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 106856 106856 0 0.0
.rsvd 4 4 0 0.0
.sha_ocram 72 72 0 0.0
.shstrtab 304 304 0 0.0
.stack 2048 2048 0 0.0
.strtab 589190 589310 120 0.0
.symtab 175552 175600 48 0.0
.tcm_data 28 28 0 0.0
.tcmcode 3358 3358 0 0.0
.text 0 0 0 0.0
953894 953814 -80 -0.0
bl702+rpc (read only) 3358 3358 0 0.0
(read/write) 1265647 1265595 -52 -0.0
.bleromro 6342 6342 0 0.0
.bleromrw 124 124 0 0.0
.boot2 328 328 0 0.0
.bss 49749 49749 0 0.0
.bss_psram 43488 43488 0 0.0
.comment 48 48 0 0.0
.data 4088 4104 16 0.4
.debug_abbrev 1743397 1744766 1369 0.1
.debug_aranges 148880 148952 72 0.0
.debug_frame 545244 545488 244 0.0
.debug_info 46329694 46391701 62007 0.1
.debug_line 5891643 5896664 5021 0.1
.debug_loc 3770121 3770421 300 0.0
.debug_ranges 410360 410456 96 0.0
.debug_str 4431746 4431757 11 0.0
.hbn 544 544 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 160 160 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 121508 121508 0 0.0
.rsvd 4 4 0 0.0
.sha_ocram 72 72 0 0.0
.shstrtab 304 304 0 0.0
.stack 2048 2048 0 0.0
.strtab 652153 652273 120 0.0
.symtab 194480 194528 48 0.0
.tcm_data 28 28 0 0.0
.tcmcode 3358 3358 0 0.0
.text 0 0 0 0.0
1028578 1028496 -82 -0.0
bl702l lighting-app bl702l (read only) 278 278 0 0.0
(read/write) 1152652 1152592 -60 -0.0
.boot2 292 292 0 0.0
.bss 15988 15988 0 0.0
.bss_psram 77904 77904 0 0.0
.comment 48 48 0 0.0
.data 4512 4528 16 0.4
.debug_abbrev 1568486 1569855 1369 0.1
.debug_aranges 134840 134912 72 0.1
.debug_frame 496028 496272 244 0.0
.debug_info 41435857 41498390 62533 0.2
.debug_line 5394776 5399848 5072 0.1
.debug_loc 3500142 3500441 299 0.0
.debug_ranges 389816 389912 96 0.0
.debug_str 4024350 4024362 12 0.0
.hbn 3244 3244 0 0.0
.hbn_noinit 308 308 0 0.0
.init 408 408 0 0.0
.init_array 144 144 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 100740 100740 0 0.0
.romdata 3224 3224 0 0.0
.rsvd 4 4 0 0.0
.sha_ocram 72 72 0 0.0
.shstrtab 286 286 0 0.0
.stack 2048 2048 0 0.0
.strtab 589415 589535 120 0.0
.symtab 175120 175168 48 0.0
.tcm_data 692 692 0 0.0
.tcmcode 278 278 0 0.0
.text 0 0 0 0.0
942964 942888 -76 -0.0
cc32xx lock CC3235SF_LAUNCHXL (blank) 0 0 0 0.0
(read only) 615546 615514 -32 -0.0
(read/write) 207872 207880 8 0.0
.ARM.attributes 44 44 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 201320 201320 0 0.0
.comment 206 206 0 0.0
.data 1432 1440 8 0.6
.debug_abbrev 959724 962272 2548 0.3
.debug_aranges 109040 109080 40 0.0
.debug_frame 369924 369980 56 0.0
.debug_info 19356328 19412046 55718 0.3
.debug_line 2811692 2815526 3834 0.1
.debug_line_str 513 513 0 0.0
.debug_loc 33340 33340 0 0.0
.debug_loclists 1596540 1596525 -15 -0.0
.debug_ranges 4984 4984 0 0.0
.debug_rnglists 100669 100694 25 0.0
.debug_str 3426584 3426580 -4 -0.0
.ramVecs 780 780 0 0.0
.resetVecs 64 64 0 0.0
.rodata 106282 106282 0 0.0
.shstrtab 265 265 0 0.0
.stack 2048 2048 0 0.0
.strtab 496184 496304 120 0.0
.symtab 293280 293360 80 0.0
.text 507144 507112 -32 -0.0
cyw30739 light cyw930739m2evb_01 (read/write) 550055 550015 -40 -0.0
.app_xip_area 441305 441257 -48 -0.0
.bss 63776 63776 0 0.0
.data 656 664 8 1.2
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 537039 537007 -32 -0.0
.app_xip_area 423241 423201 -40 -0.0
.bss 68800 68800 0 0.0
.data 684 692 8 1.2
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 573743 573727 -16 -0.0
.app_xip_area 466073 466049 -24 -0.0
.bss 62768 62768 0 0.0
.data 584 592 8 1.4
.rodata 0 0 0 0.0
.text 112 112 0 0.0
switch cyw930739m2evb_01 (read/write) 546431 546439 8 0.0
.app_xip_area 435809 435817 8 0.0
.bss 65648 65640 -8 -0.0
.data 660 668 8 1.2
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A+rs9116 (read/write) 1010888 1012044 1156 0.1
.bss 183556 184572 1016 0.6
.data 2640 2652 12 0.5
.text 824672 824800 128 0.0
BRD4187C (read/write) 1035264 1036412 1148 0.1
.bss 163148 164156 1008 0.6
.data 3236 3248 12 0.4
.text 868860 868988 128 0.0
lock-app BRD4161A+wf200 (read/write) 1087396 1088552 1156 0.1
.bss 177612 178628 1016 0.6
.data 2660 2672 12 0.5
.text 907104 907232 128 0.0
window-app BRD4187C (read/write) 1106852 1108008 1156 0.1
.bss 146188 147196 1008 0.7
.data 3120 3132 12 0.4
.text 957524 957660 136 0.0
esp32 all-clusters-app c3devkit (read only) 1149562 1149568 6 0.0
(read/write) 1701996 1702012 16 0.0
.dram0.bss 79088 79096 8 0.0
.dram0.data 13076 13076 0 0.0
.flash.rodata 266088 266088 0 0.0
.flash.text 1149562 1149568 6 0.0
.iram0.text 75262 75262 0 0.0
m5stack (read only) 1191607 1191591 -16 -0.0
(read/write) 550206 550222 16 0.0
.dram0.bss 85464 85464 0 0.0
.dram0.data 34020 34036 16 0.0
.flash.rodata 297080 297080 0 0.0
.flash.text 1186223 1186207 -16 -0.0
.iram0.text 123311 123311 0 0.0
k32w contact k32w0+release (read only) 590140 590220 80 0.0
(read/write) 91312 91320 8 0.0
.bss 67372 67364 -8 -0.0
.data 2116 2124 8 0.4
.text 589604 589684 80 0.0
light k32w0+release (read only) 588828 588892 64 0.0
(read/write) 90960 90960 0 0.0
.bss 67020 67020 0 0.0
.data 2104 2112 8 0.4
.text 588292 588356 64 0.0
lock k32w0+release (read only) 561396 561460 64 0.0
(read/write) 88792 88784 -8 -0.0
.bss 64908 64900 -8 -0.0
.data 2048 2056 8 0.4
.text 560860 560924 64 0.0
linux all-clusters-app debug (read only) 5486321 5486513 192 0.0
(read/write) 417912 417920 8 0.0
.bss 130688 130688 0 0.0
.data 4016 4016 0 0.0
.data.rel.ro 275872 275872 0 0.0
.dynamic 624 624 0 0.0
.got 5384 5384 0 0.0
.init 27 27 0 0.0
.init_array 1296 1304 8 0.6
.rodata 334000 334000 0 0.0
.text 4775315 4775459 144 0.0
all-clusters-minimal-app debug (read only) 4900265 4900457 192 0.0
(read/write) 231664 231672 8 0.0
.bss 126304 126304 0 0.0
.data 3856 3856 0 0.0
.data.rel.ro 94376 94376 0 0.0
.dynamic 624 624 0 0.0
.got 5344 5344 0 0.0
.init 27 27 0 0.0
.init_array 1128 1136 8 0.7
.rodata 271878 271878 0 0.0
.text 4398259 4398403 144 0.0
bridge-app debug (read only) 2768145 2768337 192 0.0
(read/write) 133064 133104 40 0.0
.bss 51768 51768 0 0.0
.data 3792 3824 32 0.8
.data.rel.ro 71400 71400 0 0.0
.dynamic 624 624 0 0.0
.got 4640 4640 0 0.0
.init 27 27 0 0.0
.init_array 808 816 8 1.0
.rodata 214440 214440 0 0.0
.text 2376227 2376371 144 0.0
chip-tool debug (read only) 17768801 17768921 120 0.0
(read/write) 1055192 1055232 40 0.0
.bss 93720 93752 32 0.0
.data 5090 5090 0 0.0
.data.rel.ro 949040 949040 0 0.0
.dynamic 624 624 0 0.0
.got 5880 5880 0 0.0
.init 27 27 0 0.0
.init_array 792 800 8 1.0
.rodata 916753 916753 0 0.0
.text 14797043 14797139 96 0.0
chip-tool-ipv6only arm64 (read only) 16981524 16981492 -32 -0.0
(read/write) 1122712 1122696 -16 -0.0
.bss 103064 103064 0 0.0
.data 4392 4392 0 0.0
.data.rel.ro 986400 986400 0 0.0
.dynamic 512 512 0 0.0
.got 23360 23352 -8 -0.0
.init 24 24 0 0.0
.init_array 248 248 0 0.0
.rodata 827632 827632 0 0.0
.text 13914072 13914072 0 0.0
lighting-app debug+rpc+ui (read only) 5239377 5239569 192 0.0
(read/write) 222336 222312 -24 -0.0
.bss 118000 117968 -32 -0.0
.data 4528 4528 0 0.0
.data.rel.ro 92240 92240 0 0.0
.dynamic 672 672 0 0.0
.got 5928 5928 0 0.0
.init 27 27 0 0.0
.init_array 936 944 8 0.9
.rodata 336948 336948 0 0.0
.text 4660403 4660547 144 0.0
lock-app debug (read only) 4470577 4470769 192 0.0
(read/write) 203088 203096 8 0.0
.bss 113616 113616 0 0.0
.data 3728 3728 0 0.0
.data.rel.ro 78960 78960 0 0.0
.dynamic 624 624 0 0.0
.got 5264 5264 0 0.0
.init 27 27 0 0.0
.init_array 856 864 8 0.9
.rodata 247782 247782 0 0.0
.text 4013491 4013635 144 0.0
ota-provider-app debug (read only) 4126809 4126985 176 0.0
(read/write) 192152 192128 -24 -0.0
.bss 113792 113760 -32 -0.0
.data 4000 4000 0 0.0
.data.rel.ro 68448 68448 0 0.0
.dynamic 624 624 0 0.0
.got 4544 4544 0 0.0
.init 27 27 0 0.0
.init_array 720 728 8 1.1
.rodata 200966 200966 0 0.0
.text 3735571 3735699 128 0.0
ota-requestor-app debug (read only) 4220721 4220913 192 0.0
(read/write) 196464 196440 -24 -0.0
.bss 114848 114816 -32 -0.0
.data 4240 4240 0 0.0
.data.rel.ro 71448 71448 0 0.0
.dynamic 624 624 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 776 784 8 1.0
.rodata 204390 204390 0 0.0
.text 3821731 3821875 144 0.0
shell debug (read only) 2929457 2929633 176 0.0
(read/write) 150968 150976 8 0.0
.bss 60296 60296 0 0.0
.data 784 784 0 0.0
.data.rel.ro 84024 84024 0 0.0
.dynamic 592 592 0 0.0
.got 4112 4112 0 0.0
.init 27 27 0 0.0
.init_array 1128 1136 8 0.7
.rodata 210674 210674 0 0.0
.text 2547938 2548066 128 0.0
thermostat-no-ble arm64 (read only) 4450052 4450036 -16 -0.0
(read/write) 244168 244120 -48 -0.0
.bss 122552 122552 0 0.0
.data 2864 2880 16 0.6
.data.rel.ro 102296 102232 -64 -0.1
.dynamic 512 512 0 0.0
.got 11976 11984 8 0.1
.init 24 24 0 0.0
.init_array 440 440 0 0.0
.rodata 161996 161996 0 0.0
.text 3949880 3949960 80 0.0
tv-app debug (read only) 5314545 5314817 272 0.0
(read/write) 350136 350144 8 0.0
.bss 241568 241568 0 0.0
.data 5104 5104 0 0.0
.data.rel.ro 96048 96048 0 0.0
.dynamic 624 624 0 0.0
.got 5616 5616 0 0.0
.init 27 27 0 0.0
.init_array 1136 1144 8 0.7
.rodata 272374 272374 0 0.0
.text 4798579 4798803 224 0.0
tv-casting-app debug (read only) 8294321 8294513 192 0.0
(read/write) 210848 210824 -24 -0.0
.bss 54496 54464 -32 -0.1
.data 2544 2544 0 0.0
.data.rel.ro 147016 147016 0 0.0
.dynamic 624 624 0 0.0
.got 5096 5096 0 0.0
.init 27 27 0 0.0
.init_array 1048 1056 8 0.8
.rodata 367644 367644 0 0.0
.text 7526563 7526707 144 0.0
mbed lock-app-release cy8cproto_062_4343w (read only) 6224 6224 0 0.0
(read/write) 2521616 2521712 96 0.0
.bss 220040 220040 0 0.0
.data 5120 5128 8 0.2
.text 1484300 1484396 96 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1218700 1218756 56 0.0
bss 154660 154660 0 0.0
rodata 141392 141392 0 0.0
text 843632 843668 36 0.0
nrf7002dk_nrf5340_cpuapp (read only) 4 4 0 0.0
(read/write) 1337364 1337404 40 0.0
bss 140118 140118 0 0.0
rodata 135484 135484 0 0.0
text 771080 771120 40 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1156628 1156668 40 0.0
bss 154839 154839 0 0.0
rodata 112776 112776 0 0.0
text 810076 810116 40 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 837568 837560 -8 -0.0
(read/write) 1766900 1766908 8 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 193252 193252 0 0.0
.comment 212 212 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2520 2528 8 0.3
.debug_abbrev 1378296 1378929 633 0.0
.debug_aranges 143888 143928 40 0.0
.debug_frame 479364 479420 56 0.0
.debug_info 30059977 3011743 57454 0.2
.debug_line 4142027 4145035 3008 0.1
.debug_line_str 957 957 0 0.0
.debug_loclists 2247923 2247911 -12 -0.0
.debug_rnglists 142436 142461 25 0.0
.debug_str 4119257 4119269 12 0.0
.heap 837568 837560 -8 -0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 296 296 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 802559 802679 120 0.0
.symtab 500128 500208 80 0.0
.text 1562740 1562740 0 0.0
.zero.table 8 8 0 0.0
text 0 0 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 839520 839512 -8 -0.0
(read/write) 1674348 1674340 -8 -0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 191364 191364 0 0.0
.comment 212 212 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2456 2464 8 0.3
.debug_abbrev 1283914 1285390 1476 0.1
.debug_aranges 137192 137232 40 0.0
.debug_frame 462452 462508 56 0.0
.debug_info 27156283 27214790 58507 0.2
.debug_line 3958916 3962980 4064 0.1
.debug_line_str 981 981 0 0.0
.debug_loclists 2148811 2148797 -14 -0.0
.debug_rnglists 135557 135582 25 0.0
.debug_str 3978806 3978826 20 0.0
.heap 839520 839512 -8 -0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 296 296 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 713193 713313 120 0.0
.symtab 465776 465856 80 0.0
.text 1472140 1472124 -16 -0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
light cy8ckit_062s2_43012 (read only) 845784 845776 -8 -0.0
(read/write) 1605828 1605820 -8 -0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 185212 185212 0 0.0
.comment 212 212 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2344 2352 8 0.3
.debug_abbrev 1124168 1125718 1550 0.1
.debug_aranges 127320 127360 40 0.0
.debug_frame 425592 425648 56 0.0
.debug_info 22303095 22361475 58380 0.3
.debug_line 3523451 3528189 4738 0.1
.debug_line_str 942 942 0 0.0
.debug_loclists 1985883 1985869 -14 -0.0
.debug_rnglists 125337 125362 25 0.0
.debug_str 3786878 3786886 8 0.0
.heap 845784 845776 -8 -0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 296 296 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 634185 634305 120 0.0
.symtab 430416 430496 80 0.0
.text 1409884 1409868 -16 -0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
lock cy8ckit_062s2_43012 (read only) 818264 818256 -8 -0.0
(read/write) 1639220 1639212 -8 -0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 212716 212716 0 0.0
.comment 212 212 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2360 2368 8 0.3
.debug_abbrev 1115833 1117155 1322 0.1
.debug_aranges 126232 126272 40 0.0
.debug_frame 421636 421692 56 0.0
.debug_info 22216908 22274644 57736 0.3
.debug_line 3479623 3483635 4012 0.1
.debug_line_str 933 933 0 0.0
.debug_loclists 1966212 1966198 -14 -0.0
.debug_rnglists 123525 123550 25 0.0
.debug_str 3751416 3751420 4 0.0
.heap 818264 818256 -8 -0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 296 296 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 608085 608205 120 0.0
.symtab 422544 422624 80 0.0
.text 1415756 1415740 -16 -0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1177620 1177660 40 0.0
.bss 101232 101224 -8 -0.0
.data 736 744 8 1.1
.text 624464 624504 40 0.0
lock-app qpg6105+debug (read/write) 1134668 1134716 48 0.0
.bss 95952 95944 -8 -0.0
.data 740 748 8 1.1
.text 581508 581556 48 0.0
telink all-clusters-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1070172 1070220 48 0.0
bss 107356 107356 0 0.0
text 728938 728980 42 0.0
all-clusters-minimal-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 976632 976680 48 0.0
bss 105332 105332 0 0.0
text 669568 669612 44 0.0
bridge-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 943944 943984 40 0.0
bss 109716 109708 -8 -0.0
text 646722 646766 44 0.0
contact-sensor-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 875860 875900 40 0.0
bss 98896 98888 -8 -0.0
text 590074 590112 38 0.0
light-switch-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 904736 904784 48 0.0
bss 99488 99480 -8 -0.0
text 615702 615744 42 0.0
lighting-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 982280 982328 48 0.0
bss 107572 107564 -8 -0.0
text 685572 685612 40 0.0
lighting-app-factory-data tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 993652 993692 40 0.0
bss 111820 111812 -8 -0.0
text 693086 693126 40 0.0
lighting-app-rpc tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1051812 1051860 48 0.0
bss 109144 109136 -8 -0.0
text 730508 730548 40 0.0
lighting-app-shell tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1083148 1083188 40 0.0
bss 120220 120212 -8 -0.0
text 750612 750652 40 0.0
lock-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 933328 933368 40 0.0
bss 99616 99608 -8 -0.0
text 620762 620804 42 0.0
ota-requestor-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 898480 898520 40 0.0
bss 100196 100196 0 0.0
text 611956 611994 38 0.0
pump-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 881348 881388 40 0.0
bss 99028 99020 -8 -0.0
text 595764 595802 38 0.0
pump-controller-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 868504 868544 40 0.0
bss 98828 98820 -8 -0.0
text 586202 586242 40 0.0
shell tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 744228 744228 0 0.0
bss 97256 97256 0 0.0
text 478644 478644 0 0.0
smoke_co_alarm-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 878336 878368 32 0.0
bss 99008 99000 -8 -0.0
text 593530 593572 42 0.0
temperature-measurement-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 864628 864676 48 0.0
bss 98736 98728 -8 -0.0
text 581806 581844 38 0.0
thermostat tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 910572 910620 48 0.0
bss 99280 99272 -8 -0.0
text 621248 621288 40 0.0
window-covering tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 906328 906376 48 0.0
bss 99616 99608 -8 -0.0
text 616520 616558 38 0.0

@yunhanw-google yunhanw-google merged commit c1bcf1d into project-chip:master Aug 4, 2023
51 checks passed
abpoth pushed a commit to abpoth/connectedhomeip that referenced this pull request Aug 15, 2023
…-chip#27635)

* Json to Tlv and Tlv to Json Converters Implemented in CPP

This implementation is equivalent to the Kotlin implementation in:
src/controller/java/src/chip/jsontlv/

Note that NOT all TLV configurations are supported by the current implementation. Here is the list of limitations:
   - TLV Structure elements are expected to be sorted in a canonical tag order
   - TLV Lists are not supported
   - Multi-Dimensional TLV Arrays are not supported
   - All elements in an array MUST be of the same type
   - The top-level TLV element MUST be a single structure with AnonymousTag
   - The following tags are supported:
       - AnonymousTag are only used with TLV Array elements or a top-level structure.
       - ContextSpecificTag are used only with TLV Structure elements.
       - CommonProfileTag are used only with TLV Structure elements.
   - Infinity Float/Double values are not supported.

Added README.md file that describing the format.

Added unit tests for TLV to JSON, JSON to TLV, JSON to TLV back to JSON conversion cases.

NOTE about the current implementation of the Tlv-to-Json converter in:
    src/lib/support/jsontlv/TlvJson.cpp
I kept this implementation because it is currently used in a few places in the code for testing/logging
purposes. As a follow up work item, this implementation should be replaced with the new one presented
in this commit.

* Update src/lib/support/jsontlv/JsonToTlv.cpp

Co-authored-by: Robert Szewczyk <szewczyk@google.com>

* Update src/lib/support/jsontlv/TlvToJson.cpp

Co-authored-by: Robert Szewczyk <szewczyk@google.com>

* Update src/lib/support/jsontlv/TlvToJson.cpp

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>

* Update src/lib/support/jsontlv/TlvToJson.cpp

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>

* Update src/lib/support/jsontlv/JsonToTlv.h

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>

* Update src/lib/support/jsontlv/JsonToTlv.h

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>

* Addressed Review Comments

* Restyled by clang-format

* Restyled by prettier-markdown

* Removed Debug Prints

* Added Support for Float/Double Infinity Values

Those values should be encoded as "Infinity" and "-Infinity" strings.

* Restyled by clang-format

* Restyled by prettier-markdown

* Update src/lib/support/jsontlv/JsonToTlv.cpp

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>

* Addressed Review Comments

* Switch from CommonTag to ProfileTag with an implicit profile id

* Documentation update

* Restyle

* Fix type of variable in unit test

* Update src/lib/support/jsontlv/README.md

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>

* Update src/lib/support/jsontlv/TlvToJson.cpp

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>

* Update src/lib/support/jsontlv/TlvToJson.cpp

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>

* Update src/lib/support/jsontlv/TlvToJson.cpp

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>

* Update src/lib/support/jsontlv/TlvJson.cpp

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>

* Added more comments about kTemporaryImplicitProfileId not being actually used in stored values. Made the values consistent everywhere

* Revert old code updates

* Casing on json updated according to code review

* Make the tlv element naming a bit more consistent, including invalid JSON in case element types are NOT as expected

* Remove obsolete comment

* Update src/lib/support/jsontlv/TlvToJson.cpp

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>

* Update src/lib/support/jsontlv/TlvToJson.cpp

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>

---------

Co-authored-by: Robert Szewczyk <szewczyk@google.com>
Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>
Co-authored-by: Restyled.io <commits@restyled.io>
Co-authored-by: Andrei Litvin <andreilitvin@google.com>
Co-authored-by: Andrei Litvin <andy314@gmail.com>
Co-authored-by: yunhanw-google <yunhanw@google.com>
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.

Add Generic C++ TLV/JSON Conversion along with documentation similar to the existing kotlin tlv/json converter
9 participants