Salieri

Forum Replies Created

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • in reply to: Visual GDB Packages & FreeRTOS #9925
    Salieri
    Participant

    Thank you for your answers. I think I solved the problem by using a custom, unused SRAM sector in a linker file, effectively offseting the symbol addresses for the length of my IVT.

    I have a suggestion to offer:

    • In the memory view, I’d personally find it useful if you could limit the length of the memory shown. I’m only interested in the first 192 bytes starting from address 0x08100000 and since the window is quite unresponsive, It’s pretty difficult to work with all the neighboring data.

    I’m using 5.2 and I checked “use advanced memory view” or something like that.

    • This reply was modified 7 years, 4 months ago by Salieri.
    Salieri
    Participant

    I have found the source of  the problem. It was located between the keyboard and the chair.

    As it turns out, the definition and the declaration of the function did indeed not match. There was a typo in the function name defined in the header file (think fcn_recieve() instead of fcn_receive() ) and so naturally, when I was trying to call fcn_receive() from another source file, it was undefined. I think I’m gonna crack open a bottle of whiskey, drink to your health and then bash myself over the head with it. Thank you for your patience.

    Regarding the warning about the Makefile which I mentioned in the first post. This is the warning line generated by the compiler:

    2>—— Build started: Project: SCADA_FreeRTOS, Configuration: Debug Win32 ——
    2>VisualGDB : warning : Cannot detect target name for: C:\Users\bjerm\Documents\Personal\Software\SCADA_FreeRTOS\SCADA_FreeRTOS\Makefile

    As I said, the project compiles successfully, so the issue is not pressing, but I am wondering why it happens. You mentioned that you require a screenshot, but this is the exact description of the warning.

     

    • This reply was modified 8 years ago by Salieri.
    Salieri
    Participant

    Hi,

    First of all, thanks for the help!

    As for the undefined reference error – all files are .c, none are .cpp. The funny thing is – when typing the code in task.c, IntelliSense properly detects the included header file and auto-completes to the function name. It’s just at compile/link time when the error appears.

    I’ve double checked if the definition and declaration of the functions match, and they do.

    I have a hunch that my problem is somehow linked to the object files as proposed here, but I don’t know how to tackle this issue in the VisualStudio/GDB environment:

    http://stackoverflow.com/questions/24702645/c-undefined-reference-to-function-error-with-linked-files

    I’ll add a screenshot of the second issue as soon as I get back home.

    [EDIT]

    Also please note that I have made modifications to the linker script and the Makefile based on the Bootloader tutorial implementation on your website (http://visualgdb.com/tutorials/arm/bootloader/). Is it possible that something went awry during this process? If so, is there any way for me to regenerate the linker script and the Makefile to see if that fixes things?

    • This reply was modified 8 years ago by Salieri.
Viewing 3 posts - 1 through 3 (of 3 total)