Segger Logo Embedded Software Solutions
Software productsHardware productsDownloadsPricesCustomersOur PartnersSitemapForumAbout us
Release notes embOS version 3.24 for ARM and ARM Software Development Toolkit
  1. Tool chain used for build
  2. New features
  3. Improvements
  4. Program corrections
  5. Known problems
  6. Release history
  7. Miscellaneous

Last Update:
2004-11-17 [AW] V3.24

Tool chain used for build

The following tools have been used:

Compiler:  Norcroft  ARM C vsn 4.90 (ARM Ltd STD2.50)
           Norcroft  Thumb C vsn 1.20 (ARM Ltd STD2.50)
Assembler: ARM AOF Macro Assembler vsn 2.50 (ARM Ltd STD2.50)
Librarian: AOF Librarian version 4.50 (ARM Ltd STD2.50)
Workbench: ARM Project Manager for Windows V2.50

New features

Version 3.22a

  1. OS_PutMailFront() / OS_PutMailFront1
    New mailbox functions to enable LIFO behavior of mailboxes.
  2. OS_PutMailFrontCond() / OS_PutMailFrontCond1()
    New conditional mailbox functions to enable LIFO behavior of mailboxes.

Version 3.20

  1. OS_Suspend() / OS_Resume() implemented
    New functions to suspend and resume tasks unconditionally.
  2. Fixed size memory blocks implemeted
    New functions to allocate fixed size memory blocks from embOS.
  3. Dynamic memory allocation supported by embOS
    Thread safe dynamic memory allocation functions implemented.

Version 3.10m

  1. OS_GetMailTimed()
    New mailbox retrieval function with timeout.
  2. OS_GetpCurrentTimer()
    New info routine. May be used in timer callback routines to examine which timer expired.
  3. OS_GetpCurrentTask()
    New info routine. May be used to examine current running task.
  4. OS_WaitSingleEvent()
    Unmasked events remain unchanged when function returns.
  5. OS_WaitSingleEventTimed()
    Unmasked events remain unchanged when function returns. Timeout for waiting can be specified.
  6. Message Queues
    Message queues enable intertask communication with messages of various size.

Version 3.06f

    1st version for ARM using ARM Tools

Improvements

Version 3.24

  1. Stack check performance increased
    Stack check now runs much faster on 32- and 16-bit target CPUs.

Version 3.10q

    OS_CreateTask now initializes profiling variables. (Required if TCB is used multiple)

Version 3.10m

  1. Separate "rtosinit.c" for each controller
    Support for different controllers is now located in different "RTOSINIT.C" files.
  2. Data format for communication with embOSView modified
    For terminal I/O in embOSView, the data format was changed. Therefore embOSView V3.10 or later is required.

Version 3.06f

    1st version for ARM using ARM Tools

Program corrections

Version 3.20c

  1. OS_GetMailTimed() corrected
    OS_GetMailTimed() did not retrieve a mail after 256 calls, the waiting task remained suspended. Corrected with version 3.20c of embOS.
    This problem exists in all previous embOS versions and is fixed with version 3.20c.

Version 3.10q

  1. OS_GetMail
    OS_GetMail functions corrected (interrupts disabled before call of _GetMail).

  2. OS_Terminate problem with RR
    OS_Terminate problem with RR tasks corrected. TimerTick could set RR/PP pending between UNMARKTASK and OS_Switch. OS_Switch will then call OS_DoRR, which could append OS_pCurrentTask (the one you want to terminate if e.g. OS_Terminate(NULL)).

Version 3.10n

  1. Sample interrupt handler
    For embOS it is not legal to call OS_EnterInterrupt again after final call of OS_LeaveInterrupt has been made. In the sample OS_irq_handler shipped with embOS, there was a possible call of OS_EnterInterrupt after OS_LeaveInterrupt. The sample OS_irq_handler implementation has been corrected.

Version 3.10m

  1. Sample interrupt handler
    For embOS it is not legal to call OS_EnterInterrupt again after final OS_LeaveInterrupt has been already called. In the sample OS_irq_handler shipped with embOS, there was a possible call of OS_EnterInterrupt after OS_LeaveInterrupt. The sample OS_irq_handler implementation has been corrected.

Version 3.06f

    1st version for ARM using ARM Tools

Known problems

Version 3.10m

    Same as 3.06f

Version 3.06f

  1. Compiler warning about modification of R15
    In ARM mode, compiler does warn about using macros OS_EI/OS_DI, if
    you use them between two function calls. Exact compiler message is:


    Warning: R15 corrupted but possibly reused later. This code may
    not work correctly

    However, generated assembler code is correct and methode is exactly
    the same as described in

    ARM
    Software Development Tookit VERSION 2.50
    USER Guide
    Chapter 8 Mixed Language Programming
    8.1.6 Examples - Enabling and disabling interrupts

    You could get rid of compiler warnings by defining macros as real
    functions instead of __inline, but this would cost a function call
    for enabling/disabling interrupts.


  2. "MSR SPSR_cf,RX" is used instead of "MSR SPSR_cxfs,RX"
    ARM Tools version 2.50 or below do have a problem using fields "xs".
    This problem is also documented in:

    ARM Architecture Reference Manual
    Part A - CPU Architecture
    ARM Instructions
    4.1.32 MSR (A4-64)

Release history

Version Release date Short explanation
V3.24 17. Nov 2004 New embOS sources 3.24
V3.10m 28. Feb 2003 Generic 3.10 update
V3.06f 11. Oct 2001 1st version for ARM using ARM Tools

Miscellaneous

This document was first released with version 3.06f of the software.
Software released earlier is documented internally.
This information is available at request.

Copyright SEGGER Microcontroller GmbH & Co.KG. All rights reserved.
For more information, please visit our web site www.segger.com or contact us at info@segger.com
Last update: December 7, 2007