Eight stages tracing a Qt Quick Ultralite application from source through ahead-of-time compilation, into internal and external flash, up into RAM at boot, and out to the display controller. Worked figures come from a 1280×768 CYT4DN cluster build.
float solveIK(const Pose &p) { … 40 lines … }
static const float kArmLength[6] = { 1.2f, 0.9f, … };
static int calibOffset = 42;
static float jointAngle[6];
Rectangle { … } , the object instance itself
construction + property-set code for that tree
Text { text: "SPEED" } , the literal
text: speed * 1.6 , JS binding, now a C++ functor
Image { source: "gauge_bg.png" } , pixel data
gauge_bg.png , large, uncompressed
icon_warn.png , small, boot-critical
Roboto , static engine: baked glyph bitmaps
Roboto , vector engine: subsetted outlines
| Consumer | Region | Fixed at | Reduces heap? |
|---|---|---|---|
| Layer / frame buffers | VRAM | platform init | no, separate region |
| Image / glyph / text caches | VRAM | build config | no, separate region |
| .data + .bss | SRAM | link time | yes |
| Task and core stacks | SRAM | link / RTOS config | yes |
| RAM-resident functions | SRAM / TCM | linker script | yes |
| Free heap | SRAM | whatever survives | the remainder |