Real time OS for MSP430 microcontroller family

Site News

The site is moving to Please update your bookmarks!
Fixed the wrong behaviour of the SetTimer function. The updated SOS sources can be downloaded from here.
The site is moving to Please update your bookmarks!
Have checked the sources of the msp430-gcc, and saw that task function attribute patch is there, so you can download new SOS sources and avoid using the code shown below (see news from 15.02.04). With the new version of SOS that code is unnecessary and should be removed from you projects.
The testing of the new version SOS2 is almost comleted. The SOS2 provides much faster sheduler (single pass algorithm for KSetEvents) and is 100% compatible with SOS. It will be available soon for the $50 fee.
I have found a BUG in SOS. When the task function has a nonzero Frame Size, the needed memory is not allocated on the stack, since naked attribute is used with the task functions. I have made a patch for msp430-gcc which implements new task function attribute. A quick fix is to insert the following code at the start of the task function (needed only if FrameSize>0):
asm volatile("sub #.L__FrameSize_"__FUNCTION__",r1" : :);
There was the same problem with the osinterrupt functions. But it is not likely to have a FrameSize>0 in interrupt handlers, and I have already fixed it (no changes are needed for your programs, just download new SOS sources from the download section, and recompile SOS).
I have changed the SOS license to make it clearer. The new copyright is here. Also all old source code is removed form the web-site.
SOS is FREE now. The new copyright is here.
New SOS sources are in the download section. Now you can choose not to use the IDLE task. If you do not use IDLE task, the system will call __EnterLPM function (you should implement this function by yourself) during periods of IDLE time. Your __EnterLPM function should look like:
void __EnterLPM(void)
   for(;;)LPM1;  //Use LPM appropriate for your application
Now it is possible to use SOS in the low power applications.
New SOS sources are in the download section. Fixed BUG in CreateTaskExt/CreateTask that affected dynamic task creation/termination.
The documentation section is updated (Added some examples, also there are some additions and corrections by Garst R. Reese. Many thanks for contributions).
New SOS sources are in the download section. Fixed some timer issues. Changed osinterrupt macro syntax to match the standard msp430-gcc's interrupt macro syntax.
The site devoted to the my DSP HF transceiver (that uses SOS intensively) is started. You can visit it here.
The documentation section is updated (Added Timers section).
Discussion group has been started.
Join Now !
The documentation section is updated.
The old SOS sources are no longer available, please use the newer one from here.
Added 'osinterrupt' function attribute for defining interrupts that uses SOS kernel calls.
Added new functions SupendTask, ResumeTask (and kernel mode KSuspendTask, KResumeTask).
Now you can disable Round-Robin sheduler by commenting #define RR_SHEDULER line in the 'Config.h' file.
Added dint() and eint() macroses (the same as in the 'signal.h') to prevent conflicts with 'signal.h'.
Updated SOS sources are here.
Minor BUG in the file OS.h is fixed. Updated SOS sources are here.
Minor corrections of documentation section. (Added table of contents, started Events section.)
Updated documentation section. (Added critical section functions, notes on interrupts and some corrections.)
Fixed some incorrect links on this site.
Fixed path to header file inttypes.h. This will make file OS.h compatible with UNIX systems.
SOS sources are available for downloading here.
The begining of this site

Coming soon...


Home| Contents| Next
Designed by Oleg Skydan
Send mail