FYI: use `make size-components` to create a report on all component
sizes (`make size-files` for source file level).
Unsurprisingly the webserver is on top, even with all assets
precompressed already.
Top 10 components:
Per-archive contributions to ELF file:
Archive File DRAM .data & .bss IRAM Flash code
& rodata Total
libovms_webserver.a 0 255 0 134342
399846 534443
libstdc++.a 149 5640 0 141045
72513 219347
libmain.a 15 2104 0 139216
40086 181421
libduktape.a 0 0 0 141641
20367 162008
libvehicle_renaulttwizy. 0 29 0 86517
75357 161903
libc-psram-workaround.a 1854 66 18391 118283
10943 149537
liblwip.a 17 3873 0 118366
16722 138978
libnet80211.a 938 9042 10475 92339
21900 134694
libmbedtls.a 100 560 76 107079
26785 134600
libvehicle_vweup.a 8 8 0 60846
43432 104294
Vehicles:
Per-archive contributions to ELF file:
Archive File DRAM .data & .bss IRAM Flash code
& rodata Total
libvehicle_renaulttwizy. 0 29 0 86517
75357 161903
libvehicle_vweup.a 8 8 0 60846
43432 104294
libvehicle_mgev.a 156 26 0 47756
33998 81936
libvehicle_smarteq.a 82 15 0 59267
19527 78891
libvehicle_smarted.a 0 9 0 48481
28801 77291
libvehicle_renaultzoe_ph 4 10 0 44622
29564 74200
libvehicle.a 0 68 0 57735
12062 69865
libvehicle_bmwi3.a 0 2 0 33370
14357 47729
libvehicle_minise.a 9432 2 0 35360
2210 47004
libvehicle_hyundai_ioniq 176 7 0 32921
13425 46529
libvehicle_nissanleaf.a 0 3 0 35491
8941 44435
libvehicle_kiasoulev.a 240 9 0 32508
5473 38230
libvehicle_kianiroev.a 108 7 0 24070
4006 28191
libvehicle_mitsubishi.a 0 5 0 21645
3893 25543
libvehicle_boltev.a 0 5 0 15999
7864 23868
libvehicle_niu_gtevo.a 4 12 0 18248
3733 21997
libvehicle_maxus_edelive 156 3 0 10713
7477 18349
libvehicle_renaultzoe.a 0 6 0 14828
2859 17693
libvehicle_maxus_euniq56 156 3 0 8363
6840 15362
libvehicle_voltampera.a 0 5 0 13221
1932 15158
libvehicle_hyundai_ioniq 0 3 0 11081
3191 14275
libvehicle_teslaroadster 0 6 0 10367
2238 12611
libvehicle_thinkcity.a 0 3 0 6114
3449 9566
libvehicle_jaguaripace.a 0 8 0 5445
3941 9394
libvehicle_fiatedoblo.a 0 2 0 4262
2126 6390
libvehicle_teslamodels.a 0 2 0 5361
948 6311
libvehicle_toyotarav4ev. 0 2 0 5023
1255 6280
libvehicle_maxus_t90.a 0 3 0 2567
2204 4774
libvehicle_byd_atto3.a 0 2 0 3503
947 4452
libvehicle_energica.a 0 1 0 3319
880 4200
libvehicle_demo.a 0 2 0 3205
795 4002
libvehicle_maxus_euniq6. 0 2 0 2470
1182 3654
libvehicle_fiat500.a 0 2 0 2838
732 3572
libvehicle_zombie_vcu.a 0 4 0 1882
1259 3145
libvehicle_mercedesb250e 0 2 0 2113
955 3070
libvehicle_zeva.a 0 2 0 2209
688 2899
libvehicle_dbc.a 0 2 0 1278
1395 2675
libvehicle_cadillac_c2_c 0 7 0 1293
1105 2405
libvehicle_maple60s.a 0 2 0 1416
698 2116
libvehicle_chevrolet_c6_ 0 2 0 1053
1049 2104
libvehicle_obdii.a 0 2 0 957
1007 1966
libvehicle_teslamodel3.a 0 2 0 458
713 1173
libvehicle_none.a 0 2 0 418
684 1104
libvehicle_track.a 0 2 0 416
680 1098
Regards,
Michael
Am 06.12.25 um 10:33 schrieb Michael
Balzer via OvmsDev:
Everyone,
with the latest vehicle additions, the firmware size has now grown
to 4,015,328 bytes in build 3.3.005-485-gc4664881.
Our flash partitioning scheme is currently designed to provide
three firmware partitions (factory, ota_0 & ota_1) of 4MB =
4,194,304 bytes each.
So we've now got 178,976 bytes = ~4% left.
Options beyond the 4 MB limit:
a) split features, e.g. vehicle support, into two or more builds
b) repartition into two firmware partitions of 6 MB each, reusing
the factory partition for OTA
c) switch to an ESP32 WROOM module with 32 MB flash (possible?)
We've got some time left, new vehicles normally don't need that
much space, I just wanted to raise awareness.
Regards,
Michael
_______________________________________________
OvmsDev mailing list
OvmsDev@lists.openvehicles.com
http://lists.openvehicles.com/mailman/listinfo/ovmsdev
--
Michael Balzer * Am Rahmen 5 * D-58313 Herdecke
Fon 02330 9104094 * Handy 0176 20698926