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] Refactored configuration for child images #17174

Merged

Conversation

kkasperczyk-no
Copy link
Contributor

Problem

Currently used approach for nrfconnect regarding child images results in significant duplication of configuration files,
what hardens maintenance.

Change overview

  • Created Kconfig.mcuboot.defaults file that sets default
    configuration for all examples using mcuboot child image
  • Created Kconfig.multiprotocol_rpmsg file that sets
    default configuration for all examples using multiprotocol
    rpmsg child image
  • Flatten configuration structure by removing
    configuration/board-name/ files and creating common prj.confs
    in the application root directory
  • Removed from rpc.overlay comment describing how to use it,
    as it duplicates example README.md information

Testing

No functional changes, verified manually building.

Currently used approach for nrfconnect regarding child images
results in significant duplication of configuration files,
what hardens maintenance.

* Created Kconfig.mcuboot.defaults file that sets default
configuration for all examples using mcuboot child image
* Created Kconfig.multiprotocol_rpmsg file that sets
default configuration for all examples using multiprotocol
rpmsg child image
* Flatten configuration structure by removing
configuration/board-name/ files and creating common prj.confs
in the application root directory
* Removed from rpc.overlay comment describing how to use it,
as it duplicates example README.md information
@kkasperczyk-no kkasperczyk-no force-pushed the child_images_defaults_pr branch from 10d92ef to d3ffc11 Compare April 7, 2022 14:08
@github-actions
Copy link

github-actions bot commented Apr 7, 2022

PR #17174: Size comparison from 845b38d to d3ffc11

Full report (27 builds for cc13x2_26x2, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 845b38d d3ffc11 change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 674515 674515 0 0.0
(read/write) 176964 176964 0 0.0
.bss 81520 81520 0 0.0
.data 3216 3216 0 0.0
.rodata 80563 80563 0 0.0
.text 593472 593472 0 0.0
lock-mtd LP_CC2652R7 (read only) 623651 623651 0 0.0
(read/write) 154320 154320 0 0.0
.bss 77248 77248 0 0.0
.data 3216 3216 0 0.0
.rodata 80451 80451 0 0.0
.text 542712 542712 0 0.0
pump-app LP_CC2652R7 (read only) 681875 681875 0 0.0
(read/write) 170780 170780 0 0.0
.bss 81928 81928 0 0.0
.data 3248 3248 0 0.0
.rodata 75243 75243 0 0.0
.text 606148 606148 0 0.0
pump-controller-app LP_CC2652R7 (read only) 676219 676219 0 0.0
(read/write) 176164 176164 0 0.0
.bss 81656 81656 0 0.0
.data 3212 3212 0 0.0
.rodata 79027 79027 0 0.0
.text 596708 596708 0 0.0
efr32 lighting-app BRD4161A (read only) 904908 904908 0 0.0
(read/write) 133160 133160 0 0.0
.bss 131120 131120 0 0.0
.data 2040 2040 0 0.0
.text 904900 904900 0 0.0
BRD4161A+rpc (read only) 932780 932780 0 0.0
(read/write) 149108 149108 0 0.0
.bss 146888 146888 0 0.0
.data 2220 2220 0 0.0
.text 932772 932772 0 0.0
window-app BRD4161A (read only) 842196 842196 0 0.0
(read/write) 131228 131228 0 0.0
.bss 129280 129280 0 0.0
.data 1948 1948 0 0.0
.text 842188 842188 0 0.0
esp32 all-clusters-app c3devkit (read only) 991900 991900 0 0.0
(read/write) 1461762 1461762 0 0.0
.dram0.bss 62936 62936 0 0.0
.dram0.data 14356 14356 0 0.0
.flash.rodata 198984 198984 0 0.0
.flash.text 991900 991900 0 0.0
.iram0.text 62572 62572 0 0.0
m5stack (read only) 1044615 1044615 0 0.0
(read/write) 462816 462816 0 0.0
.dram0.bss 68464 68464 0 0.0
.dram0.data 34160 34160 0 0.0
.flash.rodata 228048 228048 0 0.0
.flash.text 1039231 1039231 0 0.0
.iram0.text 123415 123415 0 0.0
k32w light k32w061+release (read/write) 685148 685148 0 0.0
.bss 78208 78208 0 0.0
.data 2036 2036 0 0.0
.text 599104 599104 0 0.0
lock k32w061+release (read/write) 689932 689932 0 0.0
.bss 78784 78784 0 0.0
.data 1996 1996 0 0.0
.text 603352 603352 0 0.0
linux chip-tool-no-interactive-ipv6only arm64 (read only) 10281420 10281420 0 0.0
(read/write) 492177 492177 0 0.0
.bss 41009 41009 0 0.0
.data 1168 1168 0 0.0
.data.rel.ro 388800 388800 0 0.0
.dynamic 560 560 0 0.0
.got 57392 57392 0 0.0
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 512540 512540 0 0.0
.text 8665812 8665812 0 0.0
thermostat-no-ble arm64 (read only) 2348476 2348476 0 0.0
(read/write) 150497 150497 0 0.0
.bss 63025 63025 0 0.0
.data 1424 1424 0 0.0
.data.rel.ro 78264 78264 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 144428 144428 0 0.0
.text 1976576 1976576 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2366844 2366844 0 0.0
.bss 185060 185060 0 0.0
.data 5840 5840 0 0.0
.text 1329444 1329444 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1153375 1153375 0 0.0
bss 135540 135540 0 0.0
rodata 145832 145832 0 0.0
text 793388 793388 0 0.0
lighting-app nrf52840dk_nrf52840 (read/write) 1140223 1140223 0 0.0
bss 139276 139276 0 0.0
rodata 121232 121232 0 0.0
text 801024 801024 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 1104331 1104331 0 0.0
bss 139512 139512 0 0.0
rodata 112356 112356 0 0.0
text 773444 773444 0 0.0
nrf52840dongle_nrf52840 (read/write) 1154495 1154495 0 0.0
bss 140276 140276 0 0.0
rodata 120812 120812 0 0.0
text 803900 803900 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1048886 1048886 0 0.0
bss 136340 136340 0 0.0
rodata 114404 114404 0 0.0
text 716184 716184 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 1040511 1040511 0 0.0
bss 129220 129220 0 0.0
rodata 114080 114080 0 0.0
text 718740 718740 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 949566 949566 0 0.0
bss 126316 126316 0 0.0
rodata 107308 107308 0 0.0
text 634052 634052 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 1059475 1059475 0 0.0
bss 129136 129136 0 0.0
rodata 116244 116244 0 0.0
text 735520 735520 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 1041599 1041599 0 0.0
bss 128880 128880 0 0.0
rodata 112416 112416 0 0.0
text 721756 721756 0 0.0
p6 all-clusters-app default (read/write) 2512552 2512552 0 0.0
.bss 118464 118464 0 0.0
.data 2768 2768 0 0.0
.text 1470816 1470816 0 0.0
light-app default (read/write) 2413576 2413576 0 0.0
.bss 111960 111960 0 0.0
.data 2576 2576 0 0.0
.text 1371840 1371840 0 0.0
lock-app default (read/write) 2377208 2377208 0 0.0
.bss 111704 111704 0 0.0
.data 2536 2536 0 0.0
.text 1335472 1335472 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 799240 799240 0 0.0
bss 70064 70064 0 0.0
noinit 40416 40416 0 0.0
text 568274 568274 0 0.0

@andy31415 andy31415 merged commit fcf08c8 into project-chip:master Apr 7, 2022
andrei-menzopol pushed a commit to andrei-menzopol/connectedhomeip that referenced this pull request Apr 14, 2022
…17174)

Currently used approach for nrfconnect regarding child images
results in significant duplication of configuration files,
what hardens maintenance.

* Created Kconfig.mcuboot.defaults file that sets default
configuration for all examples using mcuboot child image
* Created Kconfig.multiprotocol_rpmsg file that sets
default configuration for all examples using multiprotocol
rpmsg child image
* Flatten configuration structure by removing
configuration/board-name/ files and creating common prj.confs
in the application root directory
* Removed from rpc.overlay comment describing how to use it,
as it duplicates example README.md information
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