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