How to open semihosting window?

Sysprogs forums Forums VisualGDB How to open semihosting window?

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #22374
    sidprice
    Participant

    I have added the “fast semihosting and profiler” option to my project but I don’t see any display of the semihosting output. I looked at the tutorials but the Debug Options I see does not have a drop-down to select enable/disable/auto. How can I turn on the display?

    Thanks,

    Sid

    #22394
    support
    Keymaster

    Hi,

    Please double-check that your project is ARM-based and then check the Embedded Debug Tweaking page of VisualGDB Project Properties for the “ARM Semihosting” section. If it’s not shown, please attach  screenshots of the Embedded Debug Tweaking and MSBuild/Makefile Settings pages.

    #22418
    sidprice
    Participant

    Thank you, I was confused by the tutorial for semihosting and did not know the enable for it was on the Embedded Debug Tweaking TAB. I have that set to enable and the window now appears. However, I am not seeing any messages printed to the window.

    I have selected the “Fast Semihosting and Embedded Profiler” framework, is there more I need to do?

    Sid

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

    Hi,

    Normally this should be sufficient. As a quick check, please try creating a new “LEDBlink” project, calling printf() from it and referencing the fast semihosting framework. If it does work, please recheck the differences between the test project and your original project.

    Another option is to try setting a breakpoint in the WriteRawFastSemihostingData() function and stepping through it to see if s_FastSemihostingState gets modified properly.

    #22448
    sidprice
    Participant

    I created a new project and it also does not show any semihosting output.

    https://github.com/sidprice/vgdb_semihosting_test

    Sid

    #22451
    support
    Keymaster

    Hi,

    Looks like you forgot the “\n” symbol at the end of the printed line. With the default settings, this will cause the C library to buffer the output internally until either a newline is sent, or fflush() is called explicitly.

    As a workaround, please simply add “\n” at the end of the line you print.

    #22453
    sidprice
    Participant

    Embarrassing … thank you :o(

    #22468
    support
    Keymaster

    Hi,

    No worries, small details like this one are very easy to miss.

Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.