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

[nrfconnect] Added more checks to OTA DFU multi-image process #17397

Merged

Conversation

ArekBalysNordic
Copy link
Contributor

@ArekBalysNordic ArekBalysNordic commented Apr 14, 2022

Problem

There are some places in the OTA DFU multicore process on the nrfconnect platform to add more checks and break this process faster if an error occurs.

Change overview

Added more checks to the OTA DFU multicore process to react faster if an error occurs.

Testing

  • tested manually on nrf5340dk.
  • tested using chip-tool

@github-actions
Copy link

github-actions bot commented Apr 14, 2022

PR #17397: Size comparison from 013421d to 06f6b42

Increases (8 builds for nrfconnect)
platform target config section 013421d 06f6b42 change % change
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1162943 1162959 16 0.0
text 800656 800672 16 0.0
lighting-app nrf52840dk_nrf52840 (read/write) 1149159 1149175 16 0.0
text 808088 808108 20 0.0
nrf52840dk_nrf52840+rpc (read/write) 1113435 1113451 16 0.0
text 780560 780576 16 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1051602 1051618 16 0.0
text 718200 718220 20 0.0
lock-app nrf52840dk_nrf52840 (read/write) 1049495 1049511 16 0.0
text 725840 725860 20 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 952202 952218 16 0.0
text 636104 636120 16 0.0
pump-app nrf52840dk_nrf52840 (read/write) 1069315 1069331 16 0.0
text 742832 742848 16 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 1051067 1051083 16 0.0
text 728856 728876 20 0.0
Full report (40 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 013421d 06f6b42 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 683415 683415 0 0.0
(read/write) 169776 169776 0 0.0
.bss 76176 76176 0 0.0
.data 3380 3380 0 0.0
.rodata 103023 103023 0 0.0
.text 579912 579912 0 0.0
lock-ftd LP_CC2652R7 (read only) 639879 639879 0 0.0
(read/write) 151220 151220 0 0.0
.bss 74152 74152 0 0.0
.data 3212 3212 0 0.0
.rodata 79991 79991 0 0.0
.text 559396 559396 0 0.0
lock-mtd LP_CC2652R7 (read only) 588623 588623 0 0.0
(read/write) 146940 146940 0 0.0
.bss 69872 69872 0 0.0
.data 3212 3212 0 0.0
.rodata 79871 79871 0 0.0
.text 508260 508260 0 0.0
pump-app LP_CC2652R7 (read only) 648643 648643 0 0.0
(read/write) 152516 152516 0 0.0
.bss 74648 74648 0 0.0
.data 3244 3244 0 0.0
.rodata 75475 75475 0 0.0
.text 572680 572680 0 0.0
pump-controller-app LP_CC2652R7 (read only) 641951 641951 0 0.0
(read/write) 152184 152184 0 0.0
.bss 74352 74352 0 0.0
.data 3208 3208 0 0.0
.rodata 78815 78815 0 0.0
.text 562648 562648 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 618538 618538 0 0.0
.app_xip_area 525240 525240 0 0.0
.bss 75964 75964 0 0.0
.data 684 684 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 576138 576138 0 0.0
.app_xip_area 484376 484376 0 0.0
.bss 74460 74460 0 0.0
.data 648 648 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 565298 565298 0 0.0
.app_xip_area 463908 463908 0 0.0
.bss 83792 83792 0 0.0
.data 564 564 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 907492 907492 0 0.0
(read/write) 133152 133152 0 0.0
.bss 131112 131112 0 0.0
.data 2040 2040 0 0.0
.text 907484 907484 0 0.0
BRD4161A+rpc (read only) 941852 941852 0 0.0
(read/write) 149836 149836 0 0.0
.bss 147592 147592 0 0.0
.data 2244 2244 0 0.0
.text 941844 941844 0 0.0
window-app BRD4161A (read only) 844132 844132 0 0.0
(read/write) 131156 131156 0 0.0
.bss 129208 129208 0 0.0
.data 1948 1948 0 0.0
.text 844124 844124 0 0.0
esp32 all-clusters-app c3devkit (read only) 979708 979708 0 0.0
(read/write) 1397466 1397466 0 0.0
.dram0.bss 62632 62632 0 0.0
.dram0.data 14420 14420 0 0.0
.flash.rodata 201488 201488 0 0.0
.flash.text 979708 979708 0 0.0
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1035111 1035111 0 0.0
(read/write) 465220 465220 0 0.0
.dram0.bss 68152 68152 0 0.0
.dram0.data 34152 34152 0 0.0
.flash.rodata 231080 231080 0 0.0
.flash.text 1029727 1029727 0 0.0
.iram0.text 123107 123107 0 0.0
k32w light k32w061+release (read/write) 684008 684008 0 0.0
.bss 77952 77952 0 0.0
.data 1992 1992 0 0.0
.text 598264 598264 0 0.0
lock k32w061+release (read/write) 688284 688284 0 0.0
.bss 78528 78528 0 0.0
.data 1952 1952 0 0.0
.text 602004 602004 0 0.0
linux all-clusters-app debug (read only) 2697785 2697785 0 0.0
(read/write) 149248 149248 0 0.0
.bss 60224 60224 0 0.0
.data 1888 1888 0 0.0
.data.rel.ro 81080 81080 0 0.0
.dynamic 608 608 0 0.0
.got 4448 4448 0 0.0
.init 27 27 0 0.0
.init_array 984 984 0 0.0
.rodata 232389 232389 0 0.0
.text 2291490 2291490 0 0.0
bridge-app debug+rpc (read only) 1837453 1837453 0 0.0
(read/write) 91856 91856 0 0.0
.bss 44480 44480 0 0.0
.data 2912 2912 0 0.0
.data.rel.ro 39376 39376 0 0.0
.dynamic 592 592 0 0.0
.got 3920 3920 0 0.0
.init 27 27 0 0.0
.init_array 552 552 0 0.0
.rodata 148473 148473 0 0.0
.text 1570725 1570725 0 0.0
chip-tool debug (read only) 10719701 10719701 0 0.0
(read/write) 371832 371832 0 0.0
.bss 22752 22752 0 0.0
.data 1104 1104 0 0.0
.data.rel.ro 341728 341728 0 0.0
.dynamic 624 624 0 0.0
.got 4936 4936 0 0.0
.init 27 27 0 0.0
.init_array 656 656 0 0.0
.rodata 539221 539221 0 0.0
.text 9351173 9351173 0 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 10343572 10343572 0 0.0
(read/write) 492273 492273 0 0.0
.bss 41025 41025 0 0.0
.data 1168 1168 0 0.0
.data.rel.ro 388840 388840 0 0.0
.dynamic 560 560 0 0.0
.got 57440 57440 0 0.0
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 513204 513204 0 0.0
.text 8726948 8726948 0 0.0
door-lock-app debug (read only) 2108721 2108721 0 0.0
(read/write) 119568 119568 0 0.0
.bss 48064 48064 0 0.0
.data 1472 1472 0 0.0
.data.rel.ro 64504 64504 0 0.0
.dynamic 592 592 0 0.0
.got 4248 4248 0 0.0
.init 27 27 0 0.0
.init_array 680 680 0 0.0
.rodata 186697 186697 0 0.0
.text 1766498 1766498 0 0.0
lighting-app debug+rpc (read only) 2313393 2313393 0 0.0
(read/write) 127952 127952 0 0.0
.bss 50304 50304 0 0.0
.data 1952 1952 0 0.0
.data.rel.ro 69992 69992 0 0.0
.dynamic 608 608 0 0.0
.got 4304 4304 0 0.0
.init 27 27 0 0.0
.init_array 776 776 0 0.0
.rodata 182633 182633 0 0.0
.text 1965010 1965010 0 0.0
ota-provider-app debug (read only) 2045881 2045881 0 0.0
(read/write) 115296 115296 0 0.0
.bss 48224 48224 0 0.0
.data 1608 1608 0 0.0
.data.rel.ro 59720 59720 0 0.0
.dynamic 608 608 0 0.0
.got 4448 4448 0 0.0
.init 27 27 0 0.0
.init_array 632 632 0 0.0
.rodata 172547 172547 0 0.0
.text 1717298 1717298 0 0.0
ota-requestor-app debug (read only) 2076345 2076345 0 0.0
(read/write) 118360 118360 0 0.0
.bss 48960 48960 0 0.0
.data 1864 1864 0 0.0
.data.rel.ro 61960 61960 0 0.0
.dynamic 592 592 0 0.0
.got 4288 4288 0 0.0
.init 27 27 0 0.0
.init_array 656 656 0 0.0
.rodata 169420 169420 0 0.0
.text 1749042 1749042 0 0.0
shell debug (read only) 2526577 2526577 0 0.0
(read/write) 150064 150064 0 0.0
.bss 67624 67624 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 75464 75464 0 0.0
.dynamic 592 592 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 214834 214834 0 0.0
.text 2150578 2150578 0 0.0
thermostat-no-ble arm64 (read only) 2353332 2353332 0 0.0
(read/write) 151121 151121 0 0.0
.bss 63169 63169 0 0.0
.data 1424 1424 0 0.0
.data.rel.ro 78752 78752 0 0.0
.dynamic 560 560 0 0.0
.got 4768 4768 0 0.0
.init 24 24 0 0.0
.init_array 368 368 0 0.0
.rodata 144548 144548 0 0.0
.text 1980272 1980272 0 0.0
tv-app debug (read only) 2798185 2798185 0 0.0
(read/write) 250784 250784 0 0.0
.bss 164144 164144 0 0.0
.data 4448 4448 0 0.0
.data.rel.ro 76008 76008 0 0.0
.dynamic 592 592 0 0.0
.got 4680 4680 0 0.0
.init 27 27 0 0.0
.init_array 904 904 0 0.0
.rodata 213387 213387 0 0.0
.text 2403586 2403586 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2368932 2368932 0 0.0
.bss 185244 185244 0 0.0
.data 5840 5840 0 0.0
.text 1331532 1331532 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1162943 1162959 16 0.0
bss 136536 136536 0 0.0
rodata 147136 147136 0 0.0
text 800656 800672 16 0.0
lighting-app nrf52840dk_nrf52840 (read/write) 1149159 1149175 16 0.0
bss 140272 140272 0 0.0
rodata 122224 122224 0 0.0
text 808088 808108 20 0.0
nrf52840dk_nrf52840+rpc (read/write) 1113435 1113451 16 0.0
bss 140508 140508 0 0.0
rodata 113332 113332 0 0.0
text 780560 780576 16 0.0
nrf52840dongle_nrf52840 (read/write) 1057639 1057639 0 0.0
bss 147480 147480 0 0.0
rodata 92280 92280 0 0.0
text 736992 736992 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1051602 1051618 16 0.0
bss 136472 136472 0 0.0
rodata 114976 114976 0 0.0
text 718200 718220 20 0.0
lock-app nrf52840dk_nrf52840 (read/write) 1049495 1049511 16 0.0
bss 130216 130216 0 0.0
rodata 114968 114968 0 0.0
text 725840 725860 20 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 952202 952218 16 0.0
bss 126448 126448 0 0.0
rodata 107768 107768 0 0.0
text 636104 636120 16 0.0
pump-app nrf52840dk_nrf52840 (read/write) 1069315 1069331 16 0.0
bss 130224 130224 0 0.0
rodata 117652 117652 0 0.0
text 742832 742848 16 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 1051067 1051083 16 0.0
bss 129944 129944 0 0.0
rodata 113660 113660 0 0.0
text 728856 728876 20 0.0
p6 all-clusters-app default (read/write) 2514704 2514704 0 0.0
.bss 118648 118648 0 0.0
.data 2768 2768 0 0.0
.text 1472968 1472968 0 0.0
light-app default (read/write) 2415160 2415160 0 0.0
.bss 112144 112144 0 0.0
.data 2576 2576 0 0.0
.text 1373424 1373424 0 0.0
lock-app default (read/write) 2378728 2378728 0 0.0
.bss 111888 111888 0 0.0
.data 2536 2536 0 0.0
.text 1336992 1336992 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 800936 800936 0 0.0
bss 69996 69996 0 0.0
noinit 40416 40416 0 0.0
text 569780 569780 0 0.0

OTA DFU methods need more checks to faster reaction to errors.
@ArekBalysNordic ArekBalysNordic force-pushed the new_dfu_target_followup branch from 06f6b42 to a72e5d2 Compare April 19, 2022 11:33
@github-actions
Copy link

github-actions bot commented Apr 19, 2022

PR #17397: Size comparison from 8793870 to a72e5d2

Increases (8 builds for nrfconnect)
platform target config section 8793870 a72e5d2 change % change
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1164691 1164707 16 0.0
text 801960 801976 16 0.0
lighting-app nrf52840dk_nrf52840 (read/write) 1150419 1150435 16 0.0
text 809092 809108 16 0.0
nrf52840dk_nrf52840+rpc (read/write) 1114699 1114715 16 0.0
text 781560 781580 20 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1052854 1052870 16 0.0
text 719204 719220 16 0.0
lock-app nrf52840dk_nrf52840 (read/write) 1087739 1087755 16 0.0
text 745044 745064 20 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 990442 990458 16 0.0
text 655300 655316 16 0.0
pump-app nrf52840dk_nrf52840 (read/write) 1070599 1070615 16 0.0
text 743832 743852 20 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 1052223 1052239 16 0.0
text 729860 729876 16 0.0
Full report (31 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 8793870 a72e5d2 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 684759 684759 0 0.0
(read/write) 168424 168424 0 0.0
.bss 76168 76168 0 0.0
.data 3380 3380 0 0.0
.rodata 103415 103415 0 0.0
.text 580864 580864 0 0.0
lock-ftd LP_CC2652R7 (read only) 677679 677679 0 0.0
(read/write) 166448 166448 0 0.0
.bss 74168 74168 0 0.0
.data 3212 3212 0 0.0
.rodata 98903 98903 0 0.0
.text 578292 578292 0 0.0
lock-mtd LP_CC2652R7 (read only) 626423 626423 0 0.0
(read/write) 146956 146956 0 0.0
.bss 69888 69888 0 0.0
.data 3212 3212 0 0.0
.rodata 98783 98783 0 0.0
.text 527148 527148 0 0.0
pump-app LP_CC2652R7 (read only) 649807 649807 0 0.0
(read/write) 152492 152492 0 0.0
.bss 74624 74624 0 0.0
.data 3244 3244 0 0.0
.rodata 75719 75719 0 0.0
.text 573600 573600 0 0.0
pump-controller-app LP_CC2652R7 (read only) 643151 643151 0 0.0
(read/write) 152160 152160 0 0.0
.bss 74328 74328 0 0.0
.data 3208 3208 0 0.0
.rodata 79055 79055 0 0.0
.text 563608 563608 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 619310 619310 0 0.0
.app_xip_area 526068 526068 0 0.0
.bss 75908 75908 0 0.0
.data 684 684 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 613562 613562 0 0.0
.app_xip_area 521824 521824 0 0.0
.bss 74436 74436 0 0.0
.data 648 648 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 566406 566406 0 0.0
.app_xip_area 465056 465056 0 0.0
.bss 83752 83752 0 0.0
.data 564 564 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 909172 909172 0 0.0
(read/write) 133128 133128 0 0.0
.bss 131088 131088 0 0.0
.data 2040 2040 0 0.0
.text 909164 909164 0 0.0
BRD4161A+rpc (read only) 943548 943548 0 0.0
(read/write) 149812 149812 0 0.0
.bss 147568 147568 0 0.0
.data 2244 2244 0 0.0
.text 943540 943540 0 0.0
window-app BRD4161A (read only) 845540 845540 0 0.0
(read/write) 131116 131116 0 0.0
.bss 129168 129168 0 0.0
.data 1948 1948 0 0.0
.text 845532 845532 0 0.0
esp32 all-clusters-app c3devkit (read only) 980742 980742 0 0.0
(read/write) 1397866 1397866 0 0.0
.dram0.bss 62600 62600 0 0.0
.dram0.data 14412 14412 0 0.0
.flash.rodata 201936 201936 0 0.0
.flash.text 980742 980742 0 0.0
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1036127 1036127 0 0.0
(read/write) 465608 465608 0 0.0
.dram0.bss 68112 68112 0 0.0
.dram0.data 34152 34152 0 0.0
.flash.rodata 231508 231508 0 0.0
.flash.text 1030743 1030743 0 0.0
.iram0.text 123107 123107 0 0.0
k32w light k32w061+release (read/write) 684868 684868 0 0.0
.bss 77912 77912 0 0.0
.data 1992 1992 0 0.0
.text 599164 599164 0 0.0
lock k32w061+release (read/write) 725716 725716 0 0.0
.bss 78520 78520 0 0.0
.data 1952 1952 0 0.0
.text 639444 639444 0 0.0
linux chip-tool-no-interactive-ipv6only arm64 (read only) 10430092 10430092 0 0.0
(read/write) 494193 494193 0 0.0
.bss 40865 40865 0 0.0
.data 1184 1184 0 0.0
.data.rel.ro 390440 390440 0 0.0
.dynamic 560 560 0 0.0
.got 57904 57904 0 0.0
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 516652 516652 0 0.0
.text 8804420 8804420 0 0.0
thermostat-no-ble arm64 (read only) 2359996 2359996 0 0.0
(read/write) 151137 151137 0 0.0
.bss 62945 62945 0 0.0
.data 1440 1440 0 0.0
.data.rel.ro 78984 78984 0 0.0
.dynamic 560 560 0 0.0
.got 4752 4752 0 0.0
.init 24 24 0 0.0
.init_array 368 368 0 0.0
.rodata 145356 145356 0 0.0
.text 1985648 1985648 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2410300 2410300 0 0.0
.bss 185228 185228 0 0.0
.data 5840 5840 0 0.0
.text 1372900 1372900 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1164691 1164707 16 0.0
bss 136520 136520 0 0.0
rodata 147572 147572 0 0.0
text 801960 801976 16 0.0
lighting-app nrf52840dk_nrf52840 (read/write) 1150419 1150435 16 0.0
bss 140244 140244 0 0.0
rodata 122492 122492 0 0.0
text 809092 809108 16 0.0
nrf52840dk_nrf52840+rpc (read/write) 1114699 1114715 16 0.0
bss 140480 140480 0 0.0
rodata 113596 113596 0 0.0
text 781560 781580 20 0.0
nrf52840dongle_nrf52840 (read/write) 1058495 1058495 0 0.0
bss 147436 147436 0 0.0
rodata 92552 92552 0 0.0
text 737692 737692 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1052854 1052870 16 0.0
bss 136444 136444 0 0.0
rodata 115244 115244 0 0.0
text 719204 719220 16 0.0
lock-app nrf52840dk_nrf52840 (read/write) 1087739 1087755 16 0.0
bss 130216 130216 0 0.0
rodata 134004 134004 0 0.0
text 745044 745064 20 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 990442 990458 16 0.0
bss 126452 126452 0 0.0
rodata 126808 126808 0 0.0
text 655300 655316 16 0.0
pump-app nrf52840dk_nrf52840 (read/write) 1070599 1070615 16 0.0
bss 130196 130196 0 0.0
rodata 117920 117920 0 0.0
text 743832 743852 20 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 1052223 1052239 16 0.0
bss 129916 129916 0 0.0
rodata 113928 113928 0 0.0
text 729860 729876 16 0.0
p6 all-clusters-app default (read/write) 2517224 2517224 0 0.0
.bss 118624 118624 0 0.0
.data 2768 2768 0 0.0
.text 1475488 1475488 0 0.0
light-app default (read/write) 2417144 2417144 0 0.0
.bss 112104 112104 0 0.0
.data 2576 2576 0 0.0
.text 1375408 1375408 0 0.0
lock-app default (read/write) 2420608 2420608 0 0.0
.bss 111880 111880 0 0.0
.data 2536 2536 0 0.0
.text 1378872 1378872 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 802236 802236 0 0.0
bss 69952 69952 0 0.0
noinit 40416 40416 0 0.0
text 570790 570790 0 0.0

@andy31415 andy31415 merged commit 0ba8743 into project-chip:master Apr 19, 2022
@ArekBalysNordic ArekBalysNordic deleted the new_dfu_target_followup branch May 30, 2022 08:29
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