emWin upgrade     Trade-In program     Web shop
Head office Germany
US office
                   




V850/E/ES, Green Hills

embOS for NEC V850 was developed for and with Green Hills compiler and supports all memory models offered by this compiler. It comes in two versions with an easy to use start project for Green Hills Multi 1.8.9 and Multi 2000 embedded workbench. Software development with debugger and simulator is supported.

 

Pricing Software and documentation download Notification Subscribe to embOS software notification

 

Resources and performance data

Memory usage
Kernel size (ROM) 1708 bytes
Kernel RAM usage 41 bytes
RAM usage per task control block 32 bytes
RAM usage per resource semaphore 8 bytes
RAM usage per counting semaphore 8 bytes
RAM usage per mailbox 20 bytes
RAM usage per software timer 20 bytes
RAM usage event 0 bytes
Min. stack-size per task (RAM) 256 bytes
Timing
Context switch time Max. 192 clock cycles (6 µs), independent of number of tasks
Interrupt latency time Max. 64 clock cycles (2 µs)
Kernel CPU usage/TICK Less than .15% of total calculation time at 1000 interrupts/second (1ms TICK)
Basic time unit (TICK) Typ. 1 ms, min. 10 µs (100 kHz interrupt frequency)
Features
Max. no. of tasks Unlimited (by available RAM only)
Max. no. of mailboxes Unlimited (by available RAM only)
Max. no. of semaphores (resource/binary/counting) Unlimited (by available RAM only)
Max. no. of software timers Unlimited (by available RAM only)
Max. no. of priorities Unlimited
Stack size idle task (RAM) 0 (no memory needed)
Nested interrupts Permitted
Task switches from within ISR Possible

Absolute timings given above were measured with embOS release build on an V850EMS1 CPU running at 32MHz.

embOSView offers system analysis during runtime

embOSView with NEC V850EMS1


Release Notes embOS V850 for GHS Multi 1.8.9 compiler
Release Notes embOS V850 for GHS Multi 2000 compiler


Release notes for embOS V850 GHS Multi V3.84

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

Tool chain used for build

The following tools have been used:

Compiler: GHS CCV850 MULTI V800 V5.1.6 Assembler: GHS As850(e) MULTI V800 V5.1.6 Librarian: GHS AX MULTI V800 V5.1.6 Workbench: GHS MULTI V5.1.6

Performance

  1. Task switch time
    < 1.2 us
  2. Interrupt latency
    < 1 us

Absolute timings are based on release libraries running on an V850E2_MN4 at 200 MHz

New features

Version 3.84

  1. Support for V850E2 cores added
    embOS for V850E for GHS Multi now comes with libraries and a startproject for the V850E2 cores.
    The sample start project runs on an V850E2_MN4 Evaluation board, but may be used for other V850E2 cores also.
  2. New embOS sources V3.84
    All new features of the new embOS sources are described in the embOS generic release notes and manuals.

Version 3.82h

  1. New release based on new sources
    The new release of embOS for V850E is based on generic embOS sources version 3.82h
  2. embOS interrupt stack implemented
    embOS for GHS MULTI now comes with functions to switch to a separate interrupt stack in an interrupt service routine.
    Interrupt stack switching may reduce the task stack load significantly.
    The interrupt stack switching procedure and functons are described in the new CPU specific user manual.

Version 3.80k

  1. New release based on new sources
    The new release of embOS for V850E is based on generic embOS sources version 3.80k
  2. Upgrade to MULTI V5.1.6
    embOS for GHS MULTI was compiled with the new MULTI version for V800.
    The sample projects were updated to the new gpj format.

Version 3.62

  1. New release based on new sources
    The new release of embOS for V850E is based on generic embOS sources version 3.62.
  2. Start project for NEC Touch it! demonstration kit added.
    embOS for GHS MULTI now comes with a start project for the NEC Touch it! demonstration kit with V850ES/JG2 CPU.
    The start project is prepared to be downloaded into the target CPU using NEC Minicube 2.
  3. Upgrade to MULTI V4.2.4
    embOS for GHS MULTI was compiled with the new MULTI version for V800.

Version 3.52a

  1. New release based on new sources
    The new release of embOS for V850/V850e is based on generic embOS sources version 3.52a.
  2. ROM monitor support removed
    The new release of embOS does not include ROM monitor support in the start projects.

Version 3.06h

  1. ROM monitor support
    Special handling for ROM monitor environment has been added.

Version 3.06

  1. Serial interface for embOSView shared with application
    The serial interface used for communication with embOSView is now available for the application.
    embOSView can serve as a terminal for the target application in parallel with trace and profiling over the same serial interface.
    The user application can call the new function OS_SendString() to send data to the terminal, OS_SetRxCallback() to set a callback function for received characters.
  2. Trace build added
    embOS can be traced during runtime with embOS Viewer version 3.06.
    This allows monitoring of the API functions and their parameters called by the application.
    Task- and API-specific filters can be defined via embOSView or directly by the application program via new API calls.
    This functionality requires the trace build (DT or EDT libraries)
  3. New event function
    OS_WaitEvent_Timed() implemented to handle timeout conditions during waiting for events.

Version 3.04h

  1. Dynamic profiling
    Profiling code is now executed only if turned on at run time. This means that the profiling builds now have almost the same performance as the non-profiling builds if the kernel is not communicating with the viewer.

Version 3.04

  1. Support for embOSView
    embOS Viewer can communicate with embOS via UART if the MCU is properly initialized and the required interrupt routines are present. (Default for V850E is UART 1, 38400 baud). This can be easily changed in RTOSInit.c
    embOSView is now shipped with the software.
  2. Profiling
    New profiling builds allow measurement of task execution times.
  3. Improved support for nested interrupt
    OS_EnterNestableInterrupt(), OS_LeaveNestableInterrupt() defined.
  4. New timer functions introduced
    OS_SetTimerPeriod(),OS_GetTimerPeriod() introduced, to modify / check reload value of timer.
    OS_GetTimerStatus() introduced to check whether timer is active.
    OS_GetTimerValue() introduced to check remaining time of timer.
  5. Additional functions
    OS_SetTimeSlice() added to modify the timeslice of a task during runtime.
    OS_CreateCSema() modified; now an initial value of sema can be set.
  6. Modified functions
    OS_ClearEvent() now returns the actual state of events before clearing.

Improvements

Version 3.82h

  1. embOS interrupt stack implemented
    embOS for GHS MULTI now comes with functions to switch to a separate interrupt stack in an interrupt service routine.
    Interrupt stack switching may reduce the task stack load significantly.
    The interrupt stack switching procedure and functons are described in the new CPU specific user manual.

Version 3.52e

  1. All embOS variables placed into one module
    All embOS variables are located in the module OSGlobal and are located in zero data area.
    Accessing embOS variables from ZDA has the advantage of smaller code and is required for the embOS scheduler.
    The linker files have to be setup to enable the zero data area.

Version 3.52a

  1. Several new functions
    New embOS sources version 3.52a delivers several new functions.

Program corrections

Version 3.80k1

  1. One file was missing in the source shipment
    The CPU specific file OS_GetCPUState.c was not included in the source shipment.
    Corrected with version 3.80k1.

Version 3.06h

  1. Confusing error message corrected
    When calling OS_Unuse more often than OS_Use, OS_ERR_TASKLIST_CORRUPT was sent instead of OS_ERR_UNUSE_BEFORE_USE.

Version 3.06f

  1. Round Robing Task Problem corrected
    In very specific situation it was possible that a round robin task got 100%
    of CPU time for round robin tasks instead of sharing that time with other
    round robin tasks.

Version 3.04

  1. Modified functions
    OS_StartTimer() changed to match doc exactly.
    OS_GetMailCond() had assertions which did not permit usage in interrupt or software timers (debug build only). Fixed.

Known problems / Limitations

Since Version 3.62

  1. embOS for V850E GHS does not support V850 cores
    embOS for V850E comes with libraries for V850E/V850ES and V850E2 cores.
    The older V850 core is not supported since version 3.62 of embOS for V850E.

Release history

Version Release date Short explanation
V3.84 22. Sep 2011 V850E2 support added.
V3.82h 04. Jun 2010 Interrupt stack implemented.
V3.80k1 17. Dec 2009 Missing file added.
V3.80k 02. Sep 2009 New release based on embOS V3.80k
V3.62 04. Sep 2008 New release based on embOS V3.62
V3.52e 12. Nov 2007 New release based on V3.52e
V3.52a 31. Aug 2007 New release based on V3.52a
V3.06h 07. Jan 2002 ROM monitor support added
V3.06f 02. Oct 2001 Round Robing Task Problem corrected
V3.06e 20. Sep 2001 Scheduler improved
V3.06 07. Jun 2001 New version with trace functions
V3.04r 16. Mar 2001 First version with release history

Miscellaneous

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