Hello,
I'm trying to launch System View on our specific system and because of that, I use "NoOS" System View distrubution.
I have 20 tasks, but SystemView displays only three channels. My tasks are displayed simultaneously within these three channels - for example channel 1 displays task 6, then task 9, then task 3 ...........
I am not able to compel System View to show all 20 tasks separately.
Do you have any idea, where is the problem ?
My using of the System View library:
After system startup:
for (taskId = 0; taskId < OS_TASKID_COUNT; taskId++)
{
SEGGER_SYSVIEW_OnTaskCreate(taskId);
sprintf(taskName, "%d", taskId);
memset(&Info, 0, sizeof(Info));
//
// Fill elements with current task information
//
Info.TaskID = taskId;
Info.sName = taskName;
Info.Prio = 0;
Info.StackBase = 0;
Info.StackSize = 0;
SEGGER_SYSVIEW_SendTaskInfo(&Info);
}
SEGGER_SYSVIEW_Conf();
Before particular task execution:
TaskType taskId;
SEGGER_SYSVIEW_TASKINFO Info;
char taskName[10];
GetTaskID(&taskId);
SuspendAllInterrupts();
sprintf(taskName, "%d", taskId);
memset(&Info, 0, sizeof(Info));
//
// Fill elements with current task information
//
Info.TaskID = taskId;
Info.sName = taskName;
Info.Prio = 0;
Info.StackBase = 0;
Info.StackSize = 0;
SEGGER_SYSVIEW_SendTaskInfo(&Info);
SEGGER_SYSVIEW_OnTaskStartExec(taskId);
ResumeAllInterrupts();
After particular task execution:
SuspendAllInterrupts();
SEGGER_SYSVIEW_OnIdle();
ResumeAllInterrupts();
I'm trying to launch System View on our specific system and because of that, I use "NoOS" System View distrubution.
I have 20 tasks, but SystemView displays only three channels. My tasks are displayed simultaneously within these three channels - for example channel 1 displays task 6, then task 9, then task 3 ...........
I am not able to compel System View to show all 20 tasks separately.
Do you have any idea, where is the problem ?
My using of the System View library:
After system startup:
for (taskId = 0; taskId < OS_TASKID_COUNT; taskId++)
{
SEGGER_SYSVIEW_OnTaskCreate(taskId);
sprintf(taskName, "%d", taskId);
memset(&Info, 0, sizeof(Info));
//
// Fill elements with current task information
//
Info.TaskID = taskId;
Info.sName = taskName;
Info.Prio = 0;
Info.StackBase = 0;
Info.StackSize = 0;
SEGGER_SYSVIEW_SendTaskInfo(&Info);
}
SEGGER_SYSVIEW_Conf();
Before particular task execution:
TaskType taskId;
SEGGER_SYSVIEW_TASKINFO Info;
char taskName[10];
GetTaskID(&taskId);
SuspendAllInterrupts();
sprintf(taskName, "%d", taskId);
memset(&Info, 0, sizeof(Info));
//
// Fill elements with current task information
//
Info.TaskID = taskId;
Info.sName = taskName;
Info.Prio = 0;
Info.StackBase = 0;
Info.StackSize = 0;
SEGGER_SYSVIEW_SendTaskInfo(&Info);
SEGGER_SYSVIEW_OnTaskStartExec(taskId);
ResumeAllInterrupts();
After particular task execution:
SuspendAllInterrupts();
SEGGER_SYSVIEW_OnIdle();
ResumeAllInterrupts();