Segger Logo Embedded Software Solutions
Software productsHardware productsDownloadsPricesCustomersOur PartnersSitemapForumAbout us
embOS: Plug-in for IAR Embedded Workbench
| General Info | Supported CPUs | Frame Program | Sample Program | Context switiching time | Interrupt latency | embOS Simulation | embOS IAR Plugin |

Overview

SEGGER's embOS plug-in for IAR Embedded Workbench provides embOS awareness during debugging sessions. This enables you to inspect the state of several embOS primitives such as the task list, resource semaphores, mailboxes, or timers.

Requirements

In order to use the embOS IAR plug-in you need a version of IAR's Embedded Workbench installed and a debug target which uses embOS. Specifically:

  • An embOS version 3.28 or higher is required for complete compatibility. Older embOS versions use different internal structures and the plug-in is therefore of limited use with version prior to 3.28.
  • An IAR Embedded Workbench IDE with a C-SPY debugger version 4.3 or higher is required.

Supported CPUs

The embOS plug-in works with 16-bit or 32-bit CPUs in little- or big-endian mode supported by embOS, but due to limited testing, support can only be granted for the CPUs listed below.

  • Any ARM7 / ARM9 CPU
  • Renesas H8/H8S
  • Renesas M16C
  • NEC V850
  • NEC 78/K0
  • TI MSP430

Installation and Configuration

Installation

The installation procedure is very straightforward since it only requires you to copy the contents of the embOS plug-in package into the IAR common plug-in directory. The directory structure may look like this:

Create a directory embOS below common\plugins in your IAR installation directory. Extract the contents of the embOS plug-in ZIP file into this directory and restart the IAR workbench.

Configuration

By default the embOS plug-in is not loaded during debugging. For each project configuration you have to explicitly enable the plug-in in the debugger section of the project options:

That's all. The embOS plug-in is now available in debugging sessions and may be accessed from the main menu.

Getting started

Overview

During your debugging session, the embOS plug-in is accessible from the IAR Embedded Workbench main menu. Please note that if you are not running a debugging session, there is no embOS menu item available.

From the menu you may activate the individual windows that provide embOS related information. The sections below describe these individual windows. The amount of information available depends on the embOS build used during debugging. If a certain part is not available, the respective menu item is either greyed out or the window column shows a "N/A".

Task list

The task list window lists all current embOS tasks. It retrieves its information directly from the embOS task list.

The individual columns are described below:

Column Description
* A green arrow points at the currently active embOS task.
Id The task control block address that uniquely identifies a task.
Name If available the task name is show here.
Status The task status as a short text.
Timeout If a task is delayed, this column shows the timeout value and in parentheses the point in time when the delay will be finished.
Events The event mask of a task.
Stack Info If available this column shows the amount of used stack space and the available stack space as well as the value of the current stack bottom pointer.
Activations The number of task activations.
Round Robin If round robin scheduling is available, this column shows the number of remaining time slices and the number of time slice reloads.

Mailboxes

A mailbox is a buffer that is managed by the real time operating system. The buffer behaves like a normal buffer; you can put something (called a message) in and retrieve it later. This window shows the mailboxes and provides information about the number of messages, waiting tasks etc.

Column Description
Id The mailbox address.
Messages Shows the number of messages in a mailbox and the maximum number of messages as mailbox can hold.
Message size The size of an individual message.
pBuffer The message buffer address.
Waiting tasks Shows the list of tasks that are waiting on a mailbox, that is their address and name.

Timers

A software timer is an object that calls a user-specified routine after a specified delay. This window provides information about active software timers.

Column Description
Id The timer's address.
Hook The function (address and name) that is called after the timeout.
Time The time delay and the point in time, the timer finishes waiting.
Period The time period the timer runs.
Active Shows whether the timer is active or not.

Resource semaphores

Resource semaphores are used to manage resources by avoiding conflicts caused by simultaneous use of a resource. This window provides information about available resources.

Column Description
Id The resource semaphore address.
Owner The address and name of the owning task.
Use counter Counts the number of semaphore uses.
Waiting tasks Lists the tasks (address and name) that are waiting at the semaphore.

System information

A running embOS contains a number of system variables that are available for inspection. This window lists the most important ones.

Settings

To be safe, the embOS plug-in imposes certain limits on the amount of information retrieved from the target, to avoid endless requests in case of false values in the target memory. This dialog allows you to tweak these limits in a certain range, e.g. if your task names are no longer that 32 characters you may set the maximum string length to 32, or if they are longer than the default you may increase that value.

After changing settings and pressing the OK button, your changes are applied immediately and should become noticeable after the next window update, e.g. when hitting the next breakpoint. However the settings are restored to their defaults on plugin reload.

Software download

Copyright SEGGER Microcontroller GmbH & Co.KG. All rights reserved.
For more information, please visit our web site www.segger.com or contact us at info@segger.com
Last update: December 7, 2007