Monday, May 21st 2018, 1:08pm UTC+2

You are not logged in.

  • Login
  • Register

Dear visitor, welcome to SEGGER Forum. If this is your first visit here, please read the Help. It explains how this page works. You must be registered before you can use all the page's features. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

pszemol

Beginner

Date of registration: May 16th 2012

Posts: 5

1

Friday, November 6th 2015, 6:13pm

embOS View - sysRun

Hello, what is "sysRun" representing on the tasks list?
Is this CPU time spent in interrupt and timer service routines, outside of the task code?

SEGGER - Martin

Super Moderator

Date of registration: Jul 1st 2014

Posts: 35

2

Friday, November 6th 2015, 6:23pm

RE: embOS View - sysRun

Hello pszemol,

The keyword "sysRun" is not being used in embOS or embOSView itself. Can you provide more details on where the keyword occured,
e.g. provide a screenshot of embOSView? If desired, you may also contact us via Email.

Thanks and best regards,
Martin

pszemol

Beginner

Date of registration: May 16th 2012

Posts: 5

3

Friday, November 6th 2015, 7:20pm

Oh, my mistake... this is actual task in the larger system I am profiling, my coleague has wrapped some USB activities under this name - my bad! :-) Kind of embarasing...

But going back to my original assumptions - how do I see CPU time spent in the interrupts?
If a task is heavy in processing stuff in the ISR and wakes itself only at the end of the data acquisition, is the time of CPU spent the such ISR assigned to the task line in the embOS View Task list?

I have a task controlling a hardware device, and it uses seveal interrupts types: UART interrupts, Timer interrupts and Counter Capture interrupts. Is there a way to see during profiling a total relavite CPU time spent by this task, assuming many other task will also use other interrupts?

BTW - when I read the tasks list presented in embOS View (or the one in IAR IDE under embOS C-SPY plug-in),
what does the "Run count" realy mean for a task? How do I interpret it?
Or "Time slice", expressed sometimes as 0/2 and sometimes 0/0?

Thank you for shading some light on the subject... :-)

SEGGER - Martin

Super Moderator

Date of registration: Jul 1st 2014

Posts: 35

4

Monday, November 9th 2015, 11:24am

Dear pszemol,

But going back to my original assumptions - how do I see CPU time spent in the interrupts?
If a task is heavy in processing stuff in the ISR and wakes itself only at the end of the data acquisition, is the time of CPU spent the such ISR assigned to the task line in the embOS View Task list?


Interrupt execution time is not tracked explicitly with embOSView.
If an interrupt occurs during task execution, it's execution time is assigned to the execution time of the interrupted task.

I have a task controlling a hardware device, and it uses seveal interrupts types: UART interrupts, Timer interrupts and Counter Capture interrupts. Is there a way to see during profiling a total relavite CPU time spent by this task, assuming many other task will also use other interrupts?


During the last weeks, we've been creating a new, free analysis tool: SEGGER SystemView.
It is supported by embOS since V4.12 and may just perfectly fit your purpose. Is using this tool an option for you?

BTW - when I read the tasks list presented in embOS View (or the one in IAR IDE under embOS C-SPY plug-in),
what does the "Run count" realy mean for a task? How do I interpret it?
Or "Time slice", expressed sometimes as 0/2 and sometimes 0/0?


"Run count" indicates the number of times the respective task has been activeated by the scheduler: It counts all activations since the last reset.
"Time slice" indicates the configuration for this task if it was used with round-robin scheduling: It denotes the time (in embOS timer ticks) that a task will run in a round-robin scheduling before it gets suspended.
Unless configured explicitly during a task's creation (or later on by calling OS_SetTimeSlice()), a default of two timer ticks is used. For more information, please refer to chapter "Round-robin scheduling algorithm" of the generic embOS manual.

Does this answer your questions? Please let me know if I can be of any further help.

Best regards,
Martin