Hi All,
I'm trying to implement SystemView V2.10 with EmbOS V4.12a libraries.
IDE is IAR's EWARM 7.20.
Target CORTEX M3 STM32F101
Project based on EmbOS 'Start' blinking 2 leds in 2 tasks, running fluently w/o System View.
When compiling with System View files, i get this error:
Updating build tree...
SEGGER_SYSVIEW_embOS.c
Error[Pe146]: too many initializer values C:\...\System Viewer 2.10\TargetSrc\Sample\OS\SEGGER_SYSVIEW_embOS.c 139
Error while running C/C++ Compiler
It's due to the structure OS_TRACE_API size mismatch between RTOS.h in EmbOS and const OS_TRACE_API embOS_TraceAPI_SYSVIEW initialization in SEGGER_SYSVIEW_embOS.c.
Display All
As explained in System View manual, V4.12a should be the best version. Any idea ?
Regards
Jluc
I'm trying to implement SystemView V2.10 with EmbOS V4.12a libraries.
IDE is IAR's EWARM 7.20.
Target CORTEX M3 STM32F101
Project based on EmbOS 'Start' blinking 2 leds in 2 tasks, running fluently w/o System View.
When compiling with System View files, i get this error:
Updating build tree...
SEGGER_SYSVIEW_embOS.c
Error[Pe146]: too many initializer values C:\...\System Viewer 2.10\TargetSrc\Sample\OS\SEGGER_SYSVIEW_embOS.c 139
Error while running C/C++ Compiler
It's due to the structure OS_TRACE_API size mismatch between RTOS.h in EmbOS and const OS_TRACE_API embOS_TraceAPI_SYSVIEW initialization in SEGGER_SYSVIEW_embOS.c.
C Source Code
- **********************************************************************
- * *
- * OS version: 4.12a *
- * *
- **********************************************************************
- ----------------------------------------------------------------------
- Licensing information
- Licensor: SEGGER Microcontroller GmbH & Co. KG
- File : RTOS.h
- Purpose : Include file for the OS,
- to be included in every C-module accessing OS-routines
- NOTE : NONE OF THE DEFINITIONS IN THIS FILE MAY BE MODIFIED
- as long as embOS libraries are used.
- typedef struct {
- //
- // Specific Trace Events
- //
- void (*pfRecordEnterISR) (void);
- ....
- OS_U32 (*pfPtrToId) (OS_U32 Ptr);
- } OS_TRACE_API;
- **********************************************************************
- * *
- * SystemView version: V2.10 *
- * *
- **********************************************************************
- ----------------------------------------------------------------------
- File : SEGGER_SYSVIEW_embOS.c
- Purpose : Interface between embOS and System View.
- // embOS trace API that targets SYSVIEW
- const OS_TRACE_API embOS_TraceAPI_SYSVIEW = {
- //
- // Specific Trace Events
- //
- SEGGER_SYSVIEW_RecordEnterISR, // void (*pfRecordEnterISR) (void);
- ....
- SEGGER_SYSVIEW_ShrinkId, // OS_U32 (*pfPtrToId) (OS_U32 Ptr);
- SEGGER_SYSVIEW_RecordEnterTimer, // void (*pfRecordEnterTimer) (OS_U32 TimerID); <---- These 2 elements are not in RTOS.h declaration
- SEGGER_SYSVIEW_RecordExitTimer // void (*pfRecordExitTimer) (void);
- };
As explained in System View manual, V4.12a should be the best version. Any idea ?
Regards
Jluc