hitech_logo.gif (2005 bytes)     salvo_header.gif (1873 bytes)

 

Profile
HI-TECH Salvo is a cooperative real-time operating system (RTOS) that is designed for single-chip microcontrollers with severely limited RAM and ROM. It provides the power, speed and flexibility of an RTOS in low-cost embedded designs. Salvo is scalable, easy to learn and highly configurable.
Benefits
Salvo can help you to implement new designs quickly, enhance functionality using existing resources and improve real-time performance. It allows for multitasking and uses memory efficiently. Salvo will allow you to minimize costs while maximizing reliability.
Features
The list of Salvo's features includes:
  • Cooperative, event-driven, priority-based multitasking RTOS
  • Designed for processors with severely limited RAM (e.g. less than 256 bytes)
  • Works within a hardware call; return stack of 8 levels or less (4 is typical)
  • Supports 16 separate dynamic task priority levels - tasks at equal priorities will round-robin
  • Provides inter-task communication and synchronization, ISR-to-task communication and resource sharing
  • Extremely small RAM and ROM footprints
  • No PUSH/POP stack or stack pointer required
  • Number of tasks and events limited only by available memory
  • ROMable and extensible - easily accommodates connectivity solutions
  • Highly configurable system timer requires only a single interrupt
  • Event support includes semaphores, messages and message queues
  • Time-based services include delays, waiting with timeouts and elapsed time
  • Low interrupt latency
  • Fast context switching
  • Highly configurable via C-language preprocessor to fit your application
  • Very easy to use - employs standardized RTOS methods and terminology
  • Portable - written in ANSI C, with minimal compiler- and target-specific extensions
  • No run-time royalties
  • Full source code included
  • Demo and freeware libraries available


Targets
Flavors of Salvo
 

Salvo Lite:

Salvo Lite is a freeware version of Salvo which you can use to create fully working applications. It offers Salvo's basic functionality with a limited number of tasks and events. Salvo Lite is suitable for small multitasking applications and is recommended for beginners.

Salvo LE:

The numbers of tasks and events in your application are limited only by available RAM. Move up from Salvo Lite when your application grows. Suitable for medium-sized applications that can get by with Salvo's basic features. Recommended for users with some Salvo Lite experience.

Salvo Pro:

Highly configurable for the ultimate flexibility, Salvo Pro includes the source code. You can tailor Salvo for your particular application by using Salvo's configuration parameters. This is necessary when RAM and ROM are at a premium. Recommended for all developers.

As of the 08th November 2003, HI-TECH Software is pleased to announce the new version of Salvo, 3.2.3. Below is a summary of changes and new features added since v3.1.0-a:

NEW IN SALVO v3.2.3 (since v3.1.0-a)
Watchdog Timers: OSCLEAR_WATCHDOG_TIMER() is now defined in portXyz.h, so that it affects library and source-code builds, not just library builds.

New and Integrated Documentation: Each Salvo distribution now contains the Compiler Reference Manual and getting-started Application Note(s) for the supported compiler(s).

Multi-Distribution Capable Installers: Each Salvo distribution installs only the latest shared files (e.g. header files) so that multiple, different distributions can coexist in the same Salvo root directory. Shared files are made read-only to avoid inadvertent changes. Old version are un-installed before new versions are installed.

Custom Library Generation: The Salvo Pro facilities for generating custom user libraries have been greatly enhanced. Salvo Pro users can now create unique header files for each custom library, and the resultant library will be automatically assigned a corresponding, unique name. See the Libraries chapter in the Salvo User Manual for more information.

Timer Enhancements: "Lost tick collecting" has been added to the timer's functionality. This will improve long-term timing accuracy in those applications where the scheduler is called slower than once per system tick. This can happen if a task fails to yield to the scheduler for an unduly long period.

Cyclic Timers: For functions (as opposed to tasks) that need to be called on a periodic basis, cyclic timers are an ideal solution with lower overhead than delayed tasks.

Improved Readability: All tutorial and example projects have revamped salvocfg.h files to make the appropriate configuration options clearer for the given distribution (e.g. Salvo Lite).

Libraries and Salvo's mem Module: Salvo libraries are now built without the salvo\mem.c module. This forces every project to have salvo\mem.c as a node, and will therefore prevent run-time errors due to improper project configurations.

Library Organization: Libraries are now located in subdirectories of the salvo\lib folder.
Bug Fixes: OSIdlingHook() problem (SB-15) has been fixed. Workarounds for compiler problems SB-16 and SB-17 are documented in the appropriate Salvo Compiler Reference Manuals. Event flags (see SB-14) have not yet been enhanced, and therefore SB-14's instructions must be followed. No other bugs are known.



  Back to Hitech Main Page    |    Back to Testech Home Page    |    Compiler    |     RTOS    |    Emulator/Debugging