Pumpkin User Forums
  Service Bulletins
  SB-26: Salvo: Updated AVR Context Switcher

Post New Topic  
profile | register | preferences | faq | search

UBBFriend: Email This Page to Someone! next newest topic | next oldest topic
Author Topic:   SB-26: Salvo: Updated AVR Context Switcher
Salvo Tech Support
Moderator
posted December 17, 2004 13:25     Click Here to See the Profile for Salvo Tech Support     Edit/Delete Message   Reply w/Quote
Applies To

All Salvo for AVR distributions.

Description of Problem

An error in the Salvo context switcher for all memory models with 16-bit stack pointers (SP) leaves open the possibility of stack and/or memory corruption.

The error will occur ONLY if an interrupt occurs during a very narrow window (just a single instruction, in up to two different Salvo functions) during a Salvo context switch, AND the actions inside the Salvo context switcher will result in a carry operation from the low byte to the high bytes of the SP.

Typical AVR Stack pointer initialization, coupled with the fact that Salvo tasks run just below main() in an application's call tree, mean that this run-time error is extremely unlikely, and would only occur in tasks that have a very large number of auto variables, and/or in applications with large (>250 byte) stack usage.

Suggested Workaround

Patches have been issued for all Salvo distributions. Users should replace Salvo libraries (Lite, tiny, SE, LE and Pro) and source code (Pro) with the newer versions in the patches.

Fixed In

Salvo for AVR v3.2.4-c.

------------------
--------
Salvo Technical Support
Please request all tech support through the Forums.

IP: 63.203.232.106

All times are ET

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic
Post New Topic  
Hop to:

Contact Us | Pumpkin Home Page

2000-2008 Pumpkin, Inc. All Rights Reserved. Pumpkin and the Pumpkin logo, Salvo and the Salvo logo, The RTOS that runs in tiny places, CubeSat Kit and the CubeSat Kit logo are all trademarks of Pumpkin, Inc. All other trademarks are the properties of their respective owners.


Ultimate Bulletin Board 5.46a