Skip to main content

Firmware size analysis for ESP-IDF

Project description

esp-idf-size

In the field of IoT development, memory constraints are a common challenge, often requiring developers to optimize their application size. Whether it involves ensuring the firmware fits within available flash memory or analyzing impact of code changes on the final binary size, effective firmware size management is essential for resource efficiency. The esp-idf-size tool provides developers with the means to explore statically allocated RAM used by the final binary firmware image generated by ESP-IDF SDK for Espressif devices.

The esp-idf-size tool is included in the ESP-IDF and is installed automatically. It can be accessed using the idf.py command or the idf_size.py wrapper. The idf.py command provides access to the most commonly used esp-idf-size commands and automatically sets some options for user convenience, while the idf_size.py wrapper allows full access to all esp-idf-size features. For more information on using esp-idf-size in ESP-IDF, please refer to Minimizing Binary Size.

The esp-idf-size package comes in two versions: legacy and refactored. The refactored version, which is the default version used in ESP_IDF v5.3 and later, retains backward compatibility with the options, making it easy to switch between the two by setting the ESP_IDF_SIZE_NG environment variable, available from ESP-IDF v5.0 onwards. However, the size report output formats are different in the refactored version. You can also use the refactored version by specifying the --ng option or by directly using the esp_idf_size.ng subpackage. Here are some examples of how to use the refactored version:

python -m esp_idf_size --ng --help
python -m esp_idf_size.ng --help
export ESP_IDF_SIZE_NG=1
python -m esp_idf_size --help

For more detailed information about the refactored version, please refer to the documentation available here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

esp-idf-size-1.6.1.tar.gz (71.6 kB view details)

Uploaded Source

Built Distribution

esp_idf_size-1.6.1-py3-none-any.whl (81.3 kB view details)

Uploaded Python 3

File details

Details for the file esp-idf-size-1.6.1.tar.gz.

File metadata

  • Download URL: esp-idf-size-1.6.1.tar.gz
  • Upload date:
  • Size: 71.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.17

File hashes

Hashes for esp-idf-size-1.6.1.tar.gz
Algorithm Hash digest
SHA256 3a48b6d49887892ecfcdf223fee4174a3735280ad12811030cb46fa50a8123fa
MD5 874ee94c3e88c4affceba6d72811025b
BLAKE2b-256 37162baf7e4007f73d8b15bc14902780299566bc5c3eb5494e1c6176ae127095

See more details on using hashes here.

File details

Details for the file esp_idf_size-1.6.1-py3-none-any.whl.

File metadata

  • Download URL: esp_idf_size-1.6.1-py3-none-any.whl
  • Upload date:
  • Size: 81.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.17

File hashes

Hashes for esp_idf_size-1.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b7ca9d7578d2a2af2fb6831477e415d02b0fbcf548bc4e2e43a3617041532580
MD5 969ff97b4c4ceecdf84f2b6f3113b2e3
BLAKE2b-256 5686b90941b49815583cb0e81ebfbd6b63f4a7656a5b981f96202f86596295ce

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page