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

[OTA] Add support for applying image for Linux/Darwin platform #16482

Merged

Conversation

carol-apple
Copy link
Contributor

@carol-apple carol-apple commented Mar 21, 2022

Problem

OTA Requestor cannot send NotifyUpdateApplied to the provider for Linux/Darwin platform. The reason is because it relies on the version stored in CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION to be used when notifying and currently Linux/Darwin does not actually apply the downloaded image.

Fixes: #16498

Change overview

  • Define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION and CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING to be used by Linux/Darwin platforms
  • Actually apply the image (using execv)
  • Implement IsFirstImageRun and ConfirmCurrentImage for Linux/Darwin so that NotifyUpdateApplied will be called on the new image
  • Persist new values like current update state and target version to help determine that we are booting into a new image
  • Make sure OTARequestor init code does not assume a boot up is always in idle state

Testing

  • Basic transfer succeeds
  • A new Linux image can be booted into after download
  • NotifyUpdateApplied is sent to provider

@github-actions
Copy link

github-actions bot commented Mar 21, 2022

PR #16482: Size comparison from 193b4d0 to f947007

Increases (4 builds for efr32, k32w, nrfconnect)
platform target config section 193b4d0 f947007 change % change
efr32 lighting-app BRD4161A (read only) 921976 922548 572 0.1
.text 921968 922540 572 0.1
BRD4161A+rpc (read only) 950788 951360 572 0.1
.text 950780 951352 572 0.1
k32w light k32w061+release (read/write) 701092 701572 480 0.1
.text 615768 616248 480 0.1
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1155907 1156371 464 0.0
rodata 145956 146020 64 0.0
text 788072 788468 396 0.1
Decreases (1 build for efr32)
platform target config section 193b4d0 f947007 change % change
efr32 lighting-app BRD4161A (read/write) 128760 128756 -4 -0.0
Full report (15 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 193b4d0 f947007 change % change
efr32 lighting-app BRD4161A (read only) 921976 922548 572 0.1
(read/write) 128760 128756 -4 -0.0
.bss 126768 126768 0 0.0
.data 1988 1988 0 0.0
.text 921968 922540 572 0.1
BRD4161A+rpc (read only) 950788 951360 572 0.1
(read/write) 144712 144712 0 0.0
.bss 142544 142544 0 0.0
.data 2168 2168 0 0.0
.text 950780 951352 572 0.1
window-app BRD4161A (read only) 852304 852304 0 0.0
(read/write) 126712 126712 0 0.0
.bss 124848 124848 0 0.0
.data 1864 1864 0 0.0
.text 852296 852296 0 0.0
esp32 all-clusters-app c3devkit (read only) 961988 961988 0 0.0
(read/write) 1393306 1393306 0 0.0
.dram0.bss 62048 62048 0 0.0
.dram0.data 14188 14188 0 0.0
.flash.rodata 198160 198160 0 0.0
.flash.text 961988 961988 0 0.0
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1018119 1018119 0 0.0
(read/write) 461148 461148 0 0.0
.dram0.bss 67576 67576 0 0.0
.dram0.data 34016 34016 0 0.0
.flash.rodata 227720 227720 0 0.0
.flash.text 1012735 1012735 0 0.0
.iram0.text 123107 123107 0 0.0
k32w light k32w061+release (read/write) 701092 701572 480 0.1
.bss 77656 77656 0 0.0
.data 1868 1868 0 0.0
.text 615768 616248 480 0.1
lock k32w061+release (read/write) 700948 700948 0 0.0
.bss 77624 77624 0 0.0
.data 1908 1908 0 0.0
.text 615616 615616 0 0.0
linux chip-tool-ipv6only arm64 (read only) 9769516 9769516 0 0.0
(read/write) 472689 472689 0 0.0
.bss 40609 40609 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 371824 371824 0 0.0
.dynamic 560 560 0 0.0
.got 55328 55328 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 493844 493844 0 0.0
.text 8224308 8224308 0 0.0
thermostat-no-ble arm64 (read only) 2224356 2224356 0 0.0
(read/write) 146385 146385 0 0.0
.bss 62289 62289 0 0.0
.data 1024 1024 0 0.0
.data.rel.ro 75728 75728 0 0.0
.dynamic 560 560 0 0.0
.got 4352 4352 0 0.0
.init 24 24 0 0.0
.init_array 360 360 0 0.0
.rodata 138452 138452 0 0.0
.text 1865840 1865840 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2353452 2353452 0 0.0
.bss 184652 184652 0 0.0
.data 5752 5752 0 0.0
.text 1316052 1316052 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1155907 1156371 464 0.0
bss 146716 146716 0 0.0
rodata 145956 146020 64 0.0
text 788072 788468 396 0.1
p6 all-clusters-app default (read/write) 2492960 2492960 0 0.0
.bss 118072 118072 0 0.0
.data 2632 2632 0 0.0
.text 1451224 1451224 0 0.0
light-app default (read/write) 2396360 2396360 0 0.0
.bss 111544 111544 0 0.0
.data 2488 2488 0 0.0
.text 1354624 1354624 0 0.0
lock-app default (read/write) 2359896 2359896 0 0.0
.bss 111288 111288 0 0.0
.data 2448 2448 0 0.0
.text 1318160 1318160 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 895806 895806 0 0.0
bss 87424 87424 0 0.0
noinit 37160 37160 0 0.0
text 633382 633382 0 0.0

@github-actions
Copy link

github-actions bot commented Mar 21, 2022

PR #16482: Size comparison from a72ab9b to 3782906

Increases above 0.2%:

platform target config section a72ab9b 3782906 change % change
linux ota-requestor-app debug .data 1416 1448 32 2.3
.data.rel.ro 60264 60392 128 0.2
.got 4168 4184 16 0.4
Increases (6 builds for cyw30739, efr32, k32w, linux, nrfconnect)
platform target config section a72ab9b 3782906 change % change
cyw30739 ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 571494 571998 504 0.1
.app_xip_area 470472 470976 504 0.1
efr32 lighting-app BRD4161A (read only) 922008 922564 556 0.1
.text 922000 922556 556 0.1
BRD4161A+rpc (read only) 950820 951376 556 0.1
.text 950812 951368 556 0.1
k32w light k32w061+release (read/write) 701092 701572 480 0.1
.text 615768 616248 480 0.1
linux ota-requestor-app debug (read only) 1969001 1972065 3064 0.2
(read/write) 115592 115752 160 0.1
.data 1416 1448 32 2.3
.data.rel.ro 60264 60392 128 0.2
.got 4168 4184 16 0.4
.text 1654034 1656562 2528 0.2
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1155923 1156387 464 0.0
rodata 145956 146020 64 0.0
text 788084 788484 400 0.1
Decreases (8 builds for efr32, linux)
platform target config section a72ab9b 3782906 change % change
efr32 lighting-app BRD4161A (read/write) 128760 128756 -4 -0.0
linux bridge-app debug+rpc (read only) 1752637 1752621 -16 -0.0
.text 1492741 1492725 -16 -0.0
door-lock-app debug (read only) 2004473 2004457 -16 -0.0
.text 1673634 1673618 -16 -0.0
ota-provider-app debug (read only) 1938833 1938817 -16 -0.0
.text 1620498 1620482 -16 -0.0
ota-requestor-app debug .bss 48480 48448 -32 -0.1
.rodata 162980 162948 -32 -0.0
shell debug (read only) 2426625 2426609 -16 -0.0
.text 2060498 2060482 -16 -0.0
thermostat-no-ble arm64 (read only) 2262500 2262484 -16 -0.0
.rodata 140036 140020 -16 -0.0
tv-app debug (read only) 2677657 2677641 -16 -0.0
.text 2295394 2295378 -16 -0.0
Full report (27 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section a72ab9b 3782906 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 603870 603870 0 0.0
.app_xip_area 510968 510968 0 0.0
.bss 75656 75656 0 0.0
.data 596 596 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 561658 561658 0 0.0
.app_xip_area 470284 470284 0 0.0
.bss 74160 74160 0 0.0
.data 560 560 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 571494 571998 504 0.1
.app_xip_area 470472 470976 504 0.1
.bss 83488 83488 0 0.0
.data 500 500 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 922008 922564 556 0.1
(read/write) 128760 128756 -4 -0.0
.bss 126768 126768 0 0.0
.data 1988 1988 0 0.0
.text 922000 922556 556 0.1
BRD4161A+rpc (read only) 950820 951376 556 0.1
(read/write) 144712 144712 0 0.0
.bss 142544 142544 0 0.0
.data 2168 2168 0 0.0
.text 950812 951368 556 0.1
window-app BRD4161A (read only) 852304 852304 0 0.0
(read/write) 126712 126712 0 0.0
.bss 124848 124848 0 0.0
.data 1864 1864 0 0.0
.text 852296 852296 0 0.0
esp32 all-clusters-app c3devkit (read only) 962010 962010 0 0.0
(read/write) 1393306 1393306 0 0.0
.dram0.bss 62048 62048 0 0.0
.dram0.data 14188 14188 0 0.0
.flash.rodata 198160 198160 0 0.0
.flash.text 962010 962010 0 0.0
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1018143 1018143 0 0.0
(read/write) 461148 461148 0 0.0
.dram0.bss 67576 67576 0 0.0
.dram0.data 34016 34016 0 0.0
.flash.rodata 227720 227720 0 0.0
.flash.text 1012759 1012759 0 0.0
.iram0.text 123107 123107 0 0.0
k32w light k32w061+release (read/write) 701092 701572 480 0.1
.bss 77656 77656 0 0.0
.data 1868 1868 0 0.0
.text 615768 616248 480 0.1
lock k32w061+release (read/write) 700964 700964 0 0.0
.bss 77624 77624 0 0.0
.data 1908 1908 0 0.0
.text 615632 615632 0 0.0
linux all-clusters-app debug (read only) 2477281 2477281 0 0.0
(read/write) 143152 143152 0 0.0
.bss 57312 57312 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 78840 78840 0 0.0
.dynamic 592 592 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 936 936 0 0.0
.rodata 212005 212005 0 0.0
.text 2101826 2101826 0 0.0
bridge-app debug+rpc (read only) 1752637 1752621 -16 -0.0
(read/write) 89424 89424 0 0.0
.bss 44456 44456 0 0.0
.data 1952 1952 0 0.0
.data.rel.ro 37944 37944 0 0.0
.dynamic 592 592 0 0.0
.got 3920 3920 0 0.0
.init 27 27 0 0.0
.init_array 544 544 0 0.0
.rodata 144684 144684 0 0.0
.text 1492741 1492725 -16 -0.0
chip-tool debug (read only) 10145893 10145893 0 0.0
(read/write) 354848 354848 0 0.0
.bss 22304 22304 0 0.0
.data 1072 1072 0 0.0
.data.rel.ro 325408 325408 0 0.0
.dynamic 608 608 0 0.0
.got 4784 4784 0 0.0
.init 27 27 0 0.0
.init_array 632 632 0 0.0
.rodata 517813 517813 0 0.0
.text 8845477 8845477 0 0.0
chip-tool-ipv6only arm64 (read only) 9769404 9769404 0 0.0
(read/write) 472689 472689 0 0.0
.bss 40609 40609 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 371824 371824 0 0.0
.dynamic 560 560 0 0.0
.got 55328 55328 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 493604 493604 0 0.0
.text 8224436 8224436 0 0.0
door-lock-app debug (read only) 2004473 2004457 -16 -0.0
(read/write) 116832 116832 0 0.0
.bss 47584 47584 0 0.0
.data 992 992 0 0.0
.data.rel.ro 62856 62856 0 0.0
.dynamic 592 592 0 0.0
.got 4120 4120 0 0.0
.init 27 27 0 0.0
.init_array 664 664 0 0.0
.rodata 181180 181180 0 0.0
.text 1673634 1673618 -16 -0.0
lighting-app debug+rpc (read only) 2178137 2178137 0 0.0
(read/write) 123792 123792 0 0.0
.bss 48864 48864 0 0.0
.data 1472 1472 0 0.0
.data.rel.ro 67928 67928 0 0.0
.dynamic 608 608 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 744 744 0 0.0
.rodata 175484 175484 0 0.0
.text 1843634 1843634 0 0.0
ota-provider-app debug (read only) 1938833 1938817 -16 -0.0
(read/write) 112624 112624 0 0.0
.bss 47488 47488 0 0.0
.data 1288 1288 0 0.0
.data.rel.ro 58200 58200 0 0.0
.dynamic 608 608 0 0.0
.got 4376 4376 0 0.0
.init 27 27 0 0.0
.init_array 616 616 0 0.0
.rodata 166571 166571 0 0.0
.text 1620498 1620482 -16 -0.0
ota-requestor-app debug (read only) 1969001 1972065 3064 0.2
(read/write) 115592 115752 160 0.1
.bss 48480 48448 -32 -0.1
.data 1416 1448 32 2.3
.data.rel.ro 60264 60392 128 0.2
.dynamic 592 592 0 0.0
.got 4168 4184 16 0.4
.init 27 27 0 0.0
.init_array 640 640 0 0.0
.rodata 162980 162948 -32 -0.0
.text 1654034 1656562 2528 0.2
shell debug (read only) 2426625 2426609 -16 -0.0
(read/write) 147208 147208 0 0.0
.bss 67240 67240 0 0.0
.data 784 784 0 0.0
.data.rel.ro 73472 73472 0 0.0
.dynamic 592 592 0 0.0
.got 4152 4152 0 0.0
.init 27 27 0 0.0
.init_array 920 920 0 0.0
.rodata 209426 209426 0 0.0
.text 2060498 2060482 -16 -0.0
thermostat-no-ble arm64 (read only) 2262500 2262484 -16 -0.0
(read/write) 148273 148273 0 0.0
.bss 62753 62753 0 0.0
.data 1024 1024 0 0.0
.data.rel.ro 77000 77000 0 0.0
.dynamic 560 560 0 0.0
.got 4480 4480 0 0.0
.init 24 24 0 0.0
.init_array 360 360 0 0.0
.rodata 140036 140020 -16 -0.0
.text 1899152 1899152 0 0.0
tv-app debug (read only) 2677657 2677641 -16 -0.0
(read/write) 247712 247712 0 0.0
.bss 164384 164384 0 0.0
.data 3104 3104 0 0.0
.data.rel.ro 74168 74168 0 0.0
.dynamic 592 592 0 0.0
.got 4552 4552 0 0.0
.init 27 27 0 0.0
.init_array 888 888 0 0.0
.rodata 207413 207413 0 0.0
.text 2295394 2295378 -16 -0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2353452 2353452 0 0.0
.bss 184652 184652 0 0.0
.data 5752 5752 0 0.0
.text 1316052 1316052 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1155923 1156387 464 0.0
bss 146716 146716 0 0.0
rodata 145956 146020 64 0.0
text 788084 788484 400 0.1
p6 all-clusters-app default (read/write) 2492976 2492976 0 0.0
.bss 118072 118072 0 0.0
.data 2632 2632 0 0.0
.text 1451240 1451240 0 0.0
light-app default (read/write) 2396376 2396376 0 0.0
.bss 111544 111544 0 0.0
.data 2488 2488 0 0.0
.text 1354640 1354640 0 0.0
lock-app default (read/write) 2359928 2359928 0 0.0
.bss 111288 111288 0 0.0
.data 2448 2448 0 0.0
.text 1318192 1318192 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 895830 895830 0 0.0
bss 87424 87424 0 0.0
noinit 37160 37160 0 0.0
text 633404 633404 0 0.0

@carol-apple carol-apple force-pushed the ota_requestor_apply_image_linux branch from 3782906 to 8b45505 Compare March 21, 2022 22:12
@boring-cyborg boring-cyborg bot added the efr32 label Mar 21, 2022
@carol-apple carol-apple force-pushed the ota_requestor_apply_image_linux branch from 8b45505 to ec37b4e Compare March 21, 2022 22:17
@github-actions
Copy link

github-actions bot commented Mar 21, 2022

PR #16482: Size comparison from a72ab9b to ec37b4e

Increases above 0.2%:

platform target config section a72ab9b ec37b4e change % change
linux ota-requestor-app debug .data 1416 1448 32 2.3
.data.rel.ro 60264 60392 128 0.2
.got 4168 4184 16 0.4
Increases (6 builds for cyw30739, efr32, k32w, linux, nrfconnect)
platform target config section a72ab9b ec37b4e change % change
cyw30739 ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 571494 571998 504 0.1
.app_xip_area 470472 470976 504 0.1
efr32 lighting-app BRD4161A (read only) 922008 922548 540 0.1
.text 922000 922540 540 0.1
BRD4161A+rpc (read only) 950820 951360 540 0.1
.text 950812 951352 540 0.1
k32w light k32w061+release (read/write) 701092 701564 472 0.1
.text 615768 616248 480 0.1
linux ota-requestor-app debug (read only) 1969001 1971953 2952 0.1
(read/write) 115592 115752 160 0.1
.data 1416 1448 32 2.3
.data.rel.ro 60264 60392 128 0.2
.got 4168 4184 16 0.4
.text 1654034 1656450 2416 0.1
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1155923 1156387 464 0.0
rodata 145956 146020 64 0.0
text 788084 788484 400 0.1
Decreases (10 builds for efr32, k32w, linux)
platform target config section a72ab9b ec37b4e change % change
efr32 lighting-app BRD4161A (read/write) 128760 128748 -12 -0.0
.bss 126768 126760 -8 -0.0
BRD4161A+rpc (read/write) 144712 144704 -8 -0.0
.bss 142544 142536 -8 -0.0
k32w light k32w061+release .bss 77656 77648 -8 -0.0
linux bridge-app debug+rpc (read only) 1752637 1752621 -16 -0.0
.text 1492741 1492725 -16 -0.0
door-lock-app debug (read only) 2004473 2004457 -16 -0.0
.text 1673634 1673618 -16 -0.0
ota-provider-app debug (read only) 1938833 1938817 -16 -0.0
.text 1620498 1620482 -16 -0.0
ota-requestor-app debug .bss 48480 48448 -32 -0.1
.rodata 162980 162948 -32 -0.0
shell debug (read only) 2426625 2426609 -16 -0.0
.text 2060498 2060482 -16 -0.0
thermostat-no-ble arm64 (read only) 2262500 2262484 -16 -0.0
.rodata 140036 140020 -16 -0.0
tv-app debug (read only) 2677657 2677641 -16 -0.0
.text 2295394 2295378 -16 -0.0
Full report (27 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section a72ab9b ec37b4e change % change
cyw30739 light cyw930739m2evb_01 (read/write) 603870 603870 0 0.0
.app_xip_area 510968 510968 0 0.0
.bss 75656 75656 0 0.0
.data 596 596 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 561658 561658 0 0.0
.app_xip_area 470284 470284 0 0.0
.bss 74160 74160 0 0.0
.data 560 560 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 571494 571998 504 0.1
.app_xip_area 470472 470976 504 0.1
.bss 83488 83488 0 0.0
.data 500 500 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 922008 922548 540 0.1
(read/write) 128760 128748 -12 -0.0
.bss 126768 126760 -8 -0.0
.data 1988 1988 0 0.0
.text 922000 922540 540 0.1
BRD4161A+rpc (read only) 950820 951360 540 0.1
(read/write) 144712 144704 -8 -0.0
.bss 142544 142536 -8 -0.0
.data 2168 2168 0 0.0
.text 950812 951352 540 0.1
window-app BRD4161A (read only) 852304 852304 0 0.0
(read/write) 126712 126712 0 0.0
.bss 124848 124848 0 0.0
.data 1864 1864 0 0.0
.text 852296 852296 0 0.0
esp32 all-clusters-app c3devkit (read only) 962010 962010 0 0.0
(read/write) 1393306 1393306 0 0.0
.dram0.bss 62048 62048 0 0.0
.dram0.data 14188 14188 0 0.0
.flash.rodata 198160 198160 0 0.0
.flash.text 962010 962010 0 0.0
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1018143 1018143 0 0.0
(read/write) 461148 461148 0 0.0
.dram0.bss 67576 67576 0 0.0
.dram0.data 34016 34016 0 0.0
.flash.rodata 227720 227720 0 0.0
.flash.text 1012759 1012759 0 0.0
.iram0.text 123107 123107 0 0.0
k32w light k32w061+release (read/write) 701092 701564 472 0.1
.bss 77656 77648 -8 -0.0
.data 1868 1868 0 0.0
.text 615768 616248 480 0.1
lock k32w061+release (read/write) 700964 700964 0 0.0
.bss 77624 77624 0 0.0
.data 1908 1908 0 0.0
.text 615632 615632 0 0.0
linux all-clusters-app debug (read only) 2477281 2477281 0 0.0
(read/write) 143152 143152 0 0.0
.bss 57312 57312 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 78840 78840 0 0.0
.dynamic 592 592 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 936 936 0 0.0
.rodata 212005 212005 0 0.0
.text 2101826 2101826 0 0.0
bridge-app debug+rpc (read only) 1752637 1752621 -16 -0.0
(read/write) 89424 89424 0 0.0
.bss 44456 44456 0 0.0
.data 1952 1952 0 0.0
.data.rel.ro 37944 37944 0 0.0
.dynamic 592 592 0 0.0
.got 3920 3920 0 0.0
.init 27 27 0 0.0
.init_array 544 544 0 0.0
.rodata 144684 144684 0 0.0
.text 1492741 1492725 -16 -0.0
chip-tool debug (read only) 10145893 10145893 0 0.0
(read/write) 354848 354848 0 0.0
.bss 22304 22304 0 0.0
.data 1072 1072 0 0.0
.data.rel.ro 325408 325408 0 0.0
.dynamic 608 608 0 0.0
.got 4784 4784 0 0.0
.init 27 27 0 0.0
.init_array 632 632 0 0.0
.rodata 517813 517813 0 0.0
.text 8845477 8845477 0 0.0
chip-tool-ipv6only arm64 (read only) 9769404 9769404 0 0.0
(read/write) 472689 472689 0 0.0
.bss 40609 40609 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 371824 371824 0 0.0
.dynamic 560 560 0 0.0
.got 55328 55328 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 493604 493604 0 0.0
.text 8224436 8224436 0 0.0
door-lock-app debug (read only) 2004473 2004457 -16 -0.0
(read/write) 116832 116832 0 0.0
.bss 47584 47584 0 0.0
.data 992 992 0 0.0
.data.rel.ro 62856 62856 0 0.0
.dynamic 592 592 0 0.0
.got 4120 4120 0 0.0
.init 27 27 0 0.0
.init_array 664 664 0 0.0
.rodata 181180 181180 0 0.0
.text 1673634 1673618 -16 -0.0
lighting-app debug+rpc (read only) 2178137 2178137 0 0.0
(read/write) 123792 123792 0 0.0
.bss 48864 48864 0 0.0
.data 1472 1472 0 0.0
.data.rel.ro 67928 67928 0 0.0
.dynamic 608 608 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 744 744 0 0.0
.rodata 175484 175484 0 0.0
.text 1843634 1843634 0 0.0
ota-provider-app debug (read only) 1938833 1938817 -16 -0.0
(read/write) 112624 112624 0 0.0
.bss 47488 47488 0 0.0
.data 1288 1288 0 0.0
.data.rel.ro 58200 58200 0 0.0
.dynamic 608 608 0 0.0
.got 4376 4376 0 0.0
.init 27 27 0 0.0
.init_array 616 616 0 0.0
.rodata 166571 166571 0 0.0
.text 1620498 1620482 -16 -0.0
ota-requestor-app debug (read only) 1969001 1971953 2952 0.1
(read/write) 115592 115752 160 0.1
.bss 48480 48448 -32 -0.1
.data 1416 1448 32 2.3
.data.rel.ro 60264 60392 128 0.2
.dynamic 592 592 0 0.0
.got 4168 4184 16 0.4
.init 27 27 0 0.0
.init_array 640 640 0 0.0
.rodata 162980 162948 -32 -0.0
.text 1654034 1656450 2416 0.1
shell debug (read only) 2426625 2426609 -16 -0.0
(read/write) 147208 147208 0 0.0
.bss 67240 67240 0 0.0
.data 784 784 0 0.0
.data.rel.ro 73472 73472 0 0.0
.dynamic 592 592 0 0.0
.got 4152 4152 0 0.0
.init 27 27 0 0.0
.init_array 920 920 0 0.0
.rodata 209426 209426 0 0.0
.text 2060498 2060482 -16 -0.0
thermostat-no-ble arm64 (read only) 2262500 2262484 -16 -0.0
(read/write) 148273 148273 0 0.0
.bss 62753 62753 0 0.0
.data 1024 1024 0 0.0
.data.rel.ro 77000 77000 0 0.0
.dynamic 560 560 0 0.0
.got 4480 4480 0 0.0
.init 24 24 0 0.0
.init_array 360 360 0 0.0
.rodata 140036 140020 -16 -0.0
.text 1899152 1899152 0 0.0
tv-app debug (read only) 2677657 2677641 -16 -0.0
(read/write) 247712 247712 0 0.0
.bss 164384 164384 0 0.0
.data 3104 3104 0 0.0
.data.rel.ro 74168 74168 0 0.0
.dynamic 592 592 0 0.0
.got 4552 4552 0 0.0
.init 27 27 0 0.0
.init_array 888 888 0 0.0
.rodata 207413 207413 0 0.0
.text 2295394 2295378 -16 -0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2353452 2353452 0 0.0
.bss 184652 184652 0 0.0
.data 5752 5752 0 0.0
.text 1316052 1316052 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1155923 1156387 464 0.0
bss 146716 146716 0 0.0
rodata 145956 146020 64 0.0
text 788084 788484 400 0.1
p6 all-clusters-app default (read/write) 2492976 2492976 0 0.0
.bss 118072 118072 0 0.0
.data 2632 2632 0 0.0
.text 1451240 1451240 0 0.0
light-app default (read/write) 2396376 2396376 0 0.0
.bss 111544 111544 0 0.0
.data 2488 2488 0 0.0
.text 1354640 1354640 0 0.0
lock-app default (read/write) 2359928 2359928 0 0.0
.bss 111288 111288 0 0.0
.data 2448 2448 0 0.0
.text 1318192 1318192 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 895830 895830 0 0.0
bss 87424 87424 0 0.0
noinit 37160 37160 0 0.0
text 633404 633404 0 0.0

@carol-apple carol-apple force-pushed the ota_requestor_apply_image_linux branch from ec37b4e to 6de017f Compare March 22, 2022 22:08
- Add unit tests for new storage APIs added
- Make sure driver restores the core states if there is a problem detected at initialization
@carol-apple carol-apple force-pushed the ota_requestor_apply_image_linux branch from 6de017f to e9b6ee3 Compare March 22, 2022 22:15
@github-actions
Copy link

github-actions bot commented Mar 22, 2022

PR #16482: Size comparison from 32f23fa to e9b6ee3

Increases above 0.2%:

platform target config section 32f23fa e9b6ee3 change % change
linux ota-requestor-app debug .data 1416 1448 32 2.3
.data.rel.ro 60264 60424 160 0.3
.got 4168 4184 16 0.4
Increases (7 builds for cyw30739, efr32, esp32, k32w, linux, nrfconnect)
platform target config section 32f23fa e9b6ee3 change % change
cyw30739 ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 571790 572342 552 0.1
.app_xip_area 470768 471320 552 0.1
efr32 lighting-app BRD4161A (read only) 922424 923004 580 0.1
.text 922416 922996 580 0.1
BRD4161A+rpc (read only) 951236 951816 580 0.1
.text 951228 951808 580 0.1
esp32 all-clusters-app m5stack (read only) 1020579 1020583 4 0.0
.flash.text 1015195 1015199 4 0.0
k32w light k32w061+release (read/write) 701380 701908 528 0.1
.text 616056 616592 536 0.1
linux ota-requestor-app debug (read only) 1969921 1973273 3352 0.2
(read/write) 115592 115784 192 0.2
.data 1416 1448 32 2.3
.data.rel.ro 60264 60424 160 0.3
.got 4168 4184 16 0.4
.text 1654802 1657538 2736 0.2
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1156275 1156775 500 0.0
rodata 145956 146024 68 0.0
text 788432 788872 440 0.1
Decreases (11 builds for efr32, k32w, linux)
platform target config section 32f23fa e9b6ee3 change % change
efr32 lighting-app BRD4161A (read/write) 128760 128748 -12 -0.0
.bss 126768 126760 -8 -0.0
BRD4161A+rpc (read/write) 144712 144704 -8 -0.0
.bss 142544 142536 -8 -0.0
k32w light k32w061+release .bss 77656 77648 -8 -0.0
linux bridge-app debug+rpc (read only) 1753229 1753213 -16 -0.0
.text 1493429 1493413 -16 -0.0
door-lock-app debug (read only) 2005033 2005017 -16 -0.0
.text 1674322 1674306 -16 -0.0
lighting-app debug+rpc (read only) 2178681 2178665 -16 -0.0
.text 1844338 1844322 -16 -0.0
ota-provider-app debug (read only) 1939425 1939409 -16 -0.0
.text 1621186 1621170 -16 -0.0
ota-requestor-app debug .bss 48480 48448 -32 -0.1
shell debug (read only) 2426993 2426977 -16 -0.0
.text 2060994 2060978 -16 -0.0
thermostat-no-ble arm64 (read only) 2262724 2262708 -16 -0.0
.rodata 139844 139828 -16 -0.0
tv-app debug (read only) 2678281 2678265 -16 -0.0
.text 2296146 2296130 -16 -0.0
Full report (27 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 32f23fa e9b6ee3 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 604166 604166 0 0.0
.app_xip_area 511264 511264 0 0.0
.bss 75656 75656 0 0.0
.data 596 596 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 561946 561946 0 0.0
.app_xip_area 470572 470572 0 0.0
.bss 74160 74160 0 0.0
.data 560 560 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 571790 572342 552 0.1
.app_xip_area 470768 471320 552 0.1
.bss 83488 83488 0 0.0
.data 500 500 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 922424 923004 580 0.1
(read/write) 128760 128748 -12 -0.0
.bss 126768 126760 -8 -0.0
.data 1988 1988 0 0.0
.text 922416 922996 580 0.1
BRD4161A+rpc (read only) 951236 951816 580 0.1
(read/write) 144712 144704 -8 -0.0
.bss 142544 142536 -8 -0.0
.data 2168 2168 0 0.0
.text 951228 951808 580 0.1
window-app BRD4161A (read only) 852800 852800 0 0.0
(read/write) 126720 126720 0 0.0
.bss 124856 124856 0 0.0
.data 1864 1864 0 0.0
.text 852792 852792 0 0.0
esp32 all-clusters-app c3devkit (read only) 964026 964026 0 0.0
(read/write) 1393690 1393690 0 0.0
.dram0.bss 62072 62072 0 0.0
.dram0.data 14188 14188 0 0.0
.flash.rodata 198512 198512 0 0.0
.flash.text 964026 964026 0 0.0
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1020579 1020583 4 0.0
(read/write) 461460 461460 0 0.0
.dram0.bss 67592 67592 0 0.0
.dram0.data 34016 34016 0 0.0
.flash.rodata 228016 228016 0 0.0
.flash.text 1015195 1015199 4 0.0
.iram0.text 123107 123107 0 0.0
k32w light k32w061+release (read/write) 701380 701908 528 0.1
.bss 77656 77648 -8 -0.0
.data 1868 1868 0 0.0
.text 616056 616592 536 0.1
lock k32w061+release (read/write) 701252 701252 0 0.0
.bss 77624 77624 0 0.0
.data 1908 1908 0 0.0
.text 615920 615920 0 0.0
linux all-clusters-app debug (read only) 2477649 2477649 0 0.0
(read/write) 143152 143152 0 0.0
.bss 57312 57312 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 78840 78840 0 0.0
.dynamic 592 592 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 936 936 0 0.0
.rodata 211877 211877 0 0.0
.text 2102322 2102322 0 0.0
bridge-app debug+rpc (read only) 1753229 1753213 -16 -0.0
(read/write) 89424 89424 0 0.0
.bss 44456 44456 0 0.0
.data 1952 1952 0 0.0
.data.rel.ro 37944 37944 0 0.0
.dynamic 592 592 0 0.0
.got 3920 3920 0 0.0
.init 27 27 0 0.0
.init_array 544 544 0 0.0
.rodata 144588 144588 0 0.0
.text 1493429 1493413 -16 -0.0
chip-tool debug (read only) 10154077 10154077 0 0.0
(read/write) 354944 354944 0 0.0
.bss 22336 22336 0 0.0
.data 1072 1072 0 0.0
.data.rel.ro 325472 325472 0 0.0
.dynamic 608 608 0 0.0
.got 4784 4784 0 0.0
.init 27 27 0 0.0
.init_array 632 632 0 0.0
.rodata 518197 518197 0 0.0
.text 8853157 8853157 0 0.0
chip-tool-ipv6only arm64 (read only) 9776284 9776284 0 0.0
(read/write) 472817 472817 0 0.0
.bss 40625 40625 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 371880 371880 0 0.0
.dynamic 560 560 0 0.0
.got 55384 55384 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 493876 493876 0 0.0
.text 8230756 8230756 0 0.0
door-lock-app debug (read only) 2005033 2005017 -16 -0.0
(read/write) 116832 116832 0 0.0
.bss 47584 47584 0 0.0
.data 992 992 0 0.0
.data.rel.ro 62856 62856 0 0.0
.dynamic 592 592 0 0.0
.got 4120 4120 0 0.0
.init 27 27 0 0.0
.init_array 664 664 0 0.0
.rodata 181052 181052 0 0.0
.text 1674322 1674306 -16 -0.0
lighting-app debug+rpc (read only) 2178681 2178665 -16 -0.0
(read/write) 123792 123792 0 0.0
.bss 48864 48864 0 0.0
.data 1472 1472 0 0.0
.data.rel.ro 67928 67928 0 0.0
.dynamic 608 608 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 744 744 0 0.0
.rodata 175324 175324 0 0.0
.text 1844338 1844322 -16 -0.0
ota-provider-app debug (read only) 1939425 1939409 -16 -0.0
(read/write) 112624 112624 0 0.0
.bss 47488 47488 0 0.0
.data 1288 1288 0 0.0
.data.rel.ro 58200 58200 0 0.0
.dynamic 608 608 0 0.0
.got 4376 4376 0 0.0
.init 27 27 0 0.0
.init_array 616 616 0 0.0
.rodata 166475 166475 0 0.0
.text 1621186 1621170 -16 -0.0
ota-requestor-app debug (read only) 1969921 1973273 3352 0.2
(read/write) 115592 115784 192 0.2
.bss 48480 48448 -32 -0.1
.data 1416 1448 32 2.3
.data.rel.ro 60264 60424 160 0.3
.dynamic 592 592 0 0.0
.got 4168 4184 16 0.4
.init 27 27 0 0.0
.init_array 640 640 0 0.0
.rodata 163108 163108 0 0.0
.text 1654802 1657538 2736 0.2
shell debug (read only) 2426993 2426977 -16 -0.0
(read/write) 147208 147208 0 0.0
.bss 67240 67240 0 0.0
.data 784 784 0 0.0
.data.rel.ro 73472 73472 0 0.0
.dynamic 592 592 0 0.0
.got 4152 4152 0 0.0
.init 27 27 0 0.0
.init_array 920 920 0 0.0
.rodata 209298 209298 0 0.0
.text 2060994 2060978 -16 -0.0
thermostat-no-ble arm64 (read only) 2262724 2262708 -16 -0.0
(read/write) 148273 148273 0 0.0
.bss 62753 62753 0 0.0
.data 1024 1024 0 0.0
.data.rel.ro 77000 77000 0 0.0
.dynamic 560 560 0 0.0
.got 4480 4480 0 0.0
.init 24 24 0 0.0
.init_array 360 360 0 0.0
.rodata 139844 139828 -16 -0.0
.text 1899568 1899568 0 0.0
tv-app debug (read only) 2678281 2678265 -16 -0.0
(read/write) 247744 247744 0 0.0
.bss 164416 164416 0 0.0
.data 3104 3104 0 0.0
.data.rel.ro 74168 74168 0 0.0
.dynamic 592 592 0 0.0
.got 4552 4552 0 0.0
.init 27 27 0 0.0
.init_array 888 888 0 0.0
.rodata 207285 207285 0 0.0
.text 2296146 2296130 -16 -0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2353708 2353708 0 0.0
.bss 184652 184652 0 0.0
.data 5752 5752 0 0.0
.text 1316308 1316308 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1156275 1156775 500 0.0
bss 146716 146716 0 0.0
rodata 145956 146024 68 0.0
text 788432 788872 440 0.1
p6 all-clusters-app default (read/write) 2493408 2493408 0 0.0
.bss 118072 118072 0 0.0
.data 2632 2632 0 0.0
.text 1451672 1451672 0 0.0
light-app default (read/write) 2396808 2396808 0 0.0
.bss 111544 111544 0 0.0
.data 2488 2488 0 0.0
.text 1355072 1355072 0 0.0
lock-app default (read/write) 2360344 2360344 0 0.0
.bss 111288 111288 0 0.0
.data 2448 2448 0 0.0
.text 1318608 1318608 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 896142 896142 0 0.0
bss 87424 87424 0 0.0
noinit 37160 37160 0 0.0
text 633718 633718 0 0.0

@carol-apple carol-apple merged commit 4505e87 into project-chip:master Mar 23, 2022
andrei-menzopol pushed a commit to andrei-menzopol/connectedhomeip that referenced this pull request Apr 14, 2022
…ct-chip#16482)

- Make sure driver restores the core states if there is a problem detected at initialization
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.

OTA Requestor for Linux/Darwin uses the wrong version for NotifyUpdateApplied
4 participants