# 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](https://github.com/espressif/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](https://docs.espressif.com/projects/esp-idf/en/stable/api-guides/performance/size.html).
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:
```sh
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](esp_idf_size/ng/docs/readme.md).
Raw data
{
"_id": null,
"home_page": "https://github.com/espressif/esp-idf-size",
"name": "esp-idf-size",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "espressif, embedded, project, size",
"author": "Espressif Systems",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/37/16/2baf7e4007f73d8b15bc14902780299566bc5c3eb5494e1c6176ae127095/esp-idf-size-1.6.1.tar.gz",
"platform": null,
"description": "# esp-idf-size\n\nIn the field of IoT development, memory constraints are a common challenge,\noften requiring developers to optimize their application size. Whether it\ninvolves ensuring the firmware fits within available flash memory or analyzing\nimpact of code changes on the final binary size, effective firmware size\nmanagement is essential for resource efficiency. The esp-idf-size tool\nprovides developers with the means to explore statically allocated RAM used by\nthe final binary firmware image generated by\n[ESP-IDF](https://github.com/espressif/esp-idf) SDK for Espressif devices.\n\nThe `esp-idf-size` tool is included in the ESP-IDF and is installed\nautomatically. It can be accessed using the `idf.py` command or the\n`idf_size.py` wrapper. The `idf.py` command provides access to the most\ncommonly used `esp-idf-size` commands and automatically sets some options for\nuser convenience, while the `idf_size.py` wrapper allows full access to all\n`esp-idf-size` features. For more information on using `esp-idf-size` in\nESP-IDF, please refer to\n[Minimizing Binary Size](https://docs.espressif.com/projects/esp-idf/en/stable/api-guides/performance/size.html).\n\n\nThe `esp-idf-size` package comes in two versions: legacy and refactored. The\nrefactored version, which is the default version used in ESP_IDF v5.3 and\nlater, retains backward compatibility with the options, making it easy to\nswitch between the two by setting the `ESP_IDF_SIZE_NG` environment variable,\navailable from ESP-IDF v5.0 onwards. However, the size report output\nformats are different in the refactored version. You can also use the\nrefactored version by specifying the `--ng` option or by directly using the\n`esp_idf_size.ng` subpackage. Here are some examples of how to use the\nrefactored version:\n\n```sh\npython -m esp_idf_size --ng --help\npython -m esp_idf_size.ng --help\nexport ESP_IDF_SIZE_NG=1\npython -m esp_idf_size --help\n```\n\nFor more detailed information about the refactored version, please refer to the\ndocumentation available [here](esp_idf_size/ng/docs/readme.md).\n",
"bugtrack_url": null,
"license": null,
"summary": "Firmware size analysis for ESP-IDF",
"version": "1.6.1",
"project_urls": {
"Homepage": "https://github.com/espressif/esp-idf-size"
},
"split_keywords": [
"espressif",
" embedded",
" project",
" size"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5686b90941b49815583cb0e81ebfbd6b63f4a7656a5b981f96202f86596295ce",
"md5": "969ff97b4c4ceecdf84f2b6f3113b2e3",
"sha256": "b7ca9d7578d2a2af2fb6831477e415d02b0fbcf548bc4e2e43a3617041532580"
},
"downloads": -1,
"filename": "esp_idf_size-1.6.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "969ff97b4c4ceecdf84f2b6f3113b2e3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 81343,
"upload_time": "2024-11-10T08:05:16",
"upload_time_iso_8601": "2024-11-10T08:05:16.834230Z",
"url": "https://files.pythonhosted.org/packages/56/86/b90941b49815583cb0e81ebfbd6b63f4a7656a5b981f96202f86596295ce/esp_idf_size-1.6.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "37162baf7e4007f73d8b15bc14902780299566bc5c3eb5494e1c6176ae127095",
"md5": "874ee94c3e88c4affceba6d72811025b",
"sha256": "3a48b6d49887892ecfcdf223fee4174a3735280ad12811030cb46fa50a8123fa"
},
"downloads": -1,
"filename": "esp-idf-size-1.6.1.tar.gz",
"has_sig": false,
"md5_digest": "874ee94c3e88c4affceba6d72811025b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 71571,
"upload_time": "2024-11-10T08:05:17",
"upload_time_iso_8601": "2024-11-10T08:05:17.849479Z",
"url": "https://files.pythonhosted.org/packages/37/16/2baf7e4007f73d8b15bc14902780299566bc5c3eb5494e1c6176ae127095/esp-idf-size-1.6.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-10 08:05:17",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "espressif",
"github_project": "esp-idf-size",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "esp-idf-size"
}