Calling to FastSemihosting from interrupts before initialization finished loops

Sysprogs forums Forums VisualGDB Calling to FastSemihosting from interrupts before initialization finished loops

This topic contains 2 replies, has 2 voices, and was last updated by  support 1 week, 3 days ago.

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #25766

    Gordon01
    Participant

    It’s very simple to reproduce:

    From the main():

    1. Initialize RTC and enable it’s IRQ (every second)
    2. call printf(“hello world”);

    From RTC_IRQHandler:

    1. Just call printf(“RTC counter = %ld\n”, wvt_rtc_counter++);

    I’ve attached call stack, it gives clear explanation of the problem: WriteRawFastSemihostingData() is called from IRQ before InitializeFastSemihosting() finished.

    Attachments:
    You must be logged in to view attached files.
    #25768

    Gordon01
    Participant

    The microcontroller is STM32L071, running from MSI on 4.194 MHz.

    #25797

    support
    Keymaster

    Hi,

    No problem, we have published an update to the profiler framework that introduces a new setting: Disable interrupts during semihosting operations.

    Please try updating the framework and then set the new option to “Yes” in order to automatically disable interrupts during the execution of WriteToFastSemihostingChannel().

Viewing 3 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic.