I have tried using SystemView in a FreeRTOS application:
Processor: Cortex-M3 (in LPCXpresso LPC1769 board)
IDE: MCUXpresso IDE v11.2.1 [Build 4149] [2020-10-07]
OS: FreeRTOS kernel v10.4.3
SystemView: v3.20
I have followed the steps detailed in the user guide, namely:
#define traceTASK_NOTIFY_FROM_ISR() SEGGER_SYSVIEW_RecordU32x5(apiID_OFFSET + apiID_XTASKGENERICNOTIFYFROMISR, SEGGER_SYSVIEW_ShrinkId((U32)pxTCB), ulValue, eAction, (U32)pulPreviousNotificationValue, (U32)pxHigherPriorityTaskWoken)
However, in the tasks.c file it is called as traceTASK_NOTIFY_FROM_ISR( uxIndexToNotify ). That is, they are defined without parameters, but they are called with a parameter.
But no one else seems to have that problem. I miss something ...
Did I forget to configure something?
Thank you.
Processor: Cortex-M3 (in LPCXpresso LPC1769 board)
IDE: MCUXpresso IDE v11.2.1 [Build 4149] [2020-10-07]
OS: FreeRTOS kernel v10.4.3
SystemView: v3.20
I have followed the steps detailed in the user guide, namely:
- I have copied the following files into the project (keeping the recommended directory structure):
- /Config/Global.h
- /Config/SEGGER_RTT_Conf.h
- /Config/SEGGER_SYSVIEW_Conf.h
- /Config/SEGGER_SYSVIEW_Config_FreeRTOS.c
- /Sample/FreeRTOSV10/SEGGER_SYSVIEW_FreeRTOS.c
- /Sample/FreeRTOSV10/SEGGER_SYSVIEW_FreeRTOS.h
- /SEGGER/SEGGER_RTT.c
- /SEGGER/SEGGER_RTT.h
- /SEGGER/SEGGER_SYSVIEW_ConfDefaults.h
- /SEGGER/SEGGER_SYSVIEW_Int.h
- /SEGGER/SEGGER_SYSVIEW.c
- /SEGGER/SEGGER_SYSVIEW.h
- /SEGGER/SEGGER.h
- /Config/Global.h
- I have included in the path the three folders.
- In FreeRTOSConfig.h I define INCLUDE_xTaskGetIdleTaskHandle and INCLUDE_pxTaskGetStackStart as 1.
- At the end of FreeRTOSConfig.h (after all the defines) I #include "SEGGER_SYSVIEW_FreeRTOS.h".
- I have added a call to SEGGER_SYSVIEW_Conf() in the main function (after target initialization and before any FreeRTOS API function call).
- I have not been able to apply the patch file to the FreeRTOS kernel sources because they do not match.
- traceTASK_NOTIFY_FROM_ISR
- traceTASK_NOTIFY_GIVE_FROM_ISR
- traceTASK_NOTIFY_TAKE
- traceTASK_NOTIFY_WAIT
- traceTASK_NOTIFY
#define traceTASK_NOTIFY_FROM_ISR() SEGGER_SYSVIEW_RecordU32x5(apiID_OFFSET + apiID_XTASKGENERICNOTIFYFROMISR, SEGGER_SYSVIEW_ShrinkId((U32)pxTCB), ulValue, eAction, (U32)pulPreviousNotificationValue, (U32)pxHigherPriorityTaskWoken)
However, in the tasks.c file it is called as traceTASK_NOTIFY_FROM_ISR( uxIndexToNotify ). That is, they are defined without parameters, but they are called with a parameter.
But no one else seems to have that problem. I miss something ...
Did I forget to configure something?
Thank you.