support

Forum Replies Created

Viewing 15 posts - 6,901 through 6,915 (of 7,541 total)
  • Author
    Posts
  • in reply to: Feature Request: Automatically update VS solution #3187
    support
    Keymaster

    Hi,

    We’ve added a new command called ‘import folder recursively’ to VisualGDB 4.2 that allows importing an existing folder with subfolders. You can get a quick impression of it by looking at our USB tutorial (http://visualgdb.com/tutorials/arm/stm32/usb/). You can just point it to the main project directory and it will add missing files to the project while keeping all the folder structure. Does that suit your needs or do you want something more sophisticated?

    in reply to: Intellisense not working for project #3197
    support
    Keymaster

    IntelliSense include directories are usually stored in the absolute form. You can see the exact form of them by looking at Visual Studio (not VisualGDB) project properties on the NMake page. If they contain absolute paths, you can change them to using $(ProjectDir) or modify them to point to the new location.

    in reply to: IntelliSense directories #3196
    support
    Keymaster

    Hi,

    IntelliSense directories are stored in Visual Studio Project Properties. The fastest way to copy them is to open the VS properties window, go to the NMake page and copy/paste them there.

    in reply to: C++11 Support #3192
    support
    Keymaster

    Yes, we are working on an independent clang-based C++ IntelliSense engine, but it is not included in VisualGDB 4.2 and will be available at a later point.

    in reply to: Updating makefile #3179
    support
    Keymaster

    VisualGDB automatically updates the list of all sources in Makefile, however it does not support excluding files for separate configurations yet. You won’t need to add all source files manually, you will only need to specify the files you want to exclude.

    in reply to: STDOUT retarget #3171
    support
    Keymaster

    Hi,

    Stdlib uses the space past the ‘end’ symbol to allocate buffers. BTW, we have updated our toolchain to include newlib without the standard syscall implementations. This should make it easier to define your own functions like _write() and control how exactly the IO is performed. Have a look at this tutorial: http://visualgdb.com/tutorials/arm/stm32/uart/ (note that you will need VisualGDB 4.2 beta 1 to use the raw terminal and the memory explorer).

    If you want to hack the standard library further, you can get newlib sources, and rebuild it using MinGW and our toolchain:

    mkdir newlib-build && cd newlib-build
    ../newlib-2.0.0/configure --target=arm-eabi --prefix=/c/SysGCC/arm-eabi --disable-newlib-supplied-syscalls

    Note that the build may take up to a day to complete, as the libraries will be built for each supported core.

    in reply to: Network Kernel Debugging Documentation #3195
    support
    Keymaster

    Hi,

    KGDB does not support debugging over network. The option you are mentioning is provided if you are using a VM that maps a guest COM port to a TCP connection on the host side or want to use a hardware COM-to-TCP bridge. In either way, the final connection to the target machine would still go through a COM port, so there is no performance benefit of mapping it to a TCP/IP port.

    support
    Keymaster

    Hi,

    How do you want to map a physical serial port to a tcp/ip port? Do you mean using a separate Linux machine connected to your target machine via a serial port and the development machine via ethernet?

    support
    Keymaster

    Hi,

    This is a recently added feature that was added to VisualGDB 4.2 that is currently in beta stage. Please install the latest beta to use it.

    in reply to: Updating makefile #3175
    support
    Keymaster

    You can add exclusion lists to Makefile:

    ifeq($(CONFIG),DEBUG)
    EXCLUDED_FILES = file1.cpp file2.cpp
    endif
    

    And then add the following code instead of the source_obj1 line:

    all_source_files_filtered := $(filter-out $(EXCLUDED_FILES),$(all_source_files_filtered))
    source_obj1 := $(all_source_files_filtered:.cpp=.o)
    in reply to: Feature Request – Batch VGDB Project Properties #3033
    support
    Keymaster

    Hi,

    Unfortunately this is not possible with the current model. VisualGDB tries to simplify editing the settings, so it relies a lot on the ‘current project’ concept when displaying the properties (e.g. substitutes variables). To support editing multiple projects at once, we would have to add a completely different mechanism of editing them, and that is currently a too big investment for us.

    You could try referencing environment variables from your projects using the $(VarName) syntax. Alternatively you can make a mini-tool for editing the properties you want. VisualGDB stores its properties in XML files with .vgdbsettings extension. Those files contain XMLSerializer-generated objects from the VisualGDB.exe assembly, so you could easily automate changing them. Let us know if you want some code examples.

    in reply to: Building only set CPU targets? #3181
    support
    Keymaster

    Hi,

    Yes, this is possible. The easiest way would be to edit the Application.mk file and replace APP_ABI := all with APP_ABI := armeabi.
    You can also try VisualGDB 4.2 beta 1 that allows selecting ABIs in the project wizard.

    in reply to: Stack and Heap #3172
    support
    Keymaster

    The GCC compiler does not have a concept of “stack size”. It uses all space between the end of data and _estack as the stack. If you want to reserve a certain amount for the stack, you can define an array of that size, put it to a separate section and modify the linker script to place it after the data. In that case if the overall amount of used memory exceeds the device SRAM size, you will get a linker error.

    in reply to: STDOUT retarget #3169
    support
    Keymaster

    Hi,

    In order to replace the newlib’s implementation of _write() with your own one you would need to recompile newlib itself. If you don’t want to do it, you can hook it dynamically:

    
    static int my_write(struct _reent *, _PTR, const char *buf, int len)
    {
    ...
    }
    
    int main()
    {
    stdout->_write = my_write;
    stdout->_flags |= __SNBF;
    printf("Hello...");
    }
    in reply to: Clang+LLDB? #3174
    support
    Keymaster

    Hi,

    Based on our quick tests, clang produces executables that can be easily debugged with gdb. As lldb is not backward-compatible with gdb/mi and uses its own API, support it would be quite an investment. If you could give a good overview about the advantages it would have over using gdb for debugging llvm-compiled code, we could see if we could support it soon.

Viewing 15 posts - 6,901 through 6,915 (of 7,541 total)