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: Use correct FLASH addresses in the EFR32MG24 linker file #16563

Merged
merged 15 commits into from
Mar 24, 2022

Conversation

selissia
Copy link
Contributor

@selissia selissia commented Mar 23, 2022

Problem

For EFR32MG24 flash space must be reserved for the bootloader file

Change overview

Offset FLASH addresses by 0x6000 in the EFR32MG24 linker file

Testing

Compiled and tested the lighting app on BRD4186C

@github-actions
Copy link

github-actions bot commented Mar 23, 2022

PR #16563: Size comparison from 7172ac9 to 90a2844

Full report (27 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 7172ac9 90a28445 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 603478 603478 0 0.0
.app_xip_area 510576 510576 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) 561274 561274 0 0.0
.app_xip_area 469900 469900 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) 572806 572806 0 0.0
.app_xip_area 471784 471784 0 0.0
.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) 922300 922300 0 0.0
(read/write) 128756 128756 0 0.0
.bss 126768 126768 0 0.0
.data 1988 1988 0 0.0
.text 922292 922292 0 0.0
BRD4161A+rpc (read only) 951128 951128 0 0.0
(read/write) 144712 144712 0 0.0
.bss 142544 142544 0 0.0
.data 2168 2168 0 0.0
.text 951120 951120 0 0.0
window-app BRD4161A (read only) 852660 852660 0 0.0
(read/write) 126720 126720 0 0.0
.bss 124856 124856 0 0.0
.data 1864 1864 0 0.0
.text 852652 852652 0 0.0
esp32 all-clusters-app c3devkit (read only) 964156 964156 0 0.0
(read/write) 1393714 1393714 0 0.0
.dram0.bss 62072 62072 0 0.0
.dram0.data 14188 14188 0 0.0
.flash.rodata 198536 198536 0 0.0
.flash.text 964156 964156 0 0.0
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1020687 1020687 0 0.0
(read/write) 461492 461492 0 0.0
.dram0.bss 67600 67600 0 0.0
.dram0.data 34016 34016 0 0.0
.flash.rodata 228040 228040 0 0.0
.flash.text 1015303 1015303 0 0.0
.iram0.text 123107 123107 0 0.0
k32w light k32w061+release (read/write) 701120 701120 0 0.0
.bss 77656 77656 0 0.0
.data 1868 1868 0 0.0
.text 615796 615796 0 0.0
lock k32w061+release (read/write) 701088 701088 0 0.0
.bss 77624 77624 0 0.0
.data 1908 1908 0 0.0
.text 615756 615756 0 0.0
linux all-clusters-app debug (read only) 2478329 2478329 0 0.0
(read/write) 143216 143216 0 0.0
.bss 57312 57312 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 78904 78904 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 211941 211941 0 0.0
.text 2102914 2102914 0 0.0
bridge-app debug+rpc (read only) 1753373 1753373 0 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 144556 144556 0 0.0
.text 1493605 1493605 0 0.0
chip-tool debug (read only) 10163805 10163805 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 518677 518677 0 0.0
.text 8862405 8862405 0 0.0
chip-tool-ipv6only arm64 (read only) 9785084 9785084 0 0.0
(read/write) 472961 472961 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 55528 55528 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 494308 494308 0 0.0
.text 8238692 8238692 0 0.0
door-lock-app debug (read only) 2005129 2005129 0 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 180988 180988 0 0.0
.text 1674482 1674482 0 0.0
lighting-app debug+rpc (read only) 2178777 2178777 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 175164 175164 0 0.0
.text 1844594 1844594 0 0.0
ota-provider-app debug (read only) 1946513 1946513 0 0.0
(read/write) 112560 112560 0 0.0
.bss 47456 47456 0 0.0
.data 1256 1256 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 166987 166987 0 0.0
.text 1627810 1627810 0 0.0
ota-requestor-app debug (read only) 1969953 1969953 0 0.0
(read/write) 115592 115592 0 0.0
.bss 48480 48480 0 0.0
.data 1416 1416 0 0.0
.data.rel.ro 60264 60264 0 0.0
.dynamic 592 592 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 640 640 0 0.0
.rodata 162980 162980 0 0.0
.text 1654962 1654962 0 0.0
shell debug (read only) 2427657 2427657 0 0.0
(read/write) 147272 147272 0 0.0
.bss 67240 67240 0 0.0
.data 784 784 0 0.0
.data.rel.ro 73536 73536 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 209362 209362 0 0.0
.text 2061570 2061570 0 0.0
thermostat-no-ble arm64 (read only) 2262692 2262692 0 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 139780 139780 0 0.0
.text 1899600 1899600 0 0.0
tv-app debug (read only) 2678521 2678521 0 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 207157 207157 0 0.0
.text 2296514 2296514 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2353636 2353636 0 0.0
.bss 184652 184652 0 0.0
.data 5752 5752 0 0.0
.text 1316236 1316236 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1138947 1138947 0 0.0
bss 142588 142588 0 0.0
rodata 141516 141516 0 0.0
text 780084 780084 0 0.0
p6 all-clusters-app default (read/write) 2493592 2493592 0 0.0
.bss 118072 118072 0 0.0
.data 2632 2632 0 0.0
.text 1451856 1451856 0 0.0
light-app default (read/write) 2396776 2396776 0 0.0
.bss 111544 111544 0 0.0
.data 2488 2488 0 0.0
.text 1355040 1355040 0 0.0
lock-app default (read/write) 2360312 2360312 0 0.0
.bss 111288 111288 0 0.0
.data 2448 2448 0 0.0
.text 1318576 1318576 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 896954 896954 0 0.0
bss 87444 87444 0 0.0
noinit 37160 37160 0 0.0
text 634304 634304 0 0.0

@github-actions
Copy link

github-actions bot commented Mar 24, 2022

PR #16563: Size comparison from 1f3467e to 392570d

Increases above 0.2%:

platform target config section 1f3467e 392570d change % change
linux all-clusters-app debug (read only) 2478273 2484089 5816 0.2
.rodata 211845 212389 544 0.3
.text 2103026 2108082 5056 0.2
bridge-app debug+rpc (read only) 1753061 1756981 3920 0.2
.bss 44456 44552 96 0.2
.text 1493621 1497285 3664 0.2
chip-tool debug (read only) 10186893 10213477 26584 0.3
.bss 22400 22496 96 0.4
.text 8883301 8908533 25232 0.3
chip-tool-ipv6only arm64 .got 55704 55864 160 0.3
.text 8258020 8280292 22272 0.3
door-lock-app debug .bss 47584 47680 96 0.2
.text 1674578 1678066 3488 0.2
lighting-app debug+rpc .text 1844610 1848610 4000 0.2
ota-provider-app debug .bss 47456 47552 96 0.2
.text 1627826 1631314 3488 0.2
ota-requestor-app debug .text 1657730 1661218 3488 0.2
shell debug (read only) 2427633 2433433 5800 0.2
.rodata 209298 209810 512 0.2
.text 2061682 2066754 5072 0.2
thermostat-no-ble arm64 .got 4480 4504 24 0.5
nrfconnect all-clusters-app nrf52840dk_nrf52840 rodata 141508 141912 404 0.3
Increases (14 builds for linux, mbed, nrfconnect, telink)
platform target config section 1f3467e 392570d change % change
linux all-clusters-app debug (read only) 2478273 2484089 5816 0.2
(read/write) 143184 143312 128 0.1
.bss 57312 57408 96 0.2
.data.rel.ro 78872 78920 48 0.1
.rodata 211845 212389 544 0.3
.text 2103026 2108082 5056 0.2
bridge-app debug+rpc (read only) 1753061 1756981 3920 0.2
(read/write) 89424 89552 128 0.1
.bss 44456 44552 96 0.2
.data.rel.ro 37912 37936 24 0.1
.rodata 144300 144460 160 0.1
.text 1493621 1497285 3664 0.2
chip-tool debug (read only) 10186893 10213477 26584 0.3
(read/write) 355072 355456 384 0.1
.bss 22400 22496 96 0.4
.data.rel.ro 325496 325800 304 0.1
.rodata 520405 521013 608 0.1
.text 8883301 8908533 25232 0.3
chip-tool-ipv6only arm64 (read only) 9806636 9830844 24208 0.2
(read/write) 473297 473889 592 0.1
.bss 40673 40769 96 0.2
.data.rel.ro 371968 372312 344 0.1
.got 55704 55864 160 0.3
.rodata 495780 496452 672 0.1
.text 8258020 8280292 22272 0.3
door-lock-app debug (read only) 2005121 2008865 3744 0.2
(read/write) 116800 116896 96 0.1
.bss 47584 47680 96 0.2
.data.rel.ro 62824 62840 16 0.0
.rodata 180956 181116 160 0.1
.text 1674578 1678066 3488 0.2
lighting-app debug+rpc (read only) 2178497 2182777 4280 0.2
(read/write) 123760 123888 128 0.1
.bss 48864 48960 96 0.2
.data.rel.ro 67896 67928 32 0.0
.rodata 174940 175100 160 0.1
.text 1844610 1848610 4000 0.2
ota-provider-app debug (read only) 1946169 1949913 3744 0.2
(read/write) 112528 112624 96 0.1
.bss 47456 47552 96 0.2
.data.rel.ro 58168 58184 16 0.0
.rodata 166699 166859 160 0.1
.text 1627826 1631314 3488 0.2
ota-requestor-app debug (read only) 1972977 1976689 3712 0.2
(read/write) 115784 115880 96 0.1
.bss 48448 48544 96 0.2
.data.rel.ro 60392 60408 16 0.0
.rodata 162692 162820 128 0.1
.text 1657730 1661218 3488 0.2
shell debug (read only) 2427633 2433433 5800 0.2
(read/write) 147240 147400 160 0.1
.bss 67240 67336 96 0.1
.data.rel.ro 73504 73568 64 0.1
.rodata 209298 209810 512 0.2
.text 2061682 2066754 5072 0.2
thermostat-no-ble arm64 (read only) 2262588 2266140 3552 0.2
(read/write) 148257 148401 144 0.1
.bss 62753 62849 96 0.2
.data.rel.ro 76968 77000 32 0.0
.got 4480 4504 24 0.5
.rodata 139564 139708 144 0.1
.text 1899776 1903024 3248 0.2
tv-app debug (read only) 2678929 2683225 4296 0.2
(read/write) 247712 247872 160 0.1
.bss 164416 164512 96 0.1
.data.rel.ro 74104 74160 56 0.1
.rodata 206901 207061 160 0.1
.text 2297250 2301266 4016 0.2
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2353428 2353772 344 0.0
.text 1316028 1316372 344 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1139283 1140119 836 0.1
rodata 141508 141912 404 0.3
text 780416 780852 436 0.1
telink lighting-app tlsr9518adk80d (read/write) 896794 897102 308 0.0
text 634212 634432 220 0.0
Decreases (3 builds for mbed, nrfconnect, telink)
platform target config section 1f3467e 392570d change % change
mbed lock-app CY8CPROTO_062_4343W+release .bss 184652 184572 -80 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 bss 142588 142508 -80 -0.1
telink lighting-app tlsr9518adk80d bss 87444 87364 -80 -0.1
Full report (14 builds for linux, mbed, nrfconnect, telink)
platform target config section 1f3467e 392570d change % change
linux all-clusters-app debug (read only) 2478273 2484089 5816 0.2
(read/write) 143184 143312 128 0.1
.bss 57312 57408 96 0.2
.data 1280 1280 0 0.0
.data.rel.ro 78872 78920 48 0.1
.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 211845 212389 544 0.3
.text 2103026 2108082 5056 0.2
bridge-app debug+rpc (read only) 1753061 1756981 3920 0.2
(read/write) 89424 89552 128 0.1
.bss 44456 44552 96 0.2
.data 1984 1984 0 0.0
.data.rel.ro 37912 37936 24 0.1
.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 144300 144460 160 0.1
.text 1493621 1497285 3664 0.2
chip-tool debug (read only) 10186893 10213477 26584 0.3
(read/write) 355072 355456 384 0.1
.bss 22400 22496 96 0.4
.data 1072 1072 0 0.0
.data.rel.ro 325496 325800 304 0.1
.dynamic 608 608 0 0.0
.got 4816 4816 0 0.0
.init 27 27 0 0.0
.init_array 632 632 0 0.0
.rodata 520405 521013 608 0.1
.text 8883301 8908533 25232 0.3
chip-tool-ipv6only arm64 (read only) 9806636 9830844 24208 0.2
(read/write) 473297 473889 592 0.1
.bss 40673 40769 96 0.2
.data 1144 1144 0 0.0
.data.rel.ro 371968 372312 344 0.1
.dynamic 560 560 0 0.0
.got 55704 55864 160 0.3
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 495780 496452 672 0.1
.text 8258020 8280292 22272 0.3
door-lock-app debug (read only) 2005121 2008865 3744 0.2
(read/write) 116800 116896 96 0.1
.bss 47584 47680 96 0.2
.data 992 992 0 0.0
.data.rel.ro 62824 62840 16 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 180956 181116 160 0.1
.text 1674578 1678066 3488 0.2
lighting-app debug+rpc (read only) 2178497 2182777 4280 0.2
(read/write) 123760 123888 128 0.1
.bss 48864 48960 96 0.2
.data 1472 1472 0 0.0
.data.rel.ro 67896 67928 32 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 174940 175100 160 0.1
.text 1844610 1848610 4000 0.2
ota-provider-app debug (read only) 1946169 1949913 3744 0.2
(read/write) 112528 112624 96 0.1
.bss 47456 47552 96 0.2
.data 1256 1256 0 0.0
.data.rel.ro 58168 58184 16 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 166699 166859 160 0.1
.text 1627826 1631314 3488 0.2
ota-requestor-app debug (read only) 1972977 1976689 3712 0.2
(read/write) 115784 115880 96 0.1
.bss 48448 48544 96 0.2
.data 1480 1480 0 0.0
.data.rel.ro 60392 60408 16 0.0
.dynamic 592 592 0 0.0
.got 4184 4184 0 0.0
.init 27 27 0 0.0
.init_array 640 640 0 0.0
.rodata 162692 162820 128 0.1
.text 1657730 1661218 3488 0.2
shell debug (read only) 2427633 2433433 5800 0.2
(read/write) 147240 147400 160 0.1
.bss 67240 67336 96 0.1
.data 800 800 0 0.0
.data.rel.ro 73504 73568 64 0.1
.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 209810 512 0.2
.text 2061682 2066754 5072 0.2
thermostat-no-ble arm64 (read only) 2262588 2266140 3552 0.2
(read/write) 148257 148401 144 0.1
.bss 62753 62849 96 0.2
.data 1040 1040 0 0.0
.data.rel.ro 76968 77000 32 0.0
.dynamic 560 560 0 0.0
.got 4480 4504 24 0.5
.init 24 24 0 0.0
.init_array 360 360 0 0.0
.rodata 139564 139708 144 0.1
.text 1899776 1903024 3248 0.2
tv-app debug (read only) 2678929 2683225 4296 0.2
(read/write) 247712 247872 160 0.1
.bss 164416 164512 96 0.1
.data 3136 3136 0 0.0
.data.rel.ro 74104 74160 56 0.1
.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 206901 207061 160 0.1
.text 2297250 2301266 4016 0.2
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2353428 2353772 344 0.0
.bss 184652 184572 -80 -0.0
.data 5760 5760 0 0.0
.text 1316028 1316372 344 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1139283 1140119 836 0.1
bss 142588 142508 -80 -0.1
rodata 141508 141912 404 0.3
text 780416 780852 436 0.1
telink lighting-app tlsr9518adk80d (read/write) 896794 897102 308 0.0
bss 87444 87364 -80 -0.1
noinit 37160 37160 0 0.0
text 634212 634432 220 0.0

@selissia selissia merged commit 011efcf into project-chip:master Mar 24, 2022
andrei-menzopol pushed a commit to andrei-menzopol/connectedhomeip that referenced this pull request Apr 14, 2022
…ect-chip#16563)

* Test added march 8 (project-chip#15957)

* Added new manual scripts

* Added Auto generated File

* [OTA] Fix OTARequestorDriverImpl inclusion (project-chip#15981)

* Regen to fix CI failures (project-chip#15990)

* [ota] Store Default OTA Providers in flash (project-chip#15970)

* [ota] Store Default OTA Providers in flash

Store Default OTA Providers in flash each time the attribute
is modified and load it back on the application startup.

* Restyled by clang-format

* Fix build and reduce flash usage

Co-authored-by: Restyled.io <commits@restyled.io>

* Use correct FLASH addresses in the EFR32MG24 linker file

* Remove merge artifacts

Co-authored-by: kowsisoundhar12 <57476670+kowsisoundhar12@users.noreply.github.com>
Co-authored-by: Carol Yang <clyang@apple.com>
Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>
Co-authored-by: Damian Królik <66667989+Damian-Nordic@users.noreply.github.com>
Co-authored-by: Restyled.io <commits@restyled.io>
@selissia selissia deleted the silabs_linker branch May 12, 2022 15:57
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