Hi there!
I'm trying to get Segger SysView working with FreeRTOS v10.3.1 on an ARM Cortex M0+. I applied the FreeRTOSV10_Core.patch by hand, added the example SEGGER_SYSVIEW_X_GetTimestamp() function and increment the SEGGER_SYSVIEW_TickCnt variable at the start of xPortSysTickHandler() in FreeRTOS/Source/portable/GCC/ARM_CM0/port.c as follows:
Display All
The SysTick and Scheduler events are shown correctly with timestamps in the event log but they are not displayed in the Timeline window:
I also noticed that there is a "No runtime!" warning.
Attached is "freertos_v10_3_1.SVDat" for inspection. It looks like my patch to FreeRTOS V10.3.1 was not completely successful. Any hints / tips on how to fix it would be much appreciated!
Thanks in advance,
Pieter
piconomix.com
I'm trying to get Segger SysView working with FreeRTOS v10.3.1 on an ARM Cortex M0+. I applied the FreeRTOSV10_Core.patch by hand, added the example SEGGER_SYSVIEW_X_GetTimestamp() function and increment the SEGGER_SYSVIEW_TickCnt variable at the start of xPortSysTickHandler() in FreeRTOS/Source/portable/GCC/ARM_CM0/port.c as follows:
C Source Code
- #ifdef CFG_SEGGER_SYSVIEW_ENABLED
- volatile uint32_t SEGGER_SYSVIEW_TickCnt;
- #endif
- void xPortSysTickHandler( void )
- {
- uint32_t ulPreviousMask;
- #ifdef CFG_SEGGER_SYSVIEW_ENABLED
- SEGGER_SYSVIEW_TickCnt++;
- #endif
- ulPreviousMask = portSET_INTERRUPT_MASK_FROM_ISR();
- traceISR_ENTER();
- {
- /* Increment the RTOS tick. */
- if( xTaskIncrementTick() != pdFALSE )
- {
- traceISR_EXIT_TO_SCHEDULER();
- /* Pend a context switch. */
- portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT;
- }
- else
- {
- traceISR_EXIT();
- }
- }
- portCLEAR_INTERRUPT_MASK_FROM_ISR( ulPreviousMask );
- }
I also noticed that there is a "No runtime!" warning.
Attached is "freertos_v10_3_1.SVDat" for inspection. It looks like my patch to FreeRTOS V10.3.1 was not completely successful. Any hints / tips on how to fix it would be much appreciated!
Thanks in advance,
Pieter
piconomix.com