Release notes for embOS Version 3.28g for ARM7/9 ARM RealView Developer Kit 2.1

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

Last Update:
2005-07-07 [AW] 3.28g

Tool chain used for build

The following tools have been used:

    Compiler:  ARM/Thumb C/C++ Compiler,  RVCT2.1 [Build 526] for ST
    Assembler: ARM/Thumb Macro Assembler, RVCT2.1 [Build 526] for ST
    Librarian: ARM Linker,                RVCT2.1 [Build 526] for ST
    Workbench: RealView Debugger 1.7.0.380
  

New features

Version 3.28g

  1. OS_GetSuspendCnt()
    New info function to examine suspension state and count of a task.

Version 3.28

  1. OS_Terminate() modified
    Task may be terminated anytime, regardless of task state.
    All resources claimed by the terminated task are automatically released.

Version 3.26

    All features of generic 3.26 kernel supported.

Improvements

Version 3.26

    First version. None.

Program corrections

Version 3.28g

  1. Mailbox, semaphore and other "waitable objects" corrected
    Since version 3.28, embOS uses a new activation / deactivation method, which is common to all "waitable objects".
    During deactivation, interrupts were enabled to early. This could result in wrong entries into the list of waiting tasks and system crash.
    During activation of tasks waiting on an object, tasks switches were allowed. This could result in unlimmited number of task switches when a higher priority task was activated.
    These problems existed since version 3.28 and are fixed with version 3.28g.
  2. OS_CreateCSema() corrected
    During creation of a counting semaphore control stucture, some internal control variables were not initialized to zero.
    If a counting semaphore was dynamically created in the heap memory, this resulted in invalid pointer values and the system crashed.
    This problem existed since version 3.28 and is fixed with version 3.28g.
  3. OS_MEMF_Create() corrected
    During creation of a fixed size memory block control stucture, some internal control variables were not initialized to zero.
    If a fixed zize memory pool was dynamically created in the heap memory, this resulted in invalid pointer values and the system crashed.
    This problem existed since version 3.28 and is fixed with version 3.28g.
  4. OS_WakeTask() corrected
    A call of OS_WakeTask() in trace build of embOS did block task switches thus halting the system.
    This problem existed since version 3.24 and is fixed with version 3.28g.

Version 3.28

  1. OS_WaitCSemaTimed() corrected
    Semaphore handling was changed with embOS sources version 3.26.
    Unfortunately,during call of OS_WaitCSemaTimed() an internal control counter was decremented twice, which resulted in wrong control state of semaphore. Overflow of this counter caused, that the calling task remained suspended until the timeout expired, even though, the semaphore was signaled.
    This problem existed in version 3.26 only and is fixed with version 3.28.
  2. OS_GetMailTimed() / mailbox handling corrected
    During call of OS_GetMailTimed, interrupts were re-enabled too early. If a mail was just put into a mailbox and the timeout occured at the same time, a mailbox internal control variables which managed waiting tasks was set to a wrong value.
    This resulted in wrong mailbox handling and caused task waiting for mail kept suspended, even though, mail was available. This problem existed in all previous versions of embOS and is fixed with version 3.28.

Version 3.26a

  1. OS_MEMF_Release() corrected
    OS_MEMF_Release() might have failed according to absolute addres of memory block.
    The problem occured because address calculation was done with 16bit interger value.
    Calculation was modified to use 32bit values to fix the problem.

Known problems/limitations

Version 3.28g

    None.

Release history

Version Release date Short explanation
V3.28g 07. Jul 2005 New embOS sources 3.28g, corrected version
V3.28a-V3.28f Internal, not distributed
V3.28 02. Apr 2005 New embOS sources 3.28, corrected version
V3.26 09. Feb 2005 First version with release history

Miscellaneous

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


Copyright 2001-2005 SEGGER Microcontroller Systeme GmbH. All rights reserved.
For more information, please visit our website www.segger.com or contact us at info@segger.com