mBedos import issue

Sysprogs forums Forums VisualGDB mBedos import issue

Viewing 12 posts - 16 through 27 (of 27 total)
  • Author
    Posts
  • #22636
    maras
    Participant

    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 5 years, 5 months ago by maras.
    #22638
    support
    Keymaster

    Hi,

    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
    #22639
    maras
    Participant

    Files 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.
    #22646
    support
    Keymaster

    Hi,

    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)?

    #22649
    maras
    Participant

    mbed_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

    #22650
    maras
    Participant

    zipped mbed_settings.py

    Attachments:
    You must be logged in to view attached files.
    #22658
    support
    Keymaster

    Hi,

    Thanks, please try this build: http://sysprogs.com/files/tmp/VisualGDB-5.4.9.2562.msi

    #22659
    maras
    Participant

    Not 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:

    #22662
    maras
    Participant

    Now 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

    #22663
    maras
    Participant

    I 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 5 years, 5 months ago by maras.
    #22696
    support
    Keymaster

    Hi,

    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.

    #22707
    maras
    Participant

    You’re right, problem with names is an mbed-cli issue.

    Thank you.

Viewing 12 posts - 16 through 27 (of 27 total)
  • You must be logged in to reply to this topic.