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

[EFR32] Rework NVM3 instances and refactor our KVS implementation to use nvm3 #16877

Merged
merged 10 commits into from
Apr 1, 2022

Conversation

jmartinez-silabs
Copy link
Member

Problem

EFR32 matter examples create a second instance of nvm3 which causes a significant overhead and flash usage impact.
The KVS platform implementation also creates its own flash section using a few flash pages independently from the already 2 existing nvm sections (nvm3 default + chip_nvm3).

Change overview

  • Delete the chip_nvm3 section and instead use the already existing Silabs default nvm3 section. (share space with other stacks).
  • Rework the section placement in the linker files.
  • Create a new key domain in this nvm3 section for matter storage.
  • Refactor KVS platform implementation to use Silabs nvm3 storage.

Testing

Run persistent-storage app on EFR32 for unit testing of the new KVS platform API
Build/Run/Commission/reboot/send commands on all the example apps supported by the EFR32 platform

@boring-cyborg boring-cyborg bot added the github label Mar 31, 2022
@github-actions
Copy link

github-actions bot commented Mar 31, 2022

PR #16877: Size comparison from a86ad03 to 6b7151c

Full report (26 builds for cc13x2_26x2, cyw30739, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section a86ad03 6b7151c change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 667707 667707 0 0.0
(read/write) 184036 184036 0 0.0
.bss 81784 81784 0 0.0
.data 3132 3132 0 0.0
.rodata 79627 79627 0 0.0
.text 587600 587600 0 0.0
lock-mtd LP_CC2652R7 (read only) 616835 616835 0 0.0
(read/write) 154500 154500 0 0.0
.bss 77512 77512 0 0.0
.data 3132 3132 0 0.0
.rodata 79507 79507 0 0.0
.text 536840 536840 0 0.0
pump-app LP_CC2652R7 (read only) 687159 687159 0 0.0
(read/write) 165744 165744 0 0.0
.bss 82176 82176 0 0.0
.data 3164 3164 0 0.0
.rodata 81703 81703 0 0.0
.text 604972 604972 0 0.0
pump-controller-app LP_CC2652R7 (read only) 669415 669415 0 0.0
(read/write) 183232 183232 0 0.0
.bss 81920 81920 0 0.0
.data 3128 3128 0 0.0
.rodata 78039 78039 0 0.0
.text 590892 590892 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 609754 609754 0 0.0
.app_xip_area 516496 516496 0 0.0
.bss 76004 76004 0 0.0
.data 600 600 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 567266 567266 0 0.0
.app_xip_area 475544 475544 0 0.0
.bss 74508 74508 0 0.0
.data 564 564 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 579182 579182 0 0.0
.app_xip_area 477804 477804 0 0.0
.bss 83836 83836 0 0.0
.data 504 504 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
k32w light k32w061+release (read/write) 707492 707492 0 0.0
.bss 77992 77992 0 0.0
.data 1872 1872 0 0.0
.text 621828 621828 0 0.0
lock k32w061+release (read/write) 706600 706600 0 0.0
.bss 77960 77960 0 0.0
.data 1912 1912 0 0.0
.text 620928 620928 0 0.0
linux all-clusters-app debug (read only) 2553105 2553105 0 0.0
(read/write) 143872 143872 0 0.0
.bss 57472 57472 0 0.0
.data 1296 1296 0 0.0
.data.rel.ro 79352 79352 0 0.0
.dynamic 592 592 0 0.0
.got 4184 4184 0 0.0
.init 27 27 0 0.0
.init_array 952 952 0 0.0
.rodata 219077 219077 0 0.0
.text 2169602 2169602 0 0.0
bridge-app debug+rpc (read only) 1783005 1783005 0 0.0
(read/write) 89880 89880 0 0.0
.bss 44552 44552 0 0.0
.data 2000 2000 0 0.0
.data.rel.ro 38232 38232 0 0.0
.dynamic 592 592 0 0.0
.got 3928 3928 0 0.0
.init 27 27 0 0.0
.init_array 552 552 0 0.0
.rodata 147057 147057 0 0.0
.text 1520085 1520085 0 0.0
chip-tool debug (read only) 10333325 10333325 0 0.0
(read/write) 356640 356640 0 0.0
.bss 22080 22080 0 0.0
.data 1072 1072 0 0.0
.data.rel.ro 327264 327264 0 0.0
.dynamic 624 624 0 0.0
.got 4896 4896 0 0.0
.init 27 27 0 0.0
.init_array 664 664 0 0.0
.rodata 529997 529997 0 0.0
.text 9015269 9015269 0 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 9941780 9941780 0 0.0
(read/write) 475633 475633 0 0.0
.bss 40401 40401 0 0.0
.data 1136 1136 0 0.0
.data.rel.ro 374024 374024 0 0.0
.dynamic 560 560 0 0.0
.got 56264 56264 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 503788 503788 0 0.0
.text 8379380 8379380 0 0.0
door-lock-app debug (read only) 2035729 2035729 0 0.0
(read/write) 117288 117288 0 0.0
.bss 47680 47680 0 0.0
.data 1008 1008 0 0.0
.data.rel.ro 63176 63176 0 0.0
.dynamic 592 592 0 0.0
.got 4128 4128 0 0.0
.init 27 27 0 0.0
.init_array 672 672 0 0.0
.rodata 183649 183649 0 0.0
.text 1701762 1701762 0 0.0
lighting-app debug+rpc (read only) 2213489 2213489 0 0.0
(read/write) 124280 124280 0 0.0
.bss 48960 48960 0 0.0
.data 1488 1488 0 0.0
.data.rel.ro 68248 68248 0 0.0
.dynamic 608 608 0 0.0
.got 4176 4176 0 0.0
.init 27 27 0 0.0
.init_array 752 752 0 0.0
.rodata 177665 177665 0 0.0
.text 1876146 1876146 0 0.0
ota-provider-app debug (read only) 1975553 1975553 0 0.0
(read/write) 113016 113016 0 0.0
.bss 47584 47584 0 0.0
.data 1288 1288 0 0.0
.data.rel.ro 58488 58488 0 0.0
.dynamic 608 608 0 0.0
.got 4384 4384 0 0.0
.init 27 27 0 0.0
.init_array 624 624 0 0.0
.rodata 169291 169291 0 0.0
.text 1653890 1653890 0 0.0
ota-requestor-app debug (read only) 2003425 2003425 0 0.0
(read/write) 116208 116208 0 0.0
.bss 48544 48544 0 0.0
.data 1480 1480 0 0.0
.data.rel.ro 60696 60696 0 0.0
.dynamic 592 592 0 0.0
.got 4192 4192 0 0.0
.init 27 27 0 0.0
.init_array 648 648 0 0.0
.rodata 165652 165652 0 0.0
.text 1684418 1684418 0 0.0
shell debug (read only) 2468457 2468457 0 0.0
(read/write) 147824 147824 0 0.0
.bss 67304 67304 0 0.0
.data 784 784 0 0.0
.data.rel.ro 74016 74016 0 0.0
.dynamic 592 592 0 0.0
.got 4160 4160 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 212274 212274 0 0.0
.text 2098562 2098562 0 0.0
thermostat-no-ble arm64 (read only) 2293076 2293076 0 0.0
(read/write) 148657 148657 0 0.0
.bss 62849 62849 0 0.0
.data 1040 1040 0 0.0
.data.rel.ro 77216 77216 0 0.0
.dynamic 560 560 0 0.0
.got 4544 4544 0 0.0
.init 24 24 0 0.0
.init_array 360 360 0 0.0
.rodata 142052 142052 0 0.0
.text 1927056 1927056 0 0.0
tv-app debug (read only) 2714617 2714617 0 0.0
(read/write) 248184 248184 0 0.0
.bss 164624 164624 0 0.0
.data 3136 3136 0 0.0
.data.rel.ro 74368 74368 0 0.0
.dynamic 592 592 0 0.0
.got 4552 4552 0 0.0
.init 27 27 0 0.0
.init_array 896 896 0 0.0
.rodata 208811 208811 0 0.0
.text 2330674 2330674 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2358540 2358540 0 0.0
.bss 185052 185052 0 0.0
.data 5760 5760 0 0.0
.text 1321140 1321140 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1148079 1148079 0 0.0
bss 143092 143092 0 0.0
rodata 143232 143232 0 0.0
text 786952 786952 0 0.0
p6 all-clusters-app default (read/write) 2502984 2502984 0 0.0
.bss 118488 118488 0 0.0
.data 2640 2640 0 0.0
.text 1461248 1461248 0 0.0
light-app default (read/write) 2404472 2404472 0 0.0
.bss 111944 111944 0 0.0
.data 2496 2496 0 0.0
.text 1362736 1362736 0 0.0
lock-app default (read/write) 2368080 2368080 0 0.0
.bss 111688 111688 0 0.0
.data 2456 2456 0 0.0
.text 1326344 1326344 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 791428 791428 0 0.0
bss 70296 70296 0 0.0
noinit 40416 40416 0 0.0
text 561386 561386 0 0.0

@github-actions
Copy link

github-actions bot commented Mar 31, 2022

PR #16877: Size comparison from a86ad03 to aeff1be

Full report (28 builds for cc13x2_26x2, cyw30739, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section a86ad03 aeff1be change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 667707 667707 0 0.0
(read/write) 184036 184036 0 0.0
.bss 81784 81784 0 0.0
.data 3132 3132 0 0.0
.rodata 79627 79627 0 0.0
.text 587600 587600 0 0.0
lock-mtd LP_CC2652R7 (read only) 616835 616835 0 0.0
(read/write) 154500 154500 0 0.0
.bss 77512 77512 0 0.0
.data 3132 3132 0 0.0
.rodata 79507 79507 0 0.0
.text 536840 536840 0 0.0
pump-app LP_CC2652R7 (read only) 687159 687159 0 0.0
(read/write) 165744 165744 0 0.0
.bss 82176 82176 0 0.0
.data 3164 3164 0 0.0
.rodata 81703 81703 0 0.0
.text 604972 604972 0 0.0
pump-controller-app LP_CC2652R7 (read only) 669415 669415 0 0.0
(read/write) 183232 183232 0 0.0
.bss 81920 81920 0 0.0
.data 3128 3128 0 0.0
.rodata 78039 78039 0 0.0
.text 590892 590892 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 609754 609754 0 0.0
.app_xip_area 516496 516496 0 0.0
.bss 76004 76004 0 0.0
.data 600 600 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 567266 567266 0 0.0
.app_xip_area 475544 475544 0 0.0
.bss 74508 74508 0 0.0
.data 564 564 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 579182 579182 0 0.0
.app_xip_area 477804 477804 0 0.0
.bss 83836 83836 0 0.0
.data 504 504 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
esp32 all-clusters-app c3devkit (read only) 970616 970616 0 0.0
(read/write) 1395138 1395138 0 0.0
.dram0.bss 62456 62456 0 0.0
.dram0.data 14220 14220 0 0.0
.flash.rodata 199544 199544 0 0.0
.flash.text 970616 970616 0 0.0
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1026335 1026335 0 0.0
(read/write) 462900 462900 0 0.0
.dram0.bss 67984 67984 0 0.0
.dram0.data 34024 34024 0 0.0
.flash.rodata 229056 229056 0 0.0
.flash.text 1020951 1020951 0 0.0
.iram0.text 123107 123107 0 0.0
k32w light k32w061+release (read/write) 707492 707492 0 0.0
.bss 77992 77992 0 0.0
.data 1872 1872 0 0.0
.text 621828 621828 0 0.0
lock k32w061+release (read/write) 706600 706600 0 0.0
.bss 77960 77960 0 0.0
.data 1912 1912 0 0.0
.text 620928 620928 0 0.0
linux all-clusters-app debug (read only) 2553105 2553105 0 0.0
(read/write) 143872 143872 0 0.0
.bss 57472 57472 0 0.0
.data 1296 1296 0 0.0
.data.rel.ro 79352 79352 0 0.0
.dynamic 592 592 0 0.0
.got 4184 4184 0 0.0
.init 27 27 0 0.0
.init_array 952 952 0 0.0
.rodata 219077 219077 0 0.0
.text 2169602 2169602 0 0.0
bridge-app debug+rpc (read only) 1783005 1783005 0 0.0
(read/write) 89880 89880 0 0.0
.bss 44552 44552 0 0.0
.data 2000 2000 0 0.0
.data.rel.ro 38232 38232 0 0.0
.dynamic 592 592 0 0.0
.got 3928 3928 0 0.0
.init 27 27 0 0.0
.init_array 552 552 0 0.0
.rodata 147057 147057 0 0.0
.text 1520085 1520085 0 0.0
chip-tool debug (read only) 10333325 10333325 0 0.0
(read/write) 356640 356640 0 0.0
.bss 22080 22080 0 0.0
.data 1072 1072 0 0.0
.data.rel.ro 327264 327264 0 0.0
.dynamic 624 624 0 0.0
.got 4896 4896 0 0.0
.init 27 27 0 0.0
.init_array 664 664 0 0.0
.rodata 529997 529997 0 0.0
.text 9015269 9015269 0 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 9941780 9941780 0 0.0
(read/write) 475633 475633 0 0.0
.bss 40401 40401 0 0.0
.data 1136 1136 0 0.0
.data.rel.ro 374024 374024 0 0.0
.dynamic 560 560 0 0.0
.got 56264 56264 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 503788 503788 0 0.0
.text 8379380 8379380 0 0.0
door-lock-app debug (read only) 2035729 2035729 0 0.0
(read/write) 117288 117288 0 0.0
.bss 47680 47680 0 0.0
.data 1008 1008 0 0.0
.data.rel.ro 63176 63176 0 0.0
.dynamic 592 592 0 0.0
.got 4128 4128 0 0.0
.init 27 27 0 0.0
.init_array 672 672 0 0.0
.rodata 183649 183649 0 0.0
.text 1701762 1701762 0 0.0
lighting-app debug+rpc (read only) 2213489 2213489 0 0.0
(read/write) 124280 124280 0 0.0
.bss 48960 48960 0 0.0
.data 1488 1488 0 0.0
.data.rel.ro 68248 68248 0 0.0
.dynamic 608 608 0 0.0
.got 4176 4176 0 0.0
.init 27 27 0 0.0
.init_array 752 752 0 0.0
.rodata 177665 177665 0 0.0
.text 1876146 1876146 0 0.0
ota-provider-app debug (read only) 1975553 1975553 0 0.0
(read/write) 113016 113016 0 0.0
.bss 47584 47584 0 0.0
.data 1288 1288 0 0.0
.data.rel.ro 58488 58488 0 0.0
.dynamic 608 608 0 0.0
.got 4384 4384 0 0.0
.init 27 27 0 0.0
.init_array 624 624 0 0.0
.rodata 169291 169291 0 0.0
.text 1653890 1653890 0 0.0
ota-requestor-app debug (read only) 2003425 2003425 0 0.0
(read/write) 116208 116208 0 0.0
.bss 48544 48544 0 0.0
.data 1480 1480 0 0.0
.data.rel.ro 60696 60696 0 0.0
.dynamic 592 592 0 0.0
.got 4192 4192 0 0.0
.init 27 27 0 0.0
.init_array 648 648 0 0.0
.rodata 165652 165652 0 0.0
.text 1684418 1684418 0 0.0
shell debug (read only) 2468457 2468457 0 0.0
(read/write) 147824 147824 0 0.0
.bss 67304 67304 0 0.0
.data 784 784 0 0.0
.data.rel.ro 74016 74016 0 0.0
.dynamic 592 592 0 0.0
.got 4160 4160 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 212274 212274 0 0.0
.text 2098562 2098562 0 0.0
thermostat-no-ble arm64 (read only) 2293076 2293076 0 0.0
(read/write) 148657 148657 0 0.0
.bss 62849 62849 0 0.0
.data 1040 1040 0 0.0
.data.rel.ro 77216 77216 0 0.0
.dynamic 560 560 0 0.0
.got 4544 4544 0 0.0
.init 24 24 0 0.0
.init_array 360 360 0 0.0
.rodata 142052 142052 0 0.0
.text 1927056 1927056 0 0.0
tv-app debug (read only) 2714617 2714617 0 0.0
(read/write) 248184 248184 0 0.0
.bss 164624 164624 0 0.0
.data 3136 3136 0 0.0
.data.rel.ro 74368 74368 0 0.0
.dynamic 592 592 0 0.0
.got 4552 4552 0 0.0
.init 27 27 0 0.0
.init_array 896 896 0 0.0
.rodata 208811 208811 0 0.0
.text 2330674 2330674 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2358540 2358540 0 0.0
.bss 185052 185052 0 0.0
.data 5760 5760 0 0.0
.text 1321140 1321140 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1148079 1148079 0 0.0
bss 143092 143092 0 0.0
rodata 143232 143232 0 0.0
text 786952 786952 0 0.0
p6 all-clusters-app default (read/write) 2502984 2502984 0 0.0
.bss 118488 118488 0 0.0
.data 2640 2640 0 0.0
.text 1461248 1461248 0 0.0
light-app default (read/write) 2404472 2404472 0 0.0
.bss 111944 111944 0 0.0
.data 2496 2496 0 0.0
.text 1362736 1362736 0 0.0
lock-app default (read/write) 2368080 2368080 0 0.0
.bss 111688 111688 0 0.0
.data 2456 2456 0 0.0
.text 1326344 1326344 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 791428 791428 0 0.0
bss 70296 70296 0 0.0
noinit 40416 40416 0 0.0
text 561386 561386 0 0.0

@github-actions
Copy link

github-actions bot commented Mar 31, 2022

PR #16877: Size comparison from a86ad03 to b19772d

Increases above 0.2%:

platform target config section a86ad03 b19772d change % change
efr32 lighting-app BRD4161A (read/write) 129128 129776 648 0.5
.bss 127136 127816 680 0.5
BRD4161A+rpc (read/write) 145084 145736 652 0.4
.bss 142912 143592 680 0.5
window-app BRD4161A (read/write) 127096 127744 648 0.5
.bss 125224 125904 680 0.5
linux tv-app debug .bss 164624 165072 448 0.3
.rodata 208811 209419 608 0.3
Increases (9 builds for cc13x2_26x2, efr32, linux)
platform target config section a86ad03 b19772d change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read/write) 184036 184316 280 0.2
pump-app LP_CC2652R7 (read/write) 165744 166016 272 0.2
pump-controller-app LP_CC2652R7 (read/write) 183232 183488 256 0.1
efr32 lighting-app BRD4161A (read/write) 129128 129776 648 0.5
.bss 127136 127816 680 0.5
BRD4161A+rpc (read/write) 145084 145736 652 0.4
.bss 142912 143592 680 0.5
window-app BRD4161A (read/write) 127096 127744 648 0.5
.bss 125224 125904 680 0.5
linux chip-tool debug (read only) 10333325 10335837 2512 0.0
.rodata 529997 530637 640 0.1
.text 9015269 9017141 1872 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 9941780 9943796 2016 0.0
.rodata 503788 504332 544 0.1
.text 8379380 8380852 1472 0.0
tv-app debug (read only) 2714617 2716201 1584 0.1
(read/write) 248184 248632 448 0.2
.bss 164624 165072 448 0.3
.rodata 208811 209419 608 0.3
.text 2330674 2331650 976 0.0
Decreases (27 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, nrfconnect, p6, telink)
platform target config section a86ad03 b19772d change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 667707 667427 -280 -0.0
.rodata 79627 79595 -32 -0.0
.text 587600 587352 -248 -0.0
lock-mtd LP_CC2652R7 (read only) 616835 616555 -280 -0.0
.rodata 79507 79475 -32 -0.0
.text 536840 536592 -248 -0.0
pump-app LP_CC2652R7 (read only) 687159 686887 -272 -0.0
.rodata 81703 81671 -32 -0.0
.text 604972 604732 -240 -0.0
pump-controller-app LP_CC2652R7 (read only) 669415 669159 -256 -0.0
.rodata 78039 78007 -32 -0.0
.text 590892 590668 -224 -0.0
cyw30739 light cyw930739m2evb_01 (read/write) 609754 609634 -120 -0.0
.app_xip_area 516496 516376 -120 -0.0
lock cyw930739m2evb_01 (read/write) 567266 567146 -120 -0.0
.app_xip_area 475544 475424 -120 -0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 579182 578926 -256 -0.0
.app_xip_area 477804 477548 -256 -0.1
efr32 lighting-app BRD4161A (read only) 930484 914856 -15628 -1.7
.data 1992 1960 -32 -1.6
.text 930476 914848 -15628 -1.7
BRD4161A+rpc (read only) 959492 942720 -16772 -1.7
.data 2172 2140 -32 -1.5
.text 959484 942712 -16772 -1.7
window-app BRD4161A (read only) 859960 844472 -15488 -1.8
.data 1868 1836 -32 -1.7
.text 859952 844464 -15488 -1.8
esp32 all-clusters-app c3devkit (read only) 970616 970490 -126 -0.0
.flash.text 970616 970490 -126 -0.0
m5stack (read only) 1026335 1026223 -112 -0.0
.flash.text 1020951 1020839 -112 -0.0
k32w light k32w061+release (read/write) 707492 707240 -252 -0.0
.text 621828 621576 -252 -0.0
lock k32w061+release (read/write) 706600 706488 -112 -0.0
.text 620928 620816 -112 -0.0
linux all-clusters-app debug (read only) 2553105 2552497 -608 -0.0
.rodata 219077 218981 -96 -0.0
.text 2169602 2169090 -512 -0.0
bridge-app debug+rpc (read only) 1783005 1782397 -608 -0.0
.rodata 147057 146961 -96 -0.1
.text 1520085 1519573 -512 -0.0
door-lock-app debug (read only) 2035729 2035121 -608 -0.0
.rodata 183649 183553 -96 -0.1
.text 1701762 1701250 -512 -0.0
lighting-app debug+rpc (read only) 2213489 2212881 -608 -0.0
.rodata 177665 177569 -96 -0.1
.text 1876146 1875634 -512 -0.0
ota-provider-app debug (read only) 1975553 1974937 -616 -0.0
.rodata 169291 169187 -104 -0.1
.text 1653890 1653378 -512 -0.0
ota-requestor-app debug (read only) 2003425 2003129 -296 -0.0
(read/write) 116208 116176 -32 -0.0
.data.rel.ro 60696 60680 -16 -0.0
.rodata 165652 165612 -40 -0.0
.text 1684418 1684210 -208 -0.0
shell debug (read only) 2468457 2467801 -656 -0.0
.rodata 212274 212146 -128 -0.1
.text 2098562 2098034 -528 -0.0
thermostat-no-ble arm64 (read only) 2293076 2292676 -400 -0.0
.got 4544 4536 -8 -0.2
.text 1927056 1926688 -368 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1148079 1147827 -252 -0.0
rodata 143232 143204 -28 -0.0
text 786952 786732 -220 -0.0
p6 all-clusters-app default (read/write) 2502984 2502872 -112 -0.0
.text 1461248 1461136 -112 -0.0
light-app default (read/write) 2404472 2404360 -112 -0.0
.text 1362736 1362624 -112 -0.0
lock-app default (read/write) 2368080 2367968 -112 -0.0
.text 1326344 1326232 -112 -0.0
telink lighting-app tlsr9518adk80d (read/write) 791428 791300 -128 -0.0
text 561386 561260 -126 -0.0
Full report (31 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section a86ad03 b19772d change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 667707 667427 -280 -0.0
(read/write) 184036 184316 280 0.2
.bss 81784 81784 0 0.0
.data 3132 3132 0 0.0
.rodata 79627 79595 -32 -0.0
.text 587600 587352 -248 -0.0
lock-mtd LP_CC2652R7 (read only) 616835 616555 -280 -0.0
(read/write) 154500 154500 0 0.0
.bss 77512 77512 0 0.0
.data 3132 3132 0 0.0
.rodata 79507 79475 -32 -0.0
.text 536840 536592 -248 -0.0
pump-app LP_CC2652R7 (read only) 687159 686887 -272 -0.0
(read/write) 165744 166016 272 0.2
.bss 82176 82176 0 0.0
.data 3164 3164 0 0.0
.rodata 81703 81671 -32 -0.0
.text 604972 604732 -240 -0.0
pump-controller-app LP_CC2652R7 (read only) 669415 669159 -256 -0.0
(read/write) 183232 183488 256 0.1
.bss 81920 81920 0 0.0
.data 3128 3128 0 0.0
.rodata 78039 78007 -32 -0.0
.text 590892 590668 -224 -0.0
cyw30739 light cyw930739m2evb_01 (read/write) 609754 609634 -120 -0.0
.app_xip_area 516496 516376 -120 -0.0
.bss 76004 76004 0 0.0
.data 600 600 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 567266 567146 -120 -0.0
.app_xip_area 475544 475424 -120 -0.0
.bss 74508 74508 0 0.0
.data 564 564 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 579182 578926 -256 -0.0
.app_xip_area 477804 477548 -256 -0.1
.bss 83836 83836 0 0.0
.data 504 504 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 930484 914856 -15628 -1.7
(read/write) 129128 129776 648 0.5
.bss 127136 127816 680 0.5
.data 1992 1960 -32 -1.6
.text 930476 914848 -15628 -1.7
BRD4161A+rpc (read only) 959492 942720 -16772 -1.7
(read/write) 145084 145736 652 0.4
.bss 142912 143592 680 0.5
.data 2172 2140 -32 -1.5
.text 959484 942712 -16772 -1.7
window-app BRD4161A (read only) 859960 844472 -15488 -1.8
(read/write) 127096 127744 648 0.5
.bss 125224 125904 680 0.5
.data 1868 1836 -32 -1.7
.text 859952 844464 -15488 -1.8
esp32 all-clusters-app c3devkit (read only) 970616 970490 -126 -0.0
(read/write) 1395138 1395138 0 0.0
.dram0.bss 62456 62456 0 0.0
.dram0.data 14220 14220 0 0.0
.flash.rodata 199544 199544 0 0.0
.flash.text 970616 970490 -126 -0.0
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1026335 1026223 -112 -0.0
(read/write) 462900 462900 0 0.0
.dram0.bss 67984 67984 0 0.0
.dram0.data 34024 34024 0 0.0
.flash.rodata 229056 229056 0 0.0
.flash.text 1020951 1020839 -112 -0.0
.iram0.text 123107 123107 0 0.0
k32w light k32w061+release (read/write) 707492 707240 -252 -0.0
.bss 77992 77992 0 0.0
.data 1872 1872 0 0.0
.text 621828 621576 -252 -0.0
lock k32w061+release (read/write) 706600 706488 -112 -0.0
.bss 77960 77960 0 0.0
.data 1912 1912 0 0.0
.text 620928 620816 -112 -0.0
linux all-clusters-app debug (read only) 2553105 2552497 -608 -0.0
(read/write) 143872 143872 0 0.0
.bss 57472 57472 0 0.0
.data 1296 1296 0 0.0
.data.rel.ro 79352 79352 0 0.0
.dynamic 592 592 0 0.0
.got 4184 4184 0 0.0
.init 27 27 0 0.0
.init_array 952 952 0 0.0
.rodata 219077 218981 -96 -0.0
.text 2169602 2169090 -512 -0.0
bridge-app debug+rpc (read only) 1783005 1782397 -608 -0.0
(read/write) 89880 89880 0 0.0
.bss 44552 44552 0 0.0
.data 2000 2000 0 0.0
.data.rel.ro 38232 38232 0 0.0
.dynamic 592 592 0 0.0
.got 3928 3928 0 0.0
.init 27 27 0 0.0
.init_array 552 552 0 0.0
.rodata 147057 146961 -96 -0.1
.text 1520085 1519573 -512 -0.0
chip-tool debug (read only) 10333325 10335837 2512 0.0
(read/write) 356640 356640 0 0.0
.bss 22080 22080 0 0.0
.data 1072 1072 0 0.0
.data.rel.ro 327264 327264 0 0.0
.dynamic 624 624 0 0.0
.got 4896 4896 0 0.0
.init 27 27 0 0.0
.init_array 664 664 0 0.0
.rodata 529997 530637 640 0.1
.text 9015269 9017141 1872 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 9941780 9943796 2016 0.0
(read/write) 475633 475633 0 0.0
.bss 40401 40401 0 0.0
.data 1136 1136 0 0.0
.data.rel.ro 374024 374024 0 0.0
.dynamic 560 560 0 0.0
.got 56264 56264 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 503788 504332 544 0.1
.text 8379380 8380852 1472 0.0
door-lock-app debug (read only) 2035729 2035121 -608 -0.0
(read/write) 117288 117288 0 0.0
.bss 47680 47680 0 0.0
.data 1008 1008 0 0.0
.data.rel.ro 63176 63176 0 0.0
.dynamic 592 592 0 0.0
.got 4128 4128 0 0.0
.init 27 27 0 0.0
.init_array 672 672 0 0.0
.rodata 183649 183553 -96 -0.1
.text 1701762 1701250 -512 -0.0
lighting-app debug+rpc (read only) 2213489 2212881 -608 -0.0
(read/write) 124280 124280 0 0.0
.bss 48960 48960 0 0.0
.data 1488 1488 0 0.0
.data.rel.ro 68248 68248 0 0.0
.dynamic 608 608 0 0.0
.got 4176 4176 0 0.0
.init 27 27 0 0.0
.init_array 752 752 0 0.0
.rodata 177665 177569 -96 -0.1
.text 1876146 1875634 -512 -0.0
ota-provider-app debug (read only) 1975553 1974937 -616 -0.0
(read/write) 113016 113016 0 0.0
.bss 47584 47584 0 0.0
.data 1288 1288 0 0.0
.data.rel.ro 58488 58488 0 0.0
.dynamic 608 608 0 0.0
.got 4384 4384 0 0.0
.init 27 27 0 0.0
.init_array 624 624 0 0.0
.rodata 169291 169187 -104 -0.1
.text 1653890 1653378 -512 -0.0
ota-requestor-app debug (read only) 2003425 2003129 -296 -0.0
(read/write) 116208 116176 -32 -0.0
.bss 48544 48544 0 0.0
.data 1480 1480 0 0.0
.data.rel.ro 60696 60680 -16 -0.0
.dynamic 592 592 0 0.0
.got 4192 4192 0 0.0
.init 27 27 0 0.0
.init_array 648 648 0 0.0
.rodata 165652 165612 -40 -0.0
.text 1684418 1684210 -208 -0.0
shell debug (read only) 2468457 2467801 -656 -0.0
(read/write) 147824 147824 0 0.0
.bss 67304 67304 0 0.0
.data 784 784 0 0.0
.data.rel.ro 74016 74016 0 0.0
.dynamic 592 592 0 0.0
.got 4160 4160 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 212274 212146 -128 -0.1
.text 2098562 2098034 -528 -0.0
thermostat-no-ble arm64 (read only) 2293076 2292676 -400 -0.0
(read/write) 148657 148657 0 0.0
.bss 62849 62849 0 0.0
.data 1040 1040 0 0.0
.data.rel.ro 77216 77216 0 0.0
.dynamic 560 560 0 0.0
.got 4544 4536 -8 -0.2
.init 24 24 0 0.0
.init_array 360 360 0 0.0
.rodata 142052 142052 0 0.0
.text 1927056 1926688 -368 -0.0
tv-app debug (read only) 2714617 2716201 1584 0.1
(read/write) 248184 248632 448 0.2
.bss 164624 165072 448 0.3
.data 3136 3136 0 0.0
.data.rel.ro 74368 74368 0 0.0
.dynamic 592 592 0 0.0
.got 4552 4552 0 0.0
.init 27 27 0 0.0
.init_array 896 896 0 0.0
.rodata 208811 209419 608 0.3
.text 2330674 2331650 976 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2358540 2358540 0 0.0
.bss 185052 185052 0 0.0
.data 5760 5760 0 0.0
.text 1321140 1321140 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1148079 1147827 -252 -0.0
bss 143092 143092 0 0.0
rodata 143232 143204 -28 -0.0
text 786952 786732 -220 -0.0
p6 all-clusters-app default (read/write) 2502984 2502872 -112 -0.0
.bss 118488 118488 0 0.0
.data 2640 2640 0 0.0
.text 1461248 1461136 -112 -0.0
light-app default (read/write) 2404472 2404360 -112 -0.0
.bss 111944 111944 0 0.0
.data 2496 2496 0 0.0
.text 1362736 1362624 -112 -0.0
lock-app default (read/write) 2368080 2367968 -112 -0.0
.bss 111688 111688 0 0.0
.data 2456 2456 0 0.0
.text 1326344 1326232 -112 -0.0
telink lighting-app tlsr9518adk80d (read/write) 791428 791300 -128 -0.0
bss 70296 70296 0 0.0
noinit 40416 40416 0 0.0
text 561386 561260 -126 -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.

Are the codesize measurements just not catching the sections that get smaller? They seem to mostly show .bss and .text increases....

@jmartinez-silabs
Copy link
Member Author

Are the codesize measurements just not catching the sections that get smaller? They seem to mostly show .bss and .text increases....

@bzbarsky-apple yes it's a separate section/symbol in the linker before named nvm3_dummy regrouping the 2 nvm3 instances. Now it is just one instance called .nvm saves around 32k of flash + kvs what just allocating another 4 pages that weren't factored in .txt either

@jmartinez-silabs jmartinez-silabs merged commit 3da3aa8 into project-chip:master Apr 1, 2022
chencheung pushed a commit to chencheung/connectedhomeip that referenced this pull request Apr 6, 2022
…use nvm3 (project-chip#16877)

* Merge chip_nvm3 section into silabs default nvm3 section. Rework the efr32Config nvm3 driver, tweaks to linkerfile for the nvm3 section

* Refactore efr32 kvs implementation to use silabs nvm3 driver

* Fix some return codes for KVS

* Update ldscript for mg24. Add verifications in kvs implementation. Regroup nvm3 and kvs init. Set ble default connection params

* Delay keymap commit to nvm, Build argument for kvs entry count, Clean up

* Add build option in efr32_sdk.gni and  detail in build script

* add info in read me

* Fix typo, add NVM to wordlist

* undo unwanted change to zap and pigweed submodule.

* remove mv command
chencheung pushed a commit to chencheung/connectedhomeip that referenced this pull request Apr 6, 2022
…use nvm3 (project-chip#16877)

* Merge chip_nvm3 section into silabs default nvm3 section. Rework the efr32Config nvm3 driver, tweaks to linkerfile for the nvm3 section

* Refactore efr32 kvs implementation to use silabs nvm3 driver

* Fix some return codes for KVS

* Update ldscript for mg24. Add verifications in kvs implementation. Regroup nvm3 and kvs init. Set ble default connection params

* Delay keymap commit to nvm, Build argument for kvs entry count, Clean up

* Add build option in efr32_sdk.gni and  detail in build script

* add info in read me

* Fix typo, add NVM to wordlist

* undo unwanted change to zap and pigweed submodule.

* remove mv command
andrei-menzopol pushed a commit to andrei-menzopol/connectedhomeip that referenced this pull request Apr 14, 2022
…use nvm3 (project-chip#16877)

* Merge chip_nvm3 section into silabs default nvm3 section. Rework the efr32Config nvm3 driver, tweaks to linkerfile for the nvm3 section

* Refactore efr32 kvs implementation to use silabs nvm3 driver

* Fix some return codes for KVS

* Update ldscript for mg24. Add verifications in kvs implementation. Regroup nvm3 and kvs init. Set ble default connection params

* Delay keymap commit to nvm, Build argument for kvs entry count, Clean up

* Add build option in efr32_sdk.gni and  detail in build script

* add info in read me

* Fix typo, add NVM to wordlist

* undo unwanted change to zap and pigweed submodule.

* remove mv command
@jmartinez-silabs jmartinez-silabs deleted the nvm3 branch May 16, 2022 18:20
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.

3 participants