I run the same firmware with minimal differences on PC (with sim drivers) and bare metal. It has “monitor”, printing lvgl memory use (on bare metal - wia retargeted stdout to USB CDC).
Problem is, memory use difers significantly, while it’s expected to be platform-independent. Here are real value with displayed lists of 6 and 16 elements (with custom drawers):
hw 6 items: [Memory] total: 6144 bytes, free: 4088 bytes, use: 34% (2056) hw 16 items: [Memory] total: 6144 bytes, free: 3088 bytes, use: 50% (3056) sim 6 items: [Memory] total: 6144 bytes, free: 2832 bytes, use: 54% (3312) sim 16 items: [Memory] total: 6144 bytes, free: 1072 bytes, use: 83% (5072)
On bare metal each item adds 100 bytes. On sim - 170 bytes. WTF?
Of cause, PC platform is x64, while stm32 - 32 bits. Can this cause so big difference and if yes, is it possible to workaround? I use sim intensive, and would like it reproduce lvgl pool use more close to real hardware.