Sysprogs forums › Forums › VisualGDB › mBedos import issue
- This topic has 26 replies, 3 voices, and was last updated 6 years, 1 month ago by maras.
-
AuthorPosts
-
November 8, 2018 at 11:54 #22636marasParticipant
Unfortunatly your new mbed support don’t work correctly. Yesterday I tried more than 10 times create new Blinky project and clone my working project from mbed online repository, but almost always it ended with error like this:
System.Exception: Mbed project did not report any binaries
at mu.a(String a, IEnumerable`1 b)
at vb2.c.e_2(IEnumerable`1 a)
at zr1.f_2()
at ns1.k()Today I tried make all this attempts on new PC, which not had any tools like Visual Studio. I make fresh installation of all needed software, but nothing changes. Only once I was able to receive working Blinky solution, but I really don’t know how. I kept a copy like a treasure.
I am waiting impatiently for the promised tutorial. I hope there will be exact environment and toolchain configuration instructions in it.
- This reply was modified 6 years, 1 month ago by maras.
November 8, 2018 at 17:27 #22638supportKeymasterHi,
It looks like your project structure might be different from what VisualGDB expects, hence it does not manage to parse it.
VisualGDB handles advanced mbed projects by temporarily replacing the toolchain with a dummy one that pretends to build all the sources, while creating a full log of all gcc/ld invocations, so VisualGDB can reconstruct the project structure from them. Most likely something about your project setup is preventing this from working.
We should be able to update VisualGDB to support it if you could share the following files under your project directory:
- VisualGDBCache\<configuration>\CodeSenseDir\MbedCommandLines.txt
- VisualGDBCache\<configuration>\BuildCommandLines.txt
November 8, 2018 at 18:06 #22639marasParticipantFiles from latest attempt of creating new Blinky project in attachment. MbedCommandLines is empty
Except CommandLine files, I attach also copy of VS Output Console, in the end of this file you can see error.
Despite the error, it works, I run .bin file and LED flashes 🙂 But can’t make anything with this project.
Here you are also zipped folder with complete solution if necessary: https://cloud.damir.pl/index.php/s/XoG96lyCrO7yh2h/download
Attachments:
You must be logged in to view attached files.November 9, 2018 at 00:39 #22646supportKeymasterHi,
OK, thanks for sharing this. Looks like we know what is going on. Your project likely explicitly stores the ARM toolchain location and VisualGDB is unable to override it with the dummy toolchain that produces a code model. We should be able to add a workaround for this. Would you be able to attach a copy of your mbed configuration files (*.py and *.json from the project’s directory)?
November 9, 2018 at 07:13 #22649marasParticipantmbed_settings.py attached, I don’t have any *.json file in main directory.
The whole project you can download from: https://cloud.damir.pl/index.php/s/XoG96lyCrO7yh2h/download
November 9, 2018 at 07:15 #22650November 9, 2018 at 23:49 #22658supportKeymasterHi,
Thanks, please try this build: http://sysprogs.com/files/tmp/VisualGDB-5.4.9.2562.msi
November 10, 2018 at 11:54 #22659marasParticipantNot all works good.
To be absolutely sure that I do not have a mess in the system, I uninstalled all toolchains, mbed clients, VisualGDB, …, and installed only GNU Arm Embedded Toolchain from ARM and VisualGDB. I tried and again error. But I foud that I had global config variable GCC_ARM_PATH for mbed set to Eclipse GCC ARM toolchain, I unseted this variable in global config (mbed -G -U GCC_ARM_PATH) and from this moment I can create new Blinky project, compile it and run. It looks like it works correctly, but I see that VisualGDB mbed should allow the work of various tools with its own configurations.Then I tried to import my existing project from Online Mbed Compiler. Creator of import ran correctly, but in the end I have error:
Building project NUCLEO-F429ZI-Cayenne-WIFI (NUCLEO_F429ZI, GCC_ARM)
Scan: .
Saved the code model to C:\Users\mares\source\repos\NUCLEO-F429ZI-Cayenne-WIFI\NUCLEO-F429ZI-Cayenne-WIFI\VisualGDBCache\NUCLEO-F429ZI-Cayenne-WIFI-Debug-NUCLEO_F429ZI\BuildCommandLines.txt
System.Exception: Mbed project did not report any binaries
at z2.b(String b, IEnumerable`1 a)
at qo.p.k_2(IEnumerable`1 a)
at t62.g_4()
at ty1.p()And in BuildCommandLines.txt i have only this:
Building project NUCLEO-F429ZI-Cayenne-WIFI (NUCLEO_F429ZI, GCC_ARM)
Scan: .
Scan: mbed
Scan: env
Scan: FEATURE_LWIP
[ERROR] path is on drive , start on drive C:
[mbed] ERROR: “c:\python27\python.exe” returned error.
Code: 1
Path: “C:\Users\mares\source\repos\NUCLEO-F429ZI-Cayenne-WIFI\NUCLEO-F429ZI-Cayenne-WIFI”
Command: “c:\python27\python.exe -u C:\Users\mares\source\repos\NUCLEO-F429ZI-Cayenne-WIFI\NUCLEO-F429ZI-Cayenne-WIFI\mbed-os\tools\make.py -t GCC_ARM -m NUCLEO_F429ZI –profile mbed-os/tools/profiles/debug.json –source . –build VisualGDBCache/NUCLEO-F429ZI-Cayenne-WIFI-Debug-NUCLEO_F429ZI/CodeSenseDir”
Tip: You could retry the last command with “-v” flag for verbose output
—I don’t understand what meanning this error: [ERROR] path is on drive , start on drive C:
November 10, 2018 at 13:04 #22662marasParticipantNow I tried create new Bliky LED, but with another name. Unfotunately error:
BuildCommandLines.txt :
[mbed] Auto-installing missing Python modules…
[Warning] C:\Users\mares\source\repos\NUCLEO-F429ZI-Cayenne-WIFI\NUCLEO-F429ZI-Cayenne-WIFI::: Compiler version mismatch: Could not detect version; expected version >= 6.0.0 and < 7.0.0
Building project NUCLEO-F429ZI-Cayenne-WIFI (NUCLEO_F429ZI, GCC_ARM)
Scan: NUCLEO-F429ZI-Cayenne-WIFI
Traceback (most recent call last):
File “C:\Users\mares\source\repos\NUCLEO-F429ZI-Cayenne-WIFI\NUCLEO-F429ZI-Cayenne-WIFI\mbed-os\tools\make.py”, line 331, in <module>
**default_args_dict(options)
File “C:\Users\mares\source\repos\NUCLEO-F429ZI-Cayenne-WIFI\NUCLEO-F429ZI-Cayenne-WIFI\mbed-os\tools\make.py”, line 85, in wrapped_build_project
print(“[ERROR] %s” % str(e))
File “c:\python27\lib\site-packages\future\types\newstr.py”, line 102, in __new__
return super(newstr, cls).__new__(cls, value)
UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xb9 in position 46: ordinal not in range(128)
[mbed] ERROR: “c:\python27\python.exe” returned error.
Code: 1
Path: “C:\Users\mares\source\repos\NUCLEO-F429ZI-Cayenne-WIFI\NUCLEO-F429ZI-Cayenne-WIFI”
Command: “c:\python27\python.exe -u C:\Users\mares\source\repos\NUCLEO-F429ZI-Cayenne-WIFI\NUCLEO-F429ZI-Cayenne-WIFI\mbed-os\tools\make.py -t GCC_ARM -m NUCLEO_F429ZI –profile mbed-os/tools/profiles/debug.json –source . –build VisualGDBCache/NUCLEO-F429ZI-Cayenne-WIFI-Debug-NUCLEO_F429ZI/CodeSenseDir”
Tip: You could retry the last command with “-v” flag for verbose output
—November 10, 2018 at 13:10 #22663marasParticipantI tried one more time, but give another name to new solution “N429ZICayenneWIFI” and have working project.
Can’t add dashes to name ???One more question. How to exclude a component from build ? I want exclude \mbed-os\components\wifi\esp8266-driver because is buggy and I have my own driver.
- This reply was modified 6 years, 1 month ago by maras.
November 12, 2018 at 21:14 #22696supportKeymasterHi,
Unfortunately, the global mbed setting for the toolchain location overrides the setting passed by VisualGDB. We have updated VisualGDB to clear the global setting when configuring the projects in this build: http://sysprogs.com/files/tmp/VisualGDB-5.4.9.2564.msi
If you would like to have a global toolchain setting nontheless, please define the GCC_ARM_PATH environment variable via System Settings -> Environment.
With the target names, it looks like an issue of mbed-cli. Please try building the project from command line and check if the problem persists. If the build with mbed-cli works, but VisualGDB-based build doesn’t, please let us know and we will help you find the difference between the 2 configurations and will update VisualGDB to work around it.
Regarding the esp8266 component, the Advanced Mbed Project Subsystem delegates the build to the mbed-cli tool, so it does not have control over the low-level details of the build process. Please refer to the mbed documentation and forums for mbed-cli-specific instructions on excluding specific components. On the VisualGDB side, you can use the VisualGDB Project Properties to add arbitrary arguments to mbed-cli used to build your project.
November 14, 2018 at 19:41 #22707marasParticipantYou’re right, problem with names is an mbed-cli issue.
Thank you.
-
AuthorPosts
- You must be logged in to reply to this topic.