# Analysing Static Footprint

DevFeed: [Analysing Static Footprint](<https://devfeed.tech/articles/analysing-static-footprint-13804.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/analysing-static-footprint/>)

Author: John Lee

Published: 2018-05-13T00:00:00Z

Content type: tutorial

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [ESP32](<https://devfeed.tech/topics/esp32.md>), [Embedded Software Dev](<https://devfeed.tech/topics/embedded-software-dev.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>), [Utility Software](<https://devfeed.tech/topics/utility.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [build-system](<https://devfeed.tech/tags/build-system.md>), [building-products](<https://devfeed.tech/tags/building-products.md>), [code](<https://devfeed.tech/tags/code.md>), [esp32](<https://devfeed.tech/tags/esp32.md>), [firmware](<https://devfeed.tech/tags/firmware.md>), [make](<https://devfeed.tech/tags/make.md>)

## AI overview

This tutorial explains how to analyze the static memory footprint of ESP32 application firmware. It introduces the IDF idf_size.py utility and build targets such as size-components, then describes footprint categories including DRAM data, BSS, IRAM, flash code, and flash read-only data.

## Source excerpt

The ESP32 is equipped with a 512KB of SRAM. While this may seem quite small, it can pack a lot of punch in this compact form if used well. As we use the various components and its features in our application firmware, the linker pulls in different functions and variables from these components. The linker will typically optimise out entities that aren't being used (or referenced) from the current application firmware.