question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[Bug Report]: ESP-IDF: size analysis of binaries command invalid (VSC-753)

See original GitHub issue

Pre Bug Report Checklist Before reporting any bug please make sure of these points.

  • Make sure you have searched for existing bugs and features request before you post an issue.
  • This is a bug report for the ESP-IDF Visual Studio Code extension and not an ESP-IDF bug report.
  • I’ve read the docs and found no information that could have helped solving the issue.

Describe the bug ESP-IDF: size analysis of binaries command is invalid after building the project

To Reproduce

  1. Build the project
  2. press F1 and select ESP-IDF: size analysis of binaries

Expected behavior ESP-IDF: size analysis of binaries command can work as expected

Screenshots image

Environment (please complete the following information):

  • OS Name & Version: win10
  • VSCode Version: 1.60.0
  • ESP-IDF Version: master branch
  • Python Version: 3.8.7

NOTE: You can use the ESP-IDF: Doctor command to generate a report of your configuration.

Output


---------------------------------------------- ESP-IDF Extension for Visual Studio Code report ---------------------------------------------
OS win32 x64 10.0.19042 
System environment variable IDF_PYTHON_ENV_PATH 
 undefined 
System environment variable PATH 
 D:\Python39\Scripts\;D:\Python39\;%ALLEGRO_BRD2ODB%\nv\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;c:\Program Files (x86)\HP\HP Performance Advisor;D:\PuTTY\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Bin\;C:\Program Files\IVI Foundation\VISA\Win64\Bin\;C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Bin;D:\Git\cmd;C:\Program Files (x86)\STMicroelectronics\STM32 ST-LINK Utility\ST-LINK Utility;C:\Program Files (x86)\IVI Foundation\IVI\bin;C:\Program Files\IVI Foundation\IVI\bin;D:\CMake\bin;C:\Program Files\Nordic Semiconductor\nrf-command-line-tools\bin\;D:\doxygen\bin;D:\Mscgen;D:\stlink-1.3.0-win64\bin;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\ProgramData\chocolatey\bin;D:\nodejs\;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;C:\Users\wireless_tech\AppData\Local\Microsoft\WindowsApps;D:\Microsoft VS Code\bin;C:\Users\wireless_tech\AppData\Roaming\npm 
System environment variable PYTHON 
 undefined 
Visual Studio Code version 1.60.0 
Visual Studio Code language en 
Visual Studio Code shell C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe 
ESP-IDF Extension version 1.2.0 
---------------------------------------------------- Extension configuration settings ------------------------------------------------------
ESP-ADF Path (idf.espAdfPath) ${env:ADF_PATH}
ESP-IDF Path (idf.espIdfPath) F:/BLE_WIFI/Espressif/SDK/esp-idf-c3/
ESP-MDF Path (idf.espMdfPath) ${env:MDF_PATH}
Custom extra paths (idf.customExtraPaths) F:\Tools\Espressif\IDF_Tools\.espressif\tools\xtensa-esp32-elf\esp-2021r1-8.4.0\xtensa-esp32-elf\bin;F:\Tools\Espressif\IDF_Tools\.espressif\tools\xtensa-esp32s2-elf\esp-2021r1-8.4.0\xtensa-esp32s2-elf\bin;F:\Tools\Espressif\IDF_Tools\.espressif\tools\xtensa-esp32s3-elf\esp-2021r1-8.4.0\xtensa-esp32s3-elf\bin;F:\Tools\Espressif\IDF_Tools\.espressif\tools\riscv32-esp-elf\esp-2021r1-8.4.0\riscv32-esp-elf\bin;F:\Tools\Espressif\IDF_Tools\.espressif\tools\esp32ulp-elf\2.28.51-esp-20191205\esp32ulp-elf-binutils\bin;F:\Tools\Espressif\IDF_Tools\.espressif\tools\esp32s2ulp-elf\2.28.51-esp-20191205\esp32s2ulp-elf-binutils\bin;F:\Tools\Espressif\IDF_Tools\.espressif\tools\cmake\3.20.3\bin;F:\Tools\Espressif\IDF_Tools\.espressif\tools\openocd-esp32\v0.10.0-esp32-20210401\openocd-esp32\bin;F:\Tools\Espressif\IDF_Tools\.espressif\tools\ninja\1.10.2;F:\Tools\Espressif\IDF_Tools\.espressif\tools\idf-exe\1.0.1;F:\Tools\Espressif\IDF_Tools\.espressif\tools\ccache\4.3\ccache-4.3-windows-64;F:\Tools\Espressif\IDF_Tools\.espressif\tools\dfu-util\0.9\dfu-util-0.9-win64
Custom extra vars (idf.customExtraVars) {"OPENOCD_SCRIPTS":"F:\\Tools\\Espressif\\IDF_Tools\\.espressif\\tools\\openocd-esp32\\v0.10.0-esp32-20210401/openocd-esp32/share/openocd/scripts","IDF_CCACHE_ENABLE":"1"}
Virtual env Python Path (idf.pythonBinPath) F:/Tools/Espressif/IDF_Tools/.espressif/python_env/idf4.4_py3.8_env/Scripts/python.exe
Serial port (idf.port) COM35
OpenOCD Configs (idf.openOcdConfigs) board/esp32c3-builtin.cfg
ESP-IDF Tools Path (idf.toolsPath) F:\Tools\Espressif\IDF_Tools\.espressif
Git Path (idf.gitPath) F:/Tools/Espressif/IDF_Tools/.espressif/tools/idf-git/2.30.1/cmd/git.exe
-------------------------------------------------------- Configurations access -------------------------------------------------------------
Access to ESP-ADF Path (idf.espAdfPath) false
Access to ESP-IDF Path (idf.espIdfPath) true
Access to ESP-MDF Path (idf.espMdfPath) false
Access to ESP-IDF Custom extra paths
Access to F:\Tools\Espressif\IDF_Tools\.espressif\tools\xtensa-esp32-elf\esp-2021r1-8.4.0\xtensa-esp32-elf\bin: true
Access to F:\Tools\Espressif\IDF_Tools\.espressif\tools\xtensa-esp32s2-elf\esp-2021r1-8.4.0\xtensa-esp32s2-elf\bin: true
Access to F:\Tools\Espressif\IDF_Tools\.espressif\tools\xtensa-esp32s3-elf\esp-2021r1-8.4.0\xtensa-esp32s3-elf\bin: true
Access to F:\Tools\Espressif\IDF_Tools\.espressif\tools\riscv32-esp-elf\esp-2021r1-8.4.0\riscv32-esp-elf\bin: true
Access to F:\Tools\Espressif\IDF_Tools\.espressif\tools\esp32ulp-elf\2.28.51-esp-20191205\esp32ulp-elf-binutils\bin: true
Access to F:\Tools\Espressif\IDF_Tools\.espressif\tools\esp32s2ulp-elf\2.28.51-esp-20191205\esp32s2ulp-elf-binutils\bin: true
Access to F:\Tools\Espressif\IDF_Tools\.espressif\tools\cmake\3.20.3\bin: true
Access to F:\Tools\Espressif\IDF_Tools\.espressif\tools\openocd-esp32\v0.10.0-esp32-20210401\openocd-esp32\bin: true
Access to F:\Tools\Espressif\IDF_Tools\.espressif\tools\ninja\1.10.2: true
Access to F:\Tools\Espressif\IDF_Tools\.espressif\tools\idf-exe\1.0.1: true
Access to F:\Tools\Espressif\IDF_Tools\.espressif\tools\ccache\4.3\ccache-4.3-windows-64: true
Access to F:\Tools\Espressif\IDF_Tools\.espressif\tools\dfu-util\0.9\dfu-util-0.9-win64: true
Access to Virtual env Python Path (idf.pythonBinPath) true
Access to CMake in environment PATH undefined
Access to Ninja in environment PATH undefined
Access to ESP-IDF Tools Path (idf.toolsPath) true
----------------------------------------------------------- Executables Versions -----------------------------------------------------------
Git version 2.30.1.windows.1
ESP-IDF version 4.4
Python version 3.8.7
Python's pip version 20.3.3
-------------------------------------------------- Python packages in idf.pythonBinPath ----------------------------------------------------
bitstring version: 3.1.7
Brotli version: 1.0.9
certifi version: 2021.5.30
cffi version: 1.14.5
charset-normalizer version: 2.0.3
click version: 8.0.1
colorama version: 0.4.4
construct version: 2.10.54
contextlib2 version: 21.6.0
cryptography version: 3.4.7
ecdsa version: 0.17.0
esp-windows-curses version: 0.1
Flask version: 0.12.5
Flask-Compress version: 1.9.0
Flask-SocketIO version: 2.9.6
future version: 0.18.2
gcovr version: 5.0
gdbgui version: 0.13.2.0
gevent version: 1.5.0
greenlet version: 1.1.0
idf-component-manager version: 0.2.100b0
idna version: 3.2
itsdangerous version: 2.0.1
Jinja2 version: 3.0.1
kconfiglib version: 13.7.1
lxml version: 4.6.3
MarkupSafe version: 2.0.1
pip version: 20.3.3
psutil version: 5.8.0
pycparser version: 2.20
pyelftools version: 0.27
pygdbmi version: 0.9.0.2
Pygments version: 2.9.0
pyparsing version: 2.3.1
pyserial version: 3.5
python-engineio version: 3.14.2
python-socketio version: 4.6.1
pywin32 version: 301
PyYAML version: 5.4.1
reedsolo version: 1.5.4
requests version: 2.26.0
requests-toolbelt version: 0.9.1
schema version: 0.7.4
semantic-version version: 2.8.5
setuptools version: 57.4.0
six version: 1.16.0
tqdm version: 4.61.2
urllib3 version: 1.26.6
websocket-client version: 1.2.1
Werkzeug version: 0.16.1
wheel version: 0.36.2
windows-curses version: 2.2.0
xmlrunner version: 1.7.7
---------------------------------------------------- Check ESP-IDF python requirements.txt -------------------------------------------------
Check ESP-IDF Python packages Python requirements from F:\BLE_WIFI\Espressif\SDK\esp-idf-c3\requirements.txt are satisfied.
---------------------------------------------------- Check extension requirements.txt ------------------------------------------------------
Check Extension Python packages Python requirements from c:\Users\wireless_tech\.vscode\extensions\espressif.esp-idf-extension-1.2.0\requirements.txt are satisfied.
---------------------------------------------------- Check ESP-IDF debug adapter requirements.txt ------------------------------------------
Check Debug AdapterPython packages Python requirements from c:\Users\wireless_tech\.vscode\extensions\espressif.esp-idf-extension-1.2.0\esp_debug_adapter\requirements.txt are satisfied.
---------------------------------------------------- Visual Studio Code launch.json --------------------------------------------------------
{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "espidf",
      "name": "Launch",
      "request": "launch"
    }
  ]
} 
---------------------------------------------------- Visual Studio Code c_cpp_properties.json ----------------------------------------------
{
    "configurations": [
        {
            "name": "ESP-IDF",
            "compilerPath": "F:\\Tools\\Espressif\\IDF_Tools\\.espressif\\tools\\riscv32-esp-elf\\esp-2021r1-8.4.0\\riscv32-esp-elf\\bin\\riscv32-esp-elf-gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "includePath": [
                "${config:idf.espIdfPath}/components/**",
                "${config:idf.espIdfPathWin}/components/**",
                "${config:idf.espAdfPath}/components/**",
                "${config:idf.espAdfPathWin}/components/**",
                "${workspaceFolder}/**"
            ],
            "browse": {
                "path": [
                    "${config:idf.espIdfPath}/components",
                    "${config:idf.espIdfPathWin}/components",
                    "${config:idf.espAdfPath}/components/**",
                    "${config:idf.espAdfPathWin}/components/**",
                    "${workspaceFolder}"
                ],
                "limitSymbolsToIncludedHeaders": false
            },
            "compileCommands": "${workspaceFolder}/build/compile_commands.json"
        }
    ],
    "version": 4
} 
--------------------------------------------------------------------------------------------------------------------------------------------

Logs

esp_idf_vsc_ext.log

Additional context NULL

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:28 (16 by maintainers)

github_iconTop GitHub Comments

1reaction
xiaolongbacommented, Oct 22, 2021

Hi @brianignacio5 Bro,

To keep align with the other SoCs, can I consider them simply like this:

  1. the total used flash size = "used_flash_non_ram": 259976,
  2. the total used ram size = "used_diram": 54404,
1reaction
igrrcommented, Oct 12, 2021

Basically for chips with separated D- and I-RAM spaces (like ESP32) dram* and iram* fields in the json output will be set. For chips with single region for both D- and I-RAM, diram* fields will be set.

In the former case we can display the used RAM as two bars:

DRAM  [#########-----------]
IRAM  [######--------------]

In the latter case we can display the used RAM as a single bar, because both data and code size occupy the same total amount of RAM:

D/IRAM  [######@@@@@--------]
         ^     ^         ^
     code      data     free

(or something along these lines)

Read more comments on GitHub >

github_iconTop Results From Across the Web

[Bug Report]: Invalid ESP-IDF (VSC-592) #346
The installed completed and now in my project builds ok. I like the sdk config screen and not having to keep switching between...
Read more >
Minimizing Binary Size - ESP32 - — ESP-IDF Programming ...
Total image size is the estimated total binary file size, which is the total of all the used memory types except for .bss....
Read more >
Can we reduce ESP IDF boiler plate size?
Analysis. Size for code obtained by running stat --format="%s" main/main.c. All Sizes are in Bytes
Read more >
Espressif IDF - Visual Studio Marketplace
Extension for Visual Studio Code - Develop and debug applications for Espressif ESP32, ESP32-S2 chips with ESP-IDF.
Read more >
esptool.py — Sming documentation
Use esptool.py -h to see a summary of all available commands and command line ... (This is not necessary if using ESP-IDF for...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found