SEGGER_SYSVIEW_SendSysDesc buffer limited to 128 bytes not enough

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • SEGGER_SYSVIEW_SendSysDesc buffer limited to 128 bytes not enough

    The system descriptor is limited to 128 bytes (define in SEGGER_SYSVIEW_MAX_STRING_LEN). This does not suit well if we have debug many interrupts and want to name the interrupts. Many embedded systems are having more than 32 IRQs . If the change the buffer size to 256 then the systemview PC tool is not able to cope with it and bails out. If I split the descriptor to things as below


    SEGGER_SYSVIEW_SendSysDesc("I#15=SysTick,I#19=SPI0_TWI0_IRQ,I#22=GPIOTE_IRQ,I#28=TEMP_IRQ,I#29=RNG_IRQ,I#30=ECB_IRQ,I#32=WDT_IRQ");
    SEGGER_SYSVIEW_SendSysDesc("I#18=SPI0_TWI0_IRQ_LET_ME_CHECK_IF_THIS_WORKS_WELL,I#33=RTC1_IRQ");

    Then also the systemview pc tools bails out saying it received invalid packet.

    I think you should allow configurable packet size for this system description so that we will be able to debug as many named ISR as we need.
  • Hi,

    The best solution is to split into multiple calls.

    In the upcoming version it will also be possible to record longer strings,
    but this requires a larger buffer for the packet itself, and enough free space in the SystemVIew buffer.

    In general it should not be required to name all interrupts,
    as only used interrupts will be recorded at all
    and high-frequency interrupts cannot be recorded.

    Regards
    Johannes