Commit Graph
17 Commits
Author SHA1 Message Date
Djordje Nedic c6bd0ded16 fix(tools): Detect Nix use and work around it for installation
Nix will create a new derivation in the store for python packages,
which leads to mismatch between the system prefixes, invalidating a
widely used check for being in a virtual environment.
This adds a Nix-specific fix for virtualenv detection.

Closes https://github.com/espressif/esp-idf/pull/14435
2024-10-22 00:19:14 +02:00
Djordje Nedic 04dba7a80d Merge branch 'fix/esp32_p4_lp_reserved_seg_fix' into 'master'
fix: Fix ESP32-P4 lp_reserved_seg origin

See merge request espressif/esp-idf!26663
2023-10-26 10:32:02 +08:00
Djordje Nedic e32bdb66e3 fix: Fix ESP32-P4 lp_reserved_seg origin
Apparently, this part of the linker script was copied from elsewhere
and the origin was not corrected.
2023-10-25 08:09:33 +02:00
Djordje Nedic 3e0f612a7e tools: Move out idf_size.py in favour of using the esp-idf-size package
This commit removes all idf_size.py files and references to them and adds esp-idf-size as a dependency and adequate wrappers to avoid breaking changes.
2023-03-27 19:40:33 +02:00
Djordje Nedic 29e8025750 docs: Simplify OpenOCD udev rules instructions for manual Linux installation
Instead of pointing the user to the OpenOCD documentation, we simply instruct them to copy a single file and point them directly to it.
2023-03-08 13:49:21 +01:00
Djordje Nedic 17d1e9ae36 bugfix: Fix windows path case sensitivity
This commit fixes an issue where paths on Windows are case insensitive, for instance when setting the build folder its name would be converted to lowercase.

The culprit is our realpath() function, that was calling os.path.normcase() internally, since we are removing that call it makes sense to just remove the function entirely and call os.path.realpath() wherever necessary.

Closes https://github.com/espressif/esp-idf/issues/10282
2023-01-17 20:51:46 +01:00
Djordje Nedic 7cf3e284f5 Fix idf_size.py archives diff display when using the CSV output mode
This commit fixes two issues:
1. Part of the header containing annotations for curr, reference and diff values for archive diffs wasn't formatted correctly
2. Only one third of the values in the table were displayed because of the wrong line format
2023-01-13 23:04:40 +01:00
Djordje Nedic 370bc8a59d tools: Add tests for idf_size.py esp32c6 output
This MR adds tests for idf_size.py support for the esp32c6 chip.
2022-12-21 20:11:08 +01:00
Djordje Nedic 0810dd20e8 idf_size.py: Fix issue where diram size was halved in cases where iram was not fully filled with cache
This fixes an attempted fix for diram size calculation where it was counted twice, however the fix did not account for cases where iram was not fully filled with cache and therefore was of non 0 size.
Now the calculation should be correct regardless of the cache size.

Closes https://github.com/espressif/esp-idf/issues/9960
2022-11-28 10:47:32 +01:00
Djordje Nedic ebb6c2e77b tools: Move out kconfig_new in favour of using the esp-idf-kconfig package
This commit removes all kconfig_new files and references to them and adds esp-idf-kconfig as a dependency and adequate wrappers to avoid breaking changes.
2022-11-15 21:19:51 +01:00
Djordje Nedic 09e61e8a23 tools: Add --output-file argument to idf.py size commands
This commit ads the corresponding --output-file option from idf_size.py to idf.py.

This is needed because piping the idf.py size output to a file would result in CMake output being present in the file as well.
2022-09-27 15:41:36 +02:00
Djordje Nedic 5ee663d592 tools: Add CSV support to idf_size.py
This adds CSV support to idf_size.py and idf.py size actions and using the --format argument which accepts 'text', 'json' or 'csv' as input.

idf_size.py --json argument is deprecated but left to avoid a breaking change.

For idf.py size actions OUTPUT_JSON environment variable set at configuration time is overriden at target build time if --format is used.

Additionally, this commit refactors big parts of code, unified usage of json_dict and manually generated dictionaries for textual output and improves code quality in many parts.
2022-08-26 15:34:21 +02:00
Djordje Nedic 0331d0aa63 tools: Introduce support for blank lines in config and value files for mfg utility
Some users have requested this feature.

In order to avoid complete refactoring or introducing more code complexity, a design choice to create temporary files without blank lines is made.

Additionally, an extension check is added and there are multiple smaller code style and structure improvements.

Closes https://github.com/espressif/esp-idf/issues/8421
2022-07-08 13:22:35 +00:00
Djordje Nedic bbc3add0e3 tools: overhaul csv handling for mfg_gen and nvs_partition_gen
This fixes the issue where multiline strings and strings with delimiters inside the nvs input csv file were incorrectly parsed, and adds back the ability to add comment lines anywhere in the CSV file.

The issue stems from the move away from the python built in csv module to manual parsing, which was made after moving away from using the csv module to parse mfg data.

This reverts back to using the csv module for parsing and writing csv data in both mfg_gen and nvs_partition_gen, fixes the original issue in mfg_gen and improves code quality which makes the code more readable and maintainable.

Closes https://github.com/espressif/esp-idf/issues/7175
2022-06-15 12:31:49 +00:00
Djordje Nedic facab8c5a7 tools: Increase the minimal supported CMake version to 3.16
This updates the minimal supported version of CMake to 3.16, which in turn enables us to use more CMake features and have a cleaner build system.
This is the version that provides most new features and also the one we use in our latest docker image for CI.
2022-06-01 06:35:02 +00:00
Djordje Nedic 2ee43cf6c4 tools: Update CMake
This updates CMake to the latest version (3.23).
There are no deprecations and feature removals that affect us going from the previous version:

https://cmake.org/cmake/help/latest/release/3.21.html#deprecated-and-removed-features

https://cmake.org/cmake/help/latest/release/3.22.html#deprecated-and-removed-features

https://cmake.org/cmake/help/latest/release/3.23.html#deprecated-and-removed-features

Closes https://github.com/espressif/esp-idf/issues/8821
2022-05-17 05:06:35 +00:00
Djordje Nedic 11f3898e33 tools: Fix cmake variable propagation
This fixes the issue where component CMAKE variables propagate by default to the entire project, for instance compiler flags.
Useful for when you want to have component specific compiler flags or defines.

Closes https://github.com/espressif/esp-idf/pull/8806
Closes https://github.com/espressif/esp-idf/issues/8881
2022-05-16 16:55:34 +02:00