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 EFR32] Add chip-shell to the EFR32 ota-requestor-app, move OTA initialization to AppTask #13894

Merged
merged 4 commits into from
Jan 25, 2022

Conversation

selissia
Copy link
Contributor

@selissia selissia commented Jan 24, 2022

Problem

EFR32 ota-requestor-app needs to have chip-shell enabled. Also, recent changes in OTARequestor::Init() require that it is called after Server::Init(). Also the EFR32 chip shell handles trailing spaces in a command as a separate token.

Change overview

Enable chip-shell in the EFR32 ota-requestor-app, move OTA initialization to AppTask, fixed the bug in the the EFR32's version of TokenizeLine.

Testing

Verified that the application initialize successfully and shell commands can be passed to it.

@github-actions
Copy link

github-actions bot commented Jan 24, 2022

PR #13894: Size comparison from 2926d14 to 344be76

Full report (22 builds for cyw30739, efr32, esp32, k32w, linux, mbed, p6, qpg, telink)
platform target config section 2926d14 344be76 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 573674 573674 0 0.0
.app_xip_area 478960 478960 0 0.0
.bss 77452 77452 0 0.0
.data 604 604 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
efr32 lighting-app BRD4161A (read only) 835388 835388 0 0.0
(read/write) 126980 126980 0 0.0
.bss 125080 125080 0 0.0
.data 1900 1900 0 0.0
.text 835380 835380 0 0.0
BRD4161A+rpc (read only) 822792 822792 0 0.0
(read/write) 143640 143640 0 0.0
.bss 141640 141640 0 0.0
.data 2000 2000 0 0.0
.text 822784 822784 0 0.0
window-app BRD4161A (read only) 806300 806300 0 0.0
(read/write) 125624 125624 0 0.0
.bss 123768 123768 0 0.0
.data 1856 1856 0 0.0
.text 806292 806292 0 0.0
esp32 all-clusters-app c3devkit (read only) 919194 919194 0 0.0
(read/write) 1376754 1376754 0 0.0
.dram0.bss 67384 67384 0 0.0
.dram0.data 14244 14244 0 0.0
.flash.rodata 175992 175992 0 0.0
.flash.text 919194 919194 0 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 967535 967535 0 0.0
(read/write) 443168 443168 0 0.0
.dram0.bss 71856 71856 0 0.0
.dram0.data 34032 34032 0 0.0
.flash.rodata 205152 205152 0 0.0
.flash.text 962151 962151 0 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 660840 660840 0 0.0
.bss 77224 77224 0 0.0
.data 1868 1868 0 0.0
.text 575948 575948 0 0.0
lock k32w061+release (read/write) 661772 661772 0 0.0
.bss 77488 77488 0 0.0
.data 1892 1892 0 0.0
.text 576592 576592 0 0.0
linux chip-tool-ipv6only arm64 (read only) 8537844 8537844 0 0.0
(read/write) 390977 390977 0 0.0
.bss 56049 56049 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 261000 261000 0 0.0
.dynamic 560 560 0 0.0
.got 69048 69048 0 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 436908 436908 0 0.0
.text 7262020 7262020 0 0.0
thermostat-no-ble arm64 (read only) 2050300 2050300 0 0.0
(read/write) 145953 145953 0 0.0
.bss 64897 64897 0 0.0
.data 904 904 0 0.0
.data.rel.ro 73144 73144 0 0.0
.dynamic 560 560 0 0.0
.got 4056 4056 0 0.0
.init 24 24 0 0.0
.init_array 320 320 0 0.0
.rodata 129948 129948 0 0.0
.text 1706000 1706000 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2348720 2348720 0 0.0
.bss 186092 186092 0 0.0
.data 5304 5304 0 0.0
.text 1311296 1311296 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2333928 2333928 0 0.0
.bss 180696 180696 0 0.0
.data 5584 5584 0 0.0
.text 1296528 1296528 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2304560 2304560 0 0.0
.bss 180592 180592 0 0.0
.data 5568 5568 0 0.0
.text 1267160 1267160 0 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139712 1139712 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103096 103096 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2053896 2053896 0 0.0
.bss 156876 156876 0 0.0
.data 4864 4864 0 0.0
.text 1016496 1016496 0 0.0
p6 all-clusters-app default (read/write) 2407352 2407352 0 0.0
.bss 114436 114436 0 0.0
.data 2592 2592 0 0.0
.text 1365616 1365616 0 0.0
light-app default (read/write) 2330168 2330168 0 0.0
.bss 105272 105272 0 0.0
.data 2408 2408 0 0.0
.text 1288432 1288432 0 0.0
lock-app default (read/write) 2299640 2299640 0 0.0
.bss 105024 105024 0 0.0
.data 2360 2360 0 0.0
.text 1257904 1257904 0 0.0
qpg lighting-app qpg6105+debug (read only) 567036 567036 0 0.0
(read/write) 146940 146940 0 0.0
.bss 89416 89416 0 0.0
.data 1064 1064 0 0.0
.text 561716 561716 0 0.0
lock-app qpg6105+debug (read only) 515728 515728 0 0.0
(read/write) 146940 146940 0 0.0
.bss 88896 88896 0 0.0
.data 992 992 0 0.0
.text 510408 510408 0 0.0
persistent-storage-app qpg6105+debug (read only) 107140 107140 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101820 101820 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 840970 840970 0 0.0
bss 87224 87224 0 0.0
noinit 37160 37160 0 0.0
text 588172 588172 0 0.0

@github-actions
Copy link

github-actions bot commented Jan 25, 2022

PR #13894: Size comparison from 2926d14 to 39f9ba7

Full report (33 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 2926d14 39f9ba7 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 573674 573674 0 0.0
.app_xip_area 478960 478960 0 0.0
.bss 77452 77452 0 0.0
.data 604 604 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
efr32 lighting-app BRD4161A (read only) 835388 835388 0 0.0
(read/write) 126980 126980 0 0.0
.bss 125080 125080 0 0.0
.data 1900 1900 0 0.0
.text 835380 835380 0 0.0
BRD4161A+rpc (read only) 822792 822792 0 0.0
(read/write) 143640 143640 0 0.0
.bss 141640 141640 0 0.0
.data 2000 2000 0 0.0
.text 822784 822784 0 0.0
window-app BRD4161A (read only) 806300 806300 0 0.0
(read/write) 125624 125624 0 0.0
.bss 123768 123768 0 0.0
.data 1856 1856 0 0.0
.text 806292 806292 0 0.0
esp32 all-clusters-app c3devkit (read only) 919194 919194 0 0.0
(read/write) 1376754 1376754 0 0.0
.dram0.bss 67384 67384 0 0.0
.dram0.data 14244 14244 0 0.0
.flash.rodata 175992 175992 0 0.0
.flash.text 919194 919194 0 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 967535 967535 0 0.0
(read/write) 443168 443168 0 0.0
.dram0.bss 71856 71856 0 0.0
.dram0.data 34032 34032 0 0.0
.flash.rodata 205152 205152 0 0.0
.flash.text 962151 962151 0 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 660840 660840 0 0.0
.bss 77224 77224 0 0.0
.data 1868 1868 0 0.0
.text 575948 575948 0 0.0
lock k32w061+release (read/write) 661772 661772 0 0.0
.bss 77488 77488 0 0.0
.data 1892 1892 0 0.0
.text 576592 576592 0 0.0
linux chip-tool-ipv6only arm64 (read only) 8537844 8537844 0 0.0
(read/write) 390977 390977 0 0.0
.bss 56049 56049 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 261000 261000 0 0.0
.dynamic 560 560 0 0.0
.got 69048 69048 0 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 436908 436908 0 0.0
.text 7262020 7262020 0 0.0
thermostat-no-ble arm64 (read only) 2050300 2050300 0 0.0
(read/write) 145953 145953 0 0.0
.bss 64897 64897 0 0.0
.data 904 904 0 0.0
.data.rel.ro 73144 73144 0 0.0
.dynamic 560 560 0 0.0
.got 4056 4056 0 0.0
.init 24 24 0 0.0
.init_array 320 320 0 0.0
.rodata 129948 129948 0 0.0
.text 1706000 1706000 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2348720 2348720 0 0.0
.bss 186092 186092 0 0.0
.data 5304 5304 0 0.0
.text 1311296 1311296 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2333928 2333928 0 0.0
.bss 180696 180696 0 0.0
.data 5584 5584 0 0.0
.text 1296528 1296528 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2304560 2304560 0 0.0
.bss 180592 180592 0 0.0
.data 5568 5568 0 0.0
.text 1267160 1267160 0 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139712 1139712 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103096 103096 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2053896 2053896 0 0.0
.bss 156876 156876 0 0.0
.data 4864 4864 0 0.0
.text 1016496 1016496 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 942107 942107 0 0.0
bss 118776 118776 0 0.0
rodata 108640 108640 0 0.0
text 637108 637108 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 927619 927619 0 0.0
bss 115820 115820 0 0.0
rodata 101088 101088 0 0.0
text 632504 632504 0 0.0
nrf52840dongle_nrf52840 (read/write) 992783 992783 0 0.0
bss 121620 121620 0 0.0
rodata 113392 113392 0 0.0
text 669308 669308 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 851962 851962 0 0.0
bss 115564 115564 0 0.0
rodata 101812 101812 0 0.0
text 554028 554028 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 912643 912643 0 0.0
bss 118828 118828 0 0.0
rodata 103760 103760 0 0.0
text 612660 612660 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822678 822678 0 0.0
bss 115648 115648 0 0.0
rodata 96984 96984 0 0.0
text 529616 529616 0 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 541835 541835 0 0.0
bss 52588 52588 0 0.0
rodata 50104 50104 0 0.0
text 376940 376940 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 915283 915283 0 0.0
bss 118576 118576 0 0.0
rodata 104096 104096 0 0.0
text 615136 615136 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910483 910483 0 0.0
bss 118600 118600 0 0.0
rodata 103248 103248 0 0.0
text 611156 611156 0 0.0
shell nrf52840dk_nrf52840 (read/write) 798203 798203 0 0.0
bss 109776 109776 0 0.0
rodata 78288 78288 0 0.0
text 533644 533644 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 711022 711022 0 0.0
bss 107664 107664 0 0.0
rodata 72592 72592 0 0.0
text 451320 451320 0 0.0
p6 all-clusters-app default (read/write) 2407352 2407352 0 0.0
.bss 114436 114436 0 0.0
.data 2592 2592 0 0.0
.text 1365616 1365616 0 0.0
light-app default (read/write) 2330168 2330168 0 0.0
.bss 105272 105272 0 0.0
.data 2408 2408 0 0.0
.text 1288432 1288432 0 0.0
lock-app default (read/write) 2299640 2299640 0 0.0
.bss 105024 105024 0 0.0
.data 2360 2360 0 0.0
.text 1257904 1257904 0 0.0
qpg lighting-app qpg6105+debug (read only) 567036 567036 0 0.0
(read/write) 146940 146940 0 0.0
.bss 89416 89416 0 0.0
.data 1064 1064 0 0.0
.text 561716 561716 0 0.0
lock-app qpg6105+debug (read only) 515728 515728 0 0.0
(read/write) 146940 146940 0 0.0
.bss 88896 88896 0 0.0
.data 992 992 0 0.0
.text 510408 510408 0 0.0
persistent-storage-app qpg6105+debug (read only) 107140 107140 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101820 101820 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 840970 840970 0 0.0
bss 87224 87224 0 0.0
noinit 37160 37160 0 0.0
text 588172 588172 0 0.0

@saurabhst
Copy link
Contributor

it's an EFR32-specific change so merging as a hotfix/fast track change

@saurabhst saurabhst merged commit be9582b into project-chip:master Jan 25, 2022
selissia added a commit to selissia/connectedhomeip that referenced this pull request Jan 28, 2022
…nitialization to AppTask (project-chip#13894)

* Move OTA initialization to AppTask.cpp to happen after Server::Init()

* Enable CHIP shell in the EFR32 OTA Requestor app

* Restyled by clang-format

* Fix parsing of a command with a trailing empty space

Co-authored-by: Restyled.io <commits@restyled.io>
@selissia selissia deleted the silabs_ota_shell branch May 12, 2022 15:58
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.

6 participants