Please enable JavaScript to view this site.

winIDEA Help

Version: 9.21.364

SCIOPTA

On this page:

Introduction

Requirements

Modules window

Processes window

Pools window

Stacks window

Messages window

 

 

Introduction

winIDEA provides dedicated debug support for the SCIOPTA Real-Time Kernel V2. This includes specialized views for kernel objects and support for basic process profiling.

 

With SCIOPTA debug support you can:

Inspect kernel objects in dedicated windows: Modules, Processes, Pools, Stacks, and Messages

Profile running processes to see whether they are active.

 

Profiling

winIDEA supports  running process profiling for SCIOPTA. It records whether a Process is running and displays this information in the Profiler Timeline.No additional configuration is required.

If the Process names are available when the Analyzer Session starts, they are shown directly in the Profiler Timeline. To ensure this, start and stop SCIOPTA before launching the Analyzer.

Alternatively, you can use a Profiler XML file to define the Process names explicitly and link them to Process IDs (PIDs).

 

Notes on context switching

Context switching support depends on the target device:

On Infineon TriCore devices, you can view the registers of each Process (program counter, stack pointer, etc.) in the Tasks Window when the CPU is stopped.

On other devices and architectures, winIDEA displays process information, but only the registers of the currently running process are available.

 

 

Requirements

Kernel version - SCIOPTA Real-Time Kernel V2

Compatibility relies on internal V2 data structures

winIDEA version

 

 

Modules window

The Modules window shows detailed information about all available modules. You can enable automatic refresh to update the list each time the processor is stopped. The currently used module is highlighted.

 

Modules window example

Modules window example

 

The following table describes each column in the Modules window:

Column name

Description

Name

Name of the module.

ID

Unique identifier assigned to the module.

Priority

Maximum priority level of the module.

Processes

Number of processes currently in the module, followed by the maximum allowed.

Pools

Number of memory pools currently in the module, followed by the maximum allowed.

Free

Amount of unused data area in the module, in bytes.

Size

Total size of the module’s data area.

Used

Percentage of the module’s data space currently in use.

Code start

Current address into module text segment.

Data start

Start address of the module’s data area.

 

 

Processes window

The Processes window shows detailed information about all Processes. You can enable automatic refresh to update the list each time the Processor is stopped. The currently running Process is highlighted.

 

Processes window example

Processes window example

 

The following table describes each column in the Processes window:

Column name

Description

Module

Name of the module to which the process belongs.

Name

Name of the process.

ID

Unique identifier assigned to the process.

Stack usage

Percentage of the stack currently in use.

PCB

Memory address of the Process Control Block (PCB).

Type

Type of process. Possible values:

PRI – Prioritized process

INT – Interrupt process

TIM – Timer process

IDL – Idle process

State

A process state can be one of the following values, or a combination thereof:

RUN – The process is currently running

RDY – The process is ready to run

TMO_EXP – The process's timeout has expired

TMO – The process is waiting for a timeout to expire

RX – The process is waiting to receive a message

TRG – The process is waiting on a trigger

ALLOC – The process is waiting for a message to be allocated

STOP – The process is stopped

Priority

Displays the process priority for prioritized (PRI) process types. For other process types, a dash (‘-’) is shown, as priority is not applicable.

Trigger

Current trigger value associated with the process.

Queue

Number of messages in the RX queue.

Allocated

Number of messages allocated by the process.

Observed

Number of observations.

Error code

Error code returned by library functions, if applicable.

SP

Current address of the stack pointer.

Entry

Memory address of the process’s entry (start) function.

 

 

Pools window

The Pools window shows information about all memory pools. You can enable automatic refresh to update the list each time the processor is stopped.

 

Pools window examle

Pools window examle

The following table describes each column in the Pools window:

Column name

Description

Module

Name of the module to which the pool belongs.

Name

Name of the pool.

ID

Unique identifier assigned to the pool.

Creator

ID of the process that created the pool.

Free

Amount of unused data space in the pool, in bytes.

Size

Total size of the pool's data space, in bytes.

Used

Current usage of the pool's data space, expressed as a percentage.

Peak usage

Highest recorded usage of the pool's data space, expressed as a percentage.

nbufsizes

Number of distinct buffer sizes available in the pool.

Start

Starting memory address of the pool's data area.

End

Address of the first byte immediately after the pool's data area (i.e., not part of the pool).

 

 

Stacks window

The Stacks window shows detailed information about all stacks. You can enable automatic refresh to update the list each time the processor is stopped. The stack of the currently running process is highlighted.

 

Stacks window example

Stacks window example

 

The following table describes each columg in the Stacks window:

Column name

Description

Module

Name of the module to which the process belongs.

Name

Name of the process.

ID

Unique identifier (ID) assigned to the process.

Peak Usage

Maximum stack usage recorded, expressed as a percentage of the total stack size.

Free

Number of stack bytes that are currently unused.

Size

Total number of bytes allocated for the stack.

Bottom

Lowest address of the memory block allocated for the stack.

Top

Address immediately above the top of the allocated stack memory (i.e., the end of the stack region).

Current

Current value of the stack pointer.

Lowest

Lowest stack address reached during the process's execution, indicating the maximum stack usage. Also referred to as the stack ‘high water mark’.

End

Address of the first byte immediately after the pool's data area (i.e., not part of the pool).

 

 

Messages window

The Messages window displays detailed information about all available messages. You can enable automatic refresh to update the list each time the processor is stopped. Each row represents one message with multiple parameters.

 

Messages window example

Messages window example

 

The following table describes each column in the Messages window:

Column name

Description

#

Consecutive number of the message

Pool

Name of the pool from which the message was allocated.

Pool ID

Unique identifier of the pool in which the message was allocated.

Address

Memory address of the message.

Msg ID

Unique identifier assigned to the message. If known, displayed as a symbolic name; otherwise shown as a hexadecimal value.

Msg ID (hex)

Message identifier displayed in raw hexadecimal format.

Owner

Current owner of the message. If known, the process name is displayed; otherwise, the identifier is shown as a hexadecimal value.

Sender

Last sender of the message. If known, the process name is displayed; otherwise, the identifier is shown as a hexadecimal value.

Addressee

Last addressee of the message. If known, the process name is displayed; otherwise, the identifier is shown as a hexadecimal value.

Size

Requested size of the message buffer at the time of allocation. The actual kernel internal used fixed size might be larger.

Slack

Unused portion of the allocated buffer. Calculated as the difference between the requested message size and the kernel allocated buffer size.

 

 

Copyright © 2025 TASKING