Forum Replies Created
-
AuthorPosts
-
dedvalsonParticipant
Thanks, that would work ok for me.
Is it possible to create multiple projects as you suggest and keep them in a single VS solution?
Thanks,
Don
dedvalsonParticipantHi,
It took me a long time but I finally got my project converted to CMake. I tried your suggestion above. I had to change EQUAL to STREQUAL but then I ran into a problem I don’t see a way around.
The CMAKE_BUILD_TYPE variable only seems to be able to have predefined values such as DEBUG or MINSIZEREL. These are project level build types. But all I am able to add is solution level builds that then utilize the existing project level build types. When I go to New Solution Configuration the
Create new project configurations
button is disabled. So I have more than one DEBUG build and more than one RELEASE buildSee the attached screenshots.
Really I wouldn’t want to duplicate these anyway, the existing configurations are good and well defined. What I really need is a way to access the current <span style=”text-decoration-line: underline;”>Solution </span>level configuration. However, it does not appear that cmake has any variable that corresponds to that.
I have attached a simple helloworld type project that illustrates the problem. Please let me know if you have a suggestion.
Thanks
Don
Attachments:
You must be logged in to view attached files.dedvalsonParticipantDuhhhh
Thanks !
dedvalsonParticipantHi,
Thanks for your quick response. Unfortunately, I do not see “Show Old Package Versions”. I have attached a screenshot. Am I just being blind or is it not there?
Thanks,
Don
Attachments:
You must be logged in to view attached files.dedvalsonParticipantIt would also be really cool if IntelliSense could see these defines.
dedvalsonParticipantThat did it.
Thanks.
dedvalsonParticipantI left out that after you copy those files you need to run:
/usr/bin/python -m pip install –user -r /esp-idf/master/requirements.txt
Don
dedvalsonParticipantI installed the newer version of VisualGDB as you referenced above. I was able to see no differences other than the drop down menu name change you mentioned above.
However, the command issued by that drop down menu still doesn’t work because it can’t find bash.
I was able to solve the compile problem however.
I created a new msys2 toolchain, ran the commands mentioned in https://www.esp32.com/viewtopic.php?f=13&t=7419 in the msys2 toolchain.
Then I copied the following directories:cffi*
cryptography*
future*from the /lib/python2.7/site-packages folder of the msys2 toolchain to the same folder in the cygwin based toolchain.
Don
dedvalsonParticipantI believe that the primary issue is that I am unable to carryout the work around steps described by espressif at https://www.esp32.com/viewtopic.php?f=13&t=7419 in a cygwin environment. The instruction to work around the problem is:
pacman -S mingw-w64-i686-python2-cryptography
This solves the problem in msys2. However, pacman does not exist in Cygwin. I have not found a suitable replacement that works. I believe that if I could run that command it would fix the problem. pac-syg does not do it, or at least I have not found the command line arguments that will make it work.
Don
dedvalsonParticipantHi,
Thanks for the tip on the Version 5.3 install, stupid mistake.
I still can’t compile anything against the master branch using the toolchain from visualgdb.
I wanted to make everything as clean as possible so I did the following:
1. Deleted all VisualGDB toolchains.
2. Downloaded a new version of the VisualGDB ESP32 toolchain (5.20/7.10/r12 using the Tools | VisualGDB | ManageGDBPackages menu entry in Visual Studio.
3. Created a new ESP32 IDF project based on the “Hello World sample” and using release/3.1 esp-idf version.
4. Built the project. It builds fine.
5. Within the “VisualGDB Properties” dialog I selected “Clone an ESP_IDF release from Github and downloaded the master branch.
6. Changed the project to use this version of ESP-IDF.
7. The project will now not load. The following errors are reported:Loading cached code model from C:\Users\Don\source\repos\EmbeddedProject2\VisualGDBCache\EmbeddedProject2-Debug-VisualGDB\BuildCommandLines.txt…
Failed to parse code model from cached file: System.Exception: ESP-IDF build log did not report any built executables
at y2.c.f_2(IEnumerable1 a)
at a22.b_2()
Checking if any source files need uploading…
C:\SysGCC\esp32\bin\bash.exe –login -c “export IDF_PATH=/esp-idf/master && export BATCH_BUILD=1 && export -n PYTHONHOME && export LANG=en_US && cd /cygdrive/c/Users/Don/source/repos/EmbeddedProject2 && make partition_table BUILD_DIR_BASE=’/cygdrive/c/Users/Don/source/repos/EmbeddedProject2/VisualGDBCache/EmbeddedProject2-Debug-VisualGDB/CodeSenseDir’ SDKCONFIG=’/cygdrive/c/Users/Don/source/repos/EmbeddedProject2/VisualGDBCache/EmbeddedProject2-Debug-VisualGDB/sdkconfig’ V=0 && make -n -k BUILD_DIR_BASE=’/cygdrive/c/Users/Don/source/repos/EmbeddedProject2/VisualGDBCache/EmbeddedProject2-Debug-VisualGDB/CodeSenseDir’ SDKCONFIG=’/cygdrive/c/Users/Don/source/repos/EmbeddedProject2/VisualGDBCache/EmbeddedProject2-Debug-VisualGDB/sdkconfig’ V=0”
Saved the code model to C:\Users\Don\source\repos\EmbeddedProject2\VisualGDBCache\EmbeddedProject2-Debug-VisualGDB\BuildCommandLines.txt
System.Exception: ESP-IDF build log did not report any built executables
at y2.c.f_2(IEnumerable`1 a)
at a22.b_2()
at rr1.h()8. I did a rebuild all but that failed also. The error reported was:
The following Python requirements are not satisfied:
cryptography
Please run “/usr/bin/python -m pip install –user -r /esp-idf/master/requirements.txt” for resolving the issue.
make: *** [/esp-idf/master/make/project.mk:454: check_python_dependencies] Error 19. Tried to select “Open Cygwin Terminal here” using the right click menu option in the Project Explorer. This fails with the error “Failed to run “bash” : no such file or directory”
10. Manually opened a cygwin terminal using the command “C:\sysgcc\esp32\bin\mintty.exe -i /Cygwin-Terminal.ico -”
11 Ran /usr/bin/python -m pip install –user -r /esp-idf/master/requirements.txt as suggested. This failed because it tried to build the package instead of just install (see https://www.esp32.com/viewtopic.php?f=13&t=7419)
12 Tried using the work around suggested by espressif by installing pac-cyg and running ./pac-cyg -S mingw-w64-i686-python2-cryptography this failed.Tried several other methods to get the cryptography package installed into the cygwin environment, but failed in every case.
In any case, it appears that the current toolchain will not work with the master branch without some modification that currently escapes me.Don
dedvalsonParticipantHi,
I have clearly gotten myself confused. I thought I was running the toolchain you provided, not the msys2 environment. The toolchain in my .vdbproj file is pointed to a toolchain I downloaded using visualgdb (5.2.0/7.10/r12). I ran the fixes suggested by Espressif in a minw32 environment, so apparently I was fixing their toolchain, not the one I downloaded. Which makes sense because I still got the failure on compile.
What environment should I have tried to run the python updates in?
Now I really got myself into a bind though because I installed the latest version of VisualGDB while I was at it (5.3R8) and now my visualgdb project won’t open anymore. When I try it returns the not very useful error message:
C:\Users\Don\source\CoralVue\Atlas\VisualGDB\Atlas.vgdbproj : error : There is an error in XML document (4, 4).
I have attached the vgdbproj file. Can you give me some hint what is wrong with it.
Thanks.
dedvalsonParticipantThanks for the help. It turns out this was answered just today over on the espressif forum. I should have posted this there in the first place.
https://www.esp32.com/viewtopic.php?f=13&t=7419
Thanks,
DondedvalsonParticipantHi,
I get the same error on the reference board if I use OpenOCD and interface/ftdi/devkitj_f1. But I don’t get it if I choose USB Devices and ESP32 DevKit.
I have attached two screen shots (I can’t see how to make them display inline. One shows the configuration that works on the reference board, the other shows the configuration that fails every other time on the reference board.
The text of the error is as follows:
VisualGDB is licensed to Don Edvalson at CoralVue Industries
-gdb-version
=thread-group-added,id="i1"
~"GNU gdb (GDB) 7.10\n"
~"Copyright (C) 2015 Free Software Foundation, Inc.\n"
~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law. Type \"show copying\"\nand \"show warranty\" for details.\n"
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
~"This GDB was configured as \"--host=i686-pc-mingw32 --target=xtensa-esp32-elf\".\nType \"show configuration\" for configuration details."
This GDB was configured as "--host=i686-pc-mingw32 --target=xtensa-esp32-elf".
Type "show configuration" for configuration details.
~"\nFor bug reporting instructions, please see:\n"
~"<http://www.gnu.org/software/gdb/bugs/>.\n"
~"Find the GDB manual and other documentation resources online at:\n<http://www.gnu.org/software/gdb/documentation/>.\n"
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
~"For help, type \"help\".\n"
~"Type \"apropos word\" to search for commands related to \"word\"...\n"
~"Reading symbols from c:/Users/Don/source/CoralVue/Atlas/Debug/Atlas.elf..."
~"done.\n"
~"GNU gdb (GDB) 7.10\n"
~"Copyright (C) 2015 Free Software Foundation, Inc.\n"
~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law. Type \"show copying\"\nand \"show warranty\" for details.\n"
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
~"This GDB was configured as \"--host=i686-pc-mingw32 --target=xtensa-esp32-elf\".\nType \"show configuration\" for configuration details."
This GDB was configured as "--host=i686-pc-mingw32 --target=xtensa-esp32-elf".
Type "show configuration" for configuration details.
~"\nFor bug reporting instructions, please see:\n"
~"<http://www.gnu.org/software/gdb/bugs/>.\n"
~"Find the GDB manual and other documentation resources online at:\n<http://www.gnu.org/software/gdb/documentation/>.\n"
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
~"For help, type \"help\".\n"
~"Type \"apropos word\" to search for commands related to \"word\".\n"
^done
-list-features
^done,features=["frozen-varobjs","pending-breakpoints","thread-info","data-read-memory-bytes","breakpoint-notifications","ada-task-info","language-option","info-gdb-mi-command","undefined-command-error-code","exec-run-start-option"]
-gdb-set disassembly-flavor intel
^error,msg="No symbol \"disassembly\" in current context."
-gdb-set print demangle off
^done
set remotetimeout 60
&"set remotetimeout 60\n"
=cmd-param-changed,param="remotetimeout",value="60"
^done
target remote :52349
&"target remote :52349\n"
~"Remote debugging using :52349\n"
=thread-group-started,id="i1",pid="42000"
=thread-created,id="1",group-id="i1"
~"invoke_abort () at /esp-idf/master/components/esp32/panic.c:137\n"
&"137\t/esp-idf/master/components/esp32/panic.c: No such file or directory.\n"
*stopped,frame={addr="0x4008f10f",func="invoke_abort",args=[],file="/esp-idf/master/components/esp32/panic.c",fullname="/esp-idf/master/components/esp32/panic.c",line="137"},thread-id="1",stopped-threads="all"
^done
info shared
&"info shared\n"
~"No shared libraries loaded at this time.\n"
^done
mon reset halt
&"mon reset halt\n"
@"JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)\n"
@"JTAG tap: esp32.cpu1 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)\n"
@"esp32: Debug controller was reset (pwrstat=0x5F, after clear 0x0F).\n"
@"esp32: Core was reset (pwrstat=0x5F, after clear 0x0F).\n"
@"Target halted. PRO_CPU: PC=0x5000004B (active) APP_CPU: PC=0x00000000 \n"
@"esp32: target state: halted\n"
@"esp32: Core was reset (pwrstat=0x1F, after clear 0x0F).\n"
@"Target halted. PRO_CPU: PC=0x40000400 (active) APP_CPU: PC=0x40000400 \n"
@"esp32: target state: halted\n"
^done
mon program_esp32 "c:/Users/Don/source/CoralVue/Atlas/Debug/bootloader/bootloader.bin" 0x1000
&"mon program_esp32 \"c:/Users/Don/source/CoralVue/Atlas/Debug/bootloader/bootloader.bin\" 0x1000\n"
@"JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)\n"
@"JTAG tap: esp32.cpu1 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)\n"
@"esp32: Debug controller was reset (pwrstat=0x5F, after clear 0x0F).\n"
@"esp32: Core was reset (pwrstat=0x5F, after clear 0x0F).\n"
@"Target halted. PRO_CPU: PC=0x5000004B (active) APP_CPU: PC=0x00000000 \n"
@"esp32: target state: halted\n"
@"esp32: Core was reset (pwrstat=0x1F, after clear 0x0F).\n"
@"Target halted. PRO_CPU: PC=0x40000400 (active) APP_CPU: PC=0x40000400 \n"
@"esp32: target state: halted\n"
@"** Programming Started **\n"
@"auto erase enabled\n"
@"no flash bank found for address 1000\n"
@"wrote 0 bytes from file c:/Users/Don/source/CoralVue/Atlas/Debug/bootloader/bootloader.bin in 0.000000s (nan KiB/s)\n"
@"** Programming Finished **\n"
^done
-target-disconnect
=thread-group-exited,id="i1"
^done
-gdb-exit
^exitAttachments:
You must be logged in to view attached files.dedvalsonParticipantThat did it, and showed me where a lot of things I needed are.
Thanks,
Don
dedvalsonParticipantOk, I think I found the issue. The include files in the component were at the top level of the component instead of being in a subdirectory called include. When I moved them it fixed the problem.
Don
-
AuthorPosts