Release notes embOS V3.10p for C166/C167 using Keil compiler

Updated: 2003-06-03 [TB] V3.10p
Updated: 2002-07-02 [AW] V3.10
Updated: 2002-06-25 [TB] V3.09

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

Tool chain used for build

The following tools have been used:
Compiler        :  C166 V4.27
Assembler       :  A166 V4.26
Librarian       :  LIB166 V4.28
Workbench       :  uVision2 V2.38a


  1. Task switch time (SMALL memory model, Release build): 65.2 us = 1304 CPU clock cycles
  2. Interrupt latency (SMALL memory model, Release build): 0.8 us = 16 CPU clock cycles
Absolute timings are based on 20MHz CPU clock and program execution in external FLASH

New features

Version 3.10p

  1. Fast interrupts
    embOS does no longer disable interrupts except when modifying the user stack pointer. Instead ILVL is set to 7. Therefore any interrupt with level 8 or higher can still be processed. See also the CPU specific manual regarding details.

Version 3.10

  1. OS_WaitSingleEvent()
    Unmasked events remain unchanged, when function returns.
  2. OS_WaitSingleEventTimed()
    Unmasked events remain unchanged, when function returns. Timeout for waiting can be specified.

Version 3.09



Version 3.10p

  1. Interrupt latency
    By supporting fast interrupts, the interrupt latency has been reduced to 3 instructions only.

Program corrections

Version 3.10p

  1. embOSView NAT error
    Due to segmentation, it is possible, that e.g. pt!=p, although they both point to the same physical address. The problem occurs, if the compiler has to cast a physical address sent by embOSView to a segmented address and then compares it with another segmented address. In result it was possible, that embOSView reported a NAT (not a task) error and could not display the task list. The modificaion forces the compiler to compare physical address in such a case instead of comparing segmented address.
  2. OS_GetMail
    Functions corrected (interrupts disabled before call of _GetMail)
  3. OS_CreateTask
    The function now initializes profiling variables. (Required if TCB is used multiple)

Known problems / limitations


Release history

Version Release date Short explanation
V3.10p 03.Jun. 2003 New compiler and fast interrupts
V3.10 02.Jul. 2002 Two event functions added
V3.09 25.Jun. 2002 First release for C166/C167 using Keil compiler


This document was first released with version 3.09 of the software.

Copyright 2002 SEGGER Microcontroller Systeme GmbH. All rights reserved.
For more information, please visit our website or contact us at