12

Salvo Real-Time Operating System - RTOS for Beginners

BitMan
SALVO - Real Time Operating System: Embedded programming is split in two by the consideration of solution's implementation: with and without Real Time Operating System. When the application becomes very complex, when we have a lot of tasks that need to run very strictly and when we have a lot of events that may come asynchronously from outside, the logic is hard to accomplish. Here comes in scene the second category of embedded applications: those who are using a real time operating system (RTOS).

Salvo is a RTOS that runs in tiny projects - http://www.pumpkininc.com. Most of the devices used in small projects have limitations of ROM or RAM memory, so the desire of using a RTOS for an application is banned by these hardware capacities (there is no space for our code and for the RTOS also in the same device). Salvo directs exactly to these devices. It can add more speed to new designs and memory efficiency usage, improve real time performance, supports multitasking mechanism and maximizes reliability, compactness and scalability for applications with no considerable cost of hardware resources.

Salvo is market in three main distributions: Lite (freeware), LE and Pro (recommended for all developers).

Salvo has currently certified for use with the following architectures and compilers:

1. 8051 family and its derivatives

1.1 Keil C51

1.2 HI-TECH 8051

2. ARClite microRISC

2.1 HI-TECH ARClite-C

3. ARM ARM7TDMIand Cortex-M3:

3.1IAR EW ARM

3.2 Keil RealView ARM toolset

3.3 GCC ARM for Cortex-M3

4. Atmel AVR and MegaAVR

4.1 GNU's AVR-GCC

4.2 IAR EW AVR

4.3 ImageCraft ICCAVR

5. Motorola M68HC11

5.1 ImageCraft ICC11

6. TI's MSP430 Ultra-Low Power Microcontroller

6.1 Archelon Quadravox AQ430

6.2 IAR EW MSP430

6.3 ImageCraft ICC430

6.4 Rowley Associates CrossWorks for MSP430

7. Microchip PIC12 | 14000 | 16 | 17 | 18 PICmicro MCUs

7.1 HI-TECH PICC / PICC-18

7.2 IAR EW PIC18

7.3 Microchip MPLAB-C18

8. Microchip PIC24 MCUs and dsPIC DSCs

8.1 Microchip MPLAB-C30

9. Microchip PIC32 MCUs

9.1 Microchip MPLAB-C32

10. TI's TMS320C2000 DSPs

10.1 TI's Code Composer Studio

Salvo RTOS supports:

1. the number of tasks and events in your application is limited only by available RAM (depending by version).

2. up to 255 tasks, 255 events and 255 message queues (depending by version).

3. 16 distinct priority levels. Tasks can share priority levels.

4. binary & counting semaphores, event flags, messages and message queues.

5. written in C for greater portability

Important to note is that any Salvo application needs to be developed around three ground rules:

1. Every task needs a context switch and the number of context switches a task can have is limited only by available program memory.

2. Context switches may only occur in tasks and may not occur in mainline (background) code outside of tasks, not in interrupt service routines (ISRs).

3. Persistent Local Variables must be declared as "static" because Salvo's context switcher performs a minimal context save that does not include local variables.

Links:

1. User Manual, Demo Version and Reference Manuals for Supported Compilers:

http://www.pumpkininc.com/

2. A Multi-tasking application with PIC16F877 Microchip:

http://ww1.microchip.com/downloads/en/AppNotes/00777b.pdf

3. How to Measure the RTOS Performance:

http://www.rtos.com/PDFs/MeasuringRTOSPerformance.pdf

Published by BitMan

View profile

To comment, please sign in to your Yahoo! account, or sign up for a new account.