Release notes for embOS Version 3.60d for ARM7/9 ARM RealView Developer Suite 3.0

  1. Tool chain used for build
  2. New features
  3. Improvements
  4. Program corrections
  5. Known problems/limitations
  6. Release history
  7. Miscellaneous

Tool chain used for build

The following tools have been used:

Compiler:  ARM/Thumb C/C++ Compiler,  RVCT3.0 [Build 586]
Assembler: ARM/Thumb Macro Assembler, RVCT3.0 [Build 586]
Librarian: ARM Archiver,              RVCT3.0 [Build 586]
Workbench: CodeWarrior for RVDS, Version 5.7 1815

New features

Version 3.60d

  1. Update to new embOS sources V3.60d
    embOS for ARM and RVDS 3.0 was updated to the new embOS sources V3.60d.
    All new features, improvements and modifications are described in the generic embOS release notes.

Version 3.32m

  1. OS_TimerEx, Extended timer implemented
    Extended timers are software timers which call a user defined callback function when the timer expires.
    In comparison to normal embOS timers, a parameter is passed to the timer callback function.
    The parameter value is initialized during timer creation.

Version 3.32k

  1. NEC SoCLite+ series supported
    embOS for ARM RVDS now comes with a start project for NEC SoCLitePlus startkit.
    The project is prepared for debugging in Flash or SDRAM using JLink RDI.

Version 3.32j

  1. STR71x series supported
    embOS for ARM RVDS now comes with a start project for ST STR71x CPUs.
  2. OS_CSemaRequest implemented
    May be used to decrement a caounting semaphore, if a signal is available.
    The function never blocks the calling task and delivers a result which indicates whether the semaphore was available.

Version 3.32f

  1. OS_INIT_SYS_LOCKS() implemented
    May be used to include initialization code for thread safe system libraries.
    If defined, this new function is called from OS_InitKern().

Version 3.32d

  1. OS_Q_GetPtrTimed() implemented
    New queue retrieval function which waits for a message with specified timeout.

Version 3.32c

    All features of generic 3.32c kernel supported.


Version 3.32i

  1. Task switch to OS_Idle() modified.
    The call of OS_Idle() from OS_ChangeTask can be overwritten (inhibited) by defining the macro OS_IDLE() which is norammly defined as OS_Idle().
    This allows task switching via an exception for specific CPU/compiler versions.

Version 3.32g

  1. Pointer comparison improved for fixed size memory pools (OS_MEMF module).
    Some compiler produced wrong pointer comparison code in far memory model.
    For specific CPU/compiler versions, the new OS_POINTER_TO_VALUE() function was inroduced to deliver correct results in pointer comparison.

Version 3.32c

    First version. None.

Program corrections

Version 3.32l

  1. OS_EVENT_Delete() corrected
    OS_EVENT_Delete() did not work correctly. OS_LeaveRegion() was called inside the function without calling OS_EnterRegion() bfore.
    In debug builds of embOS, the error handler OS_Error() was called with error 151 (OS_ERR_LEAVEREGION_BEFORE_ENTERREGION).
    In release builds the system was blocked because the underflow of region count inhibts all further task switches, or system crashes, because incrementing the region count the next time allows task switches instead of blocking them. The problem existed in all previous versions and is fixed with version 3.32l.
  2. Round-robin task switching corrected.
    Round robin task switching did not work correctly in previous version. A task which was blocked for some reason could be activated. The system crashed during task switch.
    The problem existed since version 3.32j and is fixed with version 3.32l.

Version 3.32k

  1. Handler function _OS_OnTx() for serial communication to embOSView corrected.
    The transmission handler for communication with embOSView might have sent incorrect data to embOSView, because internal control state was updated after sending the data.
    The problem occurred on a new embOS port for a specific CPU only and is fixed with version 3.32k.

Version 3.32h

  1. OS_Error() was required in release build when resource semaphores were used.
    When using release build libraries and resource semaphores, the embOS error handler OS_Error() was required and the file OS_Error.c had to be compiled and linked in a project.
    The problem existed since version 3.28i of embOS and is fixed with version 3.32h.

Version 3.32e

  1. OS_GetMessageCnt() corrected.
    The type of the retun value of OS_GetMessageCnt() was an unsigned integer in release builds, but an integer in debubg builds.
    This was corrected to return an unsigned integer in all builds.
    The problem existed in all previous versions of embOS end is fixed with version 3.32e.

Version 3.32c

    First version. None.

Known problems/limitations

Version 3.32c

    First version. None.

Release history

Version Release date Short explanation
V3.60d 21. Jul 2008 Updated version
V3.32m 05. Apr 2007 Updated version
V3.32j 22. Feb 2007 Updated version
V3.32c 20. Oct 2006 First version with release history


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

Copyright 2001-2008 SEGGER Microcontroller GmbH & Co KG. All rights reserved.
For more information, please visit our website or contact us at