ESP32 Toolchain Update

Sysprogs forums Forums VisualGDB ESP32 Toolchain Update

Viewing 11 posts - 1 through 11 (of 11 total)
  • Author
    Posts
  • #10431
    Craftplorer
    Participant

    Hi,

    I updated the esp_idf  to the current github state with your generator tool but when i try to compile the project i fail to link the project.

    Im guessing this is because the toolchain is outdated or am i wrong? How hard would it be for me to update the toolchain and when is the next update planned ?

    Build Output:

     

    1> Linking ../VisualGDB/Debug/EmbeddedProject1…
    1> c:/sysgcc/esp32/bin/../lib/gcc/xtensa-esp32-elf/4.8.5/../../../../xtensa-esp32-elf/bin/ld.exe: cannot find -lcoexist
    1> c:/sysgcc/esp32/bin/../lib/gcc/xtensa-esp32-elf/4.8.5/../../../../xtensa-esp32-elf/bin/ld.exe: cannot find -lcore
    1> c:/sysgcc/esp32/bin/../lib/gcc/xtensa-esp32-elf/4.8.5/../../../../xtensa-esp32-elf/bin/ld.exe: cannot find -lnet80211
    1> c:/sysgcc/esp32/bin/../lib/gcc/xtensa-esp32-elf/4.8.5/../../../../xtensa-esp32-elf/bin/ld.exe: cannot find -lphy
    1> c:/sysgcc/esp32/bin/../lib/gcc/xtensa-esp32-elf/4.8.5/../../../../xtensa-esp32-elf/bin/ld.exe: cannot find -lpp
    1> c:/sysgcc/esp32/bin/../lib/gcc/xtensa-esp32-elf/4.8.5/../../../../xtensa-esp32-elf/bin/ld.exe: cannot find -lrtc
    1> c:/sysgcc/esp32/bin/../lib/gcc/xtensa-esp32-elf/4.8.5/../../../../xtensa-esp32-elf/bin/ld.exe: cannot find -lsmartconfig
    1> c:/sysgcc/esp32/bin/../lib/gcc/xtensa-esp32-elf/4.8.5/../../../../xtensa-esp32-elf/bin/ld.exe: cannot find -lwpa
    1> c:/sysgcc/esp32/bin/../lib/gcc/xtensa-esp32-elf/4.8.5/../../../../xtensa-esp32-elf/bin/ld.exe: cannot find -lwps
    1>collect2.exe : error : ld returned 1 exit status

    • This topic was modified 7 years, 10 months ago by Craftplorer.
    • This topic was modified 7 years, 10 months ago by Craftplorer.
    #10437
    support
    Keymaster

    Hi,

    This happens because the esp-idf repo does not actually contain all the libraries. Instead they are automatically downloaded first time you build a project with it.

    Hence the recommended procedure is to build one of the sample projects from esp-idf on Linux and then copy the esp-idf directory on Windows and try generating a BSP from it.

    We will look into updating our ESP32 toolchain once the esp-idf 2.0 reaches the final release stage.

    #10439
    Craftplorer
    Participant

    Ok thank you. I build it with msys2 and copied it. Now it get another linking error with nvs flash. I tried to add -lstdc++ but this didnt helped. Any idea whats is missing?

    1>—— Build started: Project: EmbeddedProject2, Configuration: Debug VisualGDB ——
    1> Linking ../VisualGDB/Debug/EmbeddedProject2…
    1>VisualGDB\Debug\nvs_item_hash_list.o : error : undefined reference to `operator delete(void*)’
    1>VisualGDB\Debug\nvs_item_hash_list.o : error : undefined reference to `operator new(unsigned int)’
    1> VisualGDB/Debug/nvs_item_hash_list.o: In function `nvs::HashList::clear()’:
    1>C:\SysGCC\esp32\esp32-bsp\esp-idf\components\nvs_flash\src\nvs_item_hash_list.cpp(30): error : undefined reference to `operator delete(void*)’
    1> VisualGDB/Debug/nvs_item_hash_list.o: In function `nvs::HashList::insert(nvs::Item const&, unsigned int)’:
    1>C:\SysGCC\esp32\esp32-bsp\esp-idf\components\nvs_flash\src\nvs_item_hash_list.cpp(53): error : undefined reference to `operator new(unsigned int)’
    1> VisualGDB/Debug/nvs_item_hash_list.o: In function `nvs::HashList::erase(unsigned int)’:
    1>C:\SysGCC\esp32\esp32-bsp\esp-idf\components\nvs_flash\src\nvs_item_hash_list.cpp(80): error : undefined reference to `operator delete(void*)’
    1>VisualGDB\Debug\nvs_pagemanager.o : error : undefined reference to `operator new[](unsigned int)’
    1>VisualGDB\Debug\nvs_pagemanager.o : error : undefined reference to `operator delete[](void*)’
    1> VisualGDB/Debug/nvs_pagemanager.o: In function `nvs::PageManager::load(unsigned int, unsigned int)’:
    1>C:\SysGCC\esp32\esp32-bsp\esp-idf\components\nvs_flash\src\nvs_pagemanager.cpp(24): error : undefined reference to `operator new[](unsigned int)’
    1> VisualGDB/Debug/nvs_pagemanager.o: In function `nvs::PageManager::load(unsigned int, unsigned int)’:
    1>C:\SysGCC\esp32\esp32-bsp\esp-idf\components\nvs_flash\src\nvs_page.hpp(64): error : undefined reference to `operator delete[](void*)’
    1>VisualGDB\Debug\nvs_storage.o : error : undefined reference to `operator delete(void*)’
    1>VisualGDB\Debug\nvs_storage.o : error : undefined reference to `operator new(unsigned int)’
    1> VisualGDB/Debug/nvs_storage.o: In function `nvs::Storage::clearNamespaces()’:
    1>C:\SysGCC\esp32\esp32-bsp\esp-idf\components\nvs_flash\src\nvs_storage.cpp(35): error : undefined reference to `operator delete(void*)’
    1> VisualGDB/Debug/nvs_storage.o: In function `nvs::Storage::~Storage()’:
    1>C:\SysGCC\esp32\esp32-bsp\esp-idf\components\nvs_flash\src\nvs_page.hpp(64): error : undefined reference to `operator delete[](void*)’
    1> VisualGDB/Debug/nvs_storage.o: In function `CompressedEnumTable<bool, 1u, 256u>::set(unsigned int, bool)’:
    1>C:\SysGCC\esp32\esp32-bsp\esp-idf\components\nvs_flash\src\compressed_enum_table.hpp(47): error : undefined reference to `operator new(unsigned int)’
    1>collect2.exe : error : ld returned 1 exit status

    #10443
    support
    Keymaster

    Hi,

    Sorry, when it comes to ESP8266 and ESP32, each new version of the framework comes with its own set of issues, so we only officially support the ones that we retest and repackage. You can try experimenting with different settings and libraries at your own risk to get it to work, or simply wait until we repackage the final esp-idf release and resolve all the issues we discover. As it requires substantial effort on our side to resolve those issues each time, we only do that for major SDK releases. Sorry.

    #10903
    flykickbird
    Participant

    hi, esp32-idf has just released the 2.0, is there any updates, thx.

    #10905
    support
    Keymaster

    Thanks, we will check it out and release an updated toolchain within the next month.

    #11120
    MrZANE
    Participant

    That sounds great.

    I am possibly going to use the ESP32 to an important project in about a months time.
    It would be really great if you could also check out the newly implemented trace functionality (about a week old) and see if you could integrate this in a way so it works with visual studio/visual gdb.
    This would help alleviate debugging with regards to the restricted breakpoint functionallity in the ESP32.

    Thanks in advance

    #11121
    support
    Keymaster

    Hi,

    We have done some further research into ESP-IDF 2.0 and it looks like some changes to it totally break JTAG debugging and FLASH programming, so it may take us some extra time to fully figure it out.

    We will have a quick look into the ESP32 tracing functionality and will assess whether it is stable enough to be supported via VisualGDB.

    #11122
    MrZANE
    Participant

     

    Ok, Sounds like a little bit more work then 😉
    I’m confident you’ll work it out, I just have to hope it’s in place when I (hopefully) get the project.

    Best of luck.

    #11136
    EndlessDelirium
    Participant

    Any news? Would also be rather interested in an update.

    #11189
    support
    Keymaster

    Yes, we have just released the new toolchain.

    Note that it requires a few extra configuration steps, so please follow the updated ESP32 tutorial to get started with it.

Viewing 11 posts - 1 through 11 (of 11 total)
  • You must be logged in to reply to this topic.