Posts by vala

    Updates:

    I found out that calling SEGGER_SYSVIEW_RecordEnterISR() and SEGGER_SYSVIEW_RecordExitISR() do nothing when they are called from the main. But I can call SEGGER_SYSVIEW_OnTaskStartExec() and SEGGER_SYSVIEW_OnTaskTerminate() from main and they work perfectly. Is there any harm to call these when there is OS?

    And about my previous question, I should probably clarify that I meant the enabled interrupt is the fourth bit in NVIC->ISER[0] register. And why the number is 19?

    I tested a couple more interrupts to find out if there is any meaning with the numbers reported by SEGGER_SYSVIEW_RecordEnterISR in SYSTEMVIEW. Here is my observation:


    Interrupt number 3 => is reported 19Interrupt number 35 => is reported 51
    Interrupt number 9 => is reported 25


    Therefore, it seems that the numbers are definitely not random. In the reported numbers, second byte should be multiplied by 16 and added to the first byte. Then I can get the interrupt number. This is a wise way to decrease to payload. If I write them in binary:

    Interrupt number 3 => NVIC->ISER[0] - bit 3 => reported number 0b 0001 0011Interrupt number 35 => NVIC->ISER[1] - bit 3 => reported number 0b 0011 0011
    Interrupt number 9 => NVIC->ISER[0] - bit 9 => reported number 0b 0001 1001

    Hi Segger team,

    First of all thanks for making this tool and making it free. I just started using it and everything went smooth and seems promising. In the first measurement that I did I noticed that the number of the ISR related to the only IRQ enabled in my target is 19. Shouldn't it be the number in NVIC? That interrupt is the 3rd interrupt in my NVIC but SYstemView shows number 19 for it. What do these numbers mean?

    Another question, I have used SEGGER_SYSVIEW_OnUserStart() in a couple of placed in my code by I noticed that although they are tracked down by Events window, they are not shown in Timeline window. Is there any way to add it in the Timeline window too? A workaround that came to my mind is to call SEGGER_SYSVIEW_RecordEnterISR() in my subroutines (which are not ISRs). So the question here is that if I call SEGGER_SYSVIEW_RecordEnterISR() outside an ISR what would be its number? Or even, is it allowed to do so?

    Vala