Release notes for embOS V3.82f for Renesas H8/H8S/H8SX and Renesas HEW

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

Tool chain used for build

The following tools have been used:

Compiler: RENESAS ch38 V6.02.10.000 Assembler: RENESAS asm38 V6.01.01.000 Librarian: RENESAS optlnk V9.01.01.000 Workbench: RENESAS HEW V4.07.01.001

New features

Version 3.82f

  1. Update to latest embOS generic sources V3.82f.
  2. BSP for RSKH8S2456 corrected.

Version 3.82e

  1. Update to latest embOS generic sources V3.82e.
  2. BSP for RSKH8S2456 added.

Version 3.62a

  1. OS_STACK_ALIGN implemented
    OS_STACK_ALIGN may be defined to ensure a specific task stack alignment during task creation.
    To ensure a stack alignment of 8 bytes, OS_STACK_ALIGN has to be defined to 8 in the CPU specific embOS internal header file OS_Priv.h.
    Modification of this define requires recompilation of the embOS libraries.

Version 3.62

  1. OS_TICK_Config() and OS_TICK_HandleEx() implemented
    The extended embOS tick handler was modified to handle a runtime configurable tick increment and fractions.
    These paramter are setup by the new OS_TICK_Config() function and may be re configured during runtime.

Version 3.60d

  1. OS_POWER module implemented.
    The OS_POWER module may be used to control different power saving modes when entering idle state.
    Individual flags for different peripherals may be set whenever a peripheral needs power or clock, and may be reset, when power is not needed.
    The state of the power flags may be examined during OS_Idle by a call of OS_POWER_GetMask().
    This allows to switch off all of those peripherals which are not needed during idle times.

Version 3.60c

  1. Update to new embOS generic sources V3.60c.

Version 3.60b

  1. Update to new embOS generic sources V3.60b.

Version 3.60a

  1. Update to new embOS generic sources V3.60a.
    BSP for H8S2472 (2600 CPU) added.
  2. embOS trial versions may run an unlimited number of tasks.
    The embOS trial versions run unlimited as long as only 3 tasks are created.
    Since version 3.60a, a time limit is added to the trial version. During the first 15 minutes, an unlimited number of tasks can be created.
    If more than three tasks were created during the time limit time, the system stops and calls OS_Error() when the time limit exceeded.

Version 3.60

  1. OS_AddTickHook() and OS_RemoveTickHook() implemented.
    These new functions allow the application to add and remove user function calls (hook functions) to the OS timer tick handler.

Version 3.52c

  1. OS_SetTaskName() introduced
    OS_SetTaskName() allows modification of task names on the fly.
    This may be useful if the functionality of a task changes during runtime and the new state should be shown using embOSView or an other task visualisation tool.

Version 3.52

    None

Improvements

Version 3.62

  1. Internal representation of scheduler states modified.
    The states which control panding task switches and show the reason of the task switch are handled in compact structure now.
    The previous version used bit fields and definitions which were difficult to understand and which were difficult to handle.
    The new definition and structure is easier to handle which results in faster code execution.

Version 3.60e

  1. OS_ERR_WRONG_STACK error code added.
    Some ports of embOS for CPUs with different stack pointers require that the CPU enters main() with a specific stack selected.
    These ports of embOS now contain code to examine the stack used in main and call OS_error() with the new error code OS_ERR_WRON_STACK, if the startup code entered main with the wrong stackpointer selected.

Version 3.60c

  1. OS_ASSERT_INIT_CALLED()
    A new assertion is added which checks whether OS_InitKern() was called before tasks are created.
    In debug builds, the OS_Error() function will be called, if tasks are created before calling OS_InitKern().
  2. OS_GetTaskName() modified.
    In previous versions, OS_GetTaskName() had to be called with a valid task ID. Now, the NULL pointer may be passed as argument to address the current task.
    The function will always return a valid string.
    The previous implementation might have returned a NULL pointer, which could cause problems, if the result was not evaluated be the calling function.

Version 3.60b

  1. OS_ASSERT_ISR_LEVEL()
    A new assertion was defined which will call OS_Error() if the CPU runs in interrupt mode but OS_EnterInterrupt() or OS_EnterNestableInterrupt() was not called.
    With version 3.60b the assertion is not implemented, it is just defined and usage is prepared. The implementation will be made in future versions of embOS.

Version 3.60

  1. OS_GetVersion() implemented as function
    OS_GetVersion() may be used by the application to retrieve the embOS library version. The result may be used to verify whether the library version matches the embOS header file RTOS.h.

Version 3.52e

  1. All embOS variables located in one module.
    All embOS variables are located in one module now. In previous versions of embOS, some module specific embOS variables were located in the module they were used for.

Version 3.52

    None

Program corrections

Version 3.60a1

    MakeShip batch file corrected. OS_Priv.c was missing in source code shipping.

Version 3.60e

  1. OS_EVENT_Create() corrected.
    OS_EVENT_Create() could call the errorhandler OS_Error() with errorcode OS_ERR_2USE_EVENTOBJ if an Eventobject was created dynamically or as a local obejct in a function.
    This happened, if the un-initialized data area of the event object contained one specific byte (id code) of the event object.
    The problem existed in all previous embOS versions and is fixed with version 3.60e.
  2. embOSView corrected.
    When the update interval of embOSView was set to 200ms or a longer value, the reaction of user input or mouse events was blocked for the same time.
    The problem existed since version 3.32 of embOSView and is fixed with version 3.52b.

Version 3.60c

  1. Extended task context corrected.

Version 3.60b

  1. Preemptiv task switch from interrupt corrected

Version 3.52b

  1. OS_SendString() corrected.
    When sending an empty string, the calling task was suspended forever.
    The problem existed in all previous embOS versions and is fixed with version 3.52b.
  2. embOSView corrected.
    When the update interval of embOSView was set to 200ms or a longer value, the reaction of user input or mouse events was blocked for the same time.
    The problem existed since version 3.32 of embOSView and is fixed with version 3.52b.

Version 3.52a

  1. OS_Terminate() for XR-build corrected.
    OS_Terminate() in XR-builds might have failed and the system stuck in an endless loop.
    All other library modes were not affected.

Version 3.52

    None

Known problems / Limitations

Version 3.52

    None

Release history

Version Release date Short explanation
V3.82f 19. April 2010 Update to latest embOS generic sources V3.82f.
BSP for RSKH8S2456 corrected.
V3.82e 31. Mar 2010 Update to latest embOS generic sources V3.82e.
BSP for RSKH8S2456 added.
V3.62a1 03. Aug 2009 MakeShip batch file corrected.
V3.62a 14. Oct 2008 Update to new embOS generic sources V3.62a.
V3.60e 26. Aug 2008 Update to new embOS generic sources V3.60e.
V3.60c 28. Apr 2008 Update to new embOS generic sources V3.60c.
Extended task context corrected.
V3.60b 28. Mar 2008 Update to new embOS generic sources V3.60b.
Preemptiv task switch from interrupt corrected.
V3.60a 12. Mar 2008 Update to new embOS generic sources V3.60a.
BSP for H8S2472 (2600 CPU) added.
V3.52 23. Aug 2007 Initial release, based on embOS V3.52

Miscellaneous

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


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