Pumpkin, Inc.

Pumpkin User Forums

Mask time

If you have a general question or comment regarding Salvo, post it here.

Mask time

Postby RAMA » Wed Feb 05, 2003 8:06 am

I evaluate an embedded software under Salvo Pro and i have a question:
What are the maximum time of masking for high level priority and low level priority ?
Thanks for you response.
Posts: 2
Joined: Fri Jan 31, 2003 12:00 am
Location: France

Re: Mask time

Postby aek » Wed Feb 05, 2003 9:35 am

This is a complex issue, as it is dependent on the number of tasks and how Salvo is configured.

I presume you are evaluating with Salvo Lite and for the PIC18 (since you mention separate priority levels). Salvo libraries are compiled by default to disable high and low priorities during critical sections of Salvo code. This way, you can call Salvo services (e.g. OSTimer() and event signaling) from either kind of interrupt.

With Salvo Pro, you can change this to only disable the interrupt level where Salvo services are called. This means that on the PIC18 with Salvo Pro, you can configure Salvo so that high-level interrupts are never disabled, and low-level interrupts are only disabled when Salvo is in a critical section. This way you could, for example, have I2C interrupts at high priority, and they would be unaffected by Salvo.

The Performance chapter in the Salvo user manual has some information that outlines these issues ... but it is not complete or comprehensive. If you need specific numbers, you'll need to create your own test programs with Salvo Lite and deduce the performance trends as the number of tasks increase.

Practically speaking, in a well-written Salvo application where nearly all the tasks are either delayed or waiting on an event (i.e. they're not all round-robining at the same priority), maximum interrupt latency will be on the order of 200-600 cycles on average. As the number of tasks grows, the worst-case delay will increase. So, unless you're doing very high-rate interrupts (e.g. I2C @ 100kHz (e.g. an interrupt every 90us) or you require truly hard-real-time performance (for which certain 32-bit micros are better suited), Salvo's interrupt latency will not affect you detrimentally.


[This message has been edited by aek (edited February 05, 2003).]

Posts: 1888
Joined: Sat Aug 26, 2000 11:00 pm

Return to General

Who is online

Users browsing this forum: No registered users and 1 guest