• 受託開発のご用命はコチラまで
  • 探し物が見つからない場合のご用命はポジティブワンまで
  • 見積もり依頼、製品問い合せはこちらまで
  • ポジティブワンNFCラボ
  • 技術サポート窓口
  • 特集&ソリューション
  • ダウンロード
  • 旧サイトはこちら

SEGGER

emWin トライアル版ダウンロード

 

マニュアル(PDF)

 

ソフトウェア(ZIP)


emWinホームに戻る 


SEGGER
RTOS&Middleware

embOS サンプルプログラム

 

サンプルプログラム

マルチタスク環境での割り込み方式シリアル通信のサンプルプログラムです。このままあらゆるCPU上でご利用いただけます。

/*
SEROUT.C

Interrupt driven serial communication with embOS real time operating system
Sample program that can be used without changes in applications

Needs definitions similar to the following in MAIN.H :

#define INTHANDLERST interrupt [0] void IntHandlerSR(void)
#define _WriteSIO(c) U0TB = c;

Declares the following functions for other modules :

void SEROUT_Write(char c);
void SEROUT_Init(void);
*/

#include "MAIN.H" // include file for all modules, incl. RTOS.H
#include "HWDEF.H" // include for hardware definitions

#ifndef SIZEOF_SO
#define SIZEOF_SO (50)
#endif

MAILBOX MBSO; // Mailbox for transmission

char BufferSO[SIZEOF_SO];
char Sending;

//
// Defines the interrupt routine for serial transmission.
// Basic operation is as follows :
// If there is one character in Buffer it is send
// Otherwise the global variable Sending is cleared
//

INTHANDLERST
{
char c;
EnterInterrupt();
if (!GetMailCond1(&MBSO, &c)) {
_WriteSIO(c);
} else
Sending =0;
LeaveInterrupt();
}

//
// Writes one character to the SIO
// Basic operation is as follows :
//
// If transmission already in progress, put character in buffer
// Where the interrupt routine will get it
// Otherwise set global variable Sending and write into register
//

void SEROUT_Write(char c) {
SDI(); // disable interrupts
if (Sending)
PutMail1(&MBSO, &c);
else {
Sending =1;
_WriteSIO(c);
}
RI(); // restore former status of IE-flag
}

void SEROUT_Init(void) {
CREATEMB(&MBSO, 1, SIZEOF_SO, &BufferSO);
}


サンプルプログラム関連ページ 
SEGGER
RTOS&Middleware

embOS シミュレーション

 

embOSシミュレーション

embOSシミュレーションは実際のハードウェア上でどのように動作するか可視化、シミュレーションができ、お客様のアプリケーション開発を楽にします。目的の試したいハードウェアの動作を忠実に再現することができます。このソフトにはVisual Studioでも使えるサンプルテンプレートが用意されており開発の取っ掛かりとしても利用することができます。

 Embos-Simulation-VisualMake

 

デバイスシミュレーション

embOSシミュレーションはハードウェアデバイスのシミュレートと可視化する機能があります。プログラムを動かした時のLEDの動作などを観ることができます。

Embos-Simulation-DeviceLED1



シミュレーション関連ページ 
SEGGER
RTOS&Middleware

embOS フレームプログラム

 

フレームプログラム

このサンプルフレームプログラムはメモリがシンプルなマルチタスクプログラムを作るライブラリに関連付けてコンパイルする必要があります。

----------------------------------------------------------------------
File : Main.c
Purpose : Skeleton program for OS
-------- END-OF-HEADER ---------------------------------------------

#include "RTOS.h"

OS_STACKPTR int StackHP[128], StackLP[128]; /* Task stacks */
OS_TASK TCBHP, TCBLP; /* Task-control-blocks */

static void HPTask(void) {
while (1) {
OS_Delay (10);
}
}

static void LPTask(void) {
while (1) {
OS_Delay (50);
}
}

/*********************************************************************
*
* main
*
*********************************************************************/

int main(void) {
OS_IncDI(); /* Initially disable interrupts */
OS_InitKern(); /* initialize OS */
OS_InitHW(); /* initialize Hardware for OS */
/* You need to create at least one task here ! */
OS_CREATETASK(&TCBHP, "HP Task", HPTask, 100, StackHP);
OS_CREATETASK(&TCBLP, "LP Task", LPTask, 50, StackLP);
OS_Start(); /* Start multitasking */
return 0;
}

 

このプログラムはお客様のエミュレータ上でシングルタスクプログラムとして動作し確認することができます。

タスク切り替えがいかにはやいかを体験していただくことができます。このプログラムを拡張することで手軽に開発を始めることができます。今までどおりのやり方で開発することができ、自動的にアイドリング時のパワーセーブ機能がつくので消費電力にも優れます。



フレームプログラム関連ページ 
SEGGER
RTOS&Middleware

embOS IARプラグイン

 

IARプラグイン

embOS IARプラグインはデバッグ中の動作を監視し、お客様はタスクリスト、リソースセマフォ、メールボックスやタイマーの状態を調べることができます。

システム要件

  • ver3.28以降のembOS
  • ver4.3以降のIAR Embedded Workbench IDE(C-SPYデバッガー搭載)

 

対応CPU

embOSが対応するあらゆるCPUに対応しています。また、動作を実際に確認しているのは以下のリストにあるCPUです。

  • Any ARM7 / ARM9 CPU
  • Any ARM Cortex M0 CPU
  • Any ARM Cortex M3 CPU
  • Atmel AVR / ATMega
  • Renesas H8/H8S
  • Renesas M16C
  • Renesas M16C80
  • Renesas M32C
  • Renesas R32C
  • Renesas R8C
  • Renesas RX
  • Renesas SH2A
  • Renesas (NEC) V850 / V850E / V850ES / V850E2
  • Renesas (NEC) 78/K0
  • TI MSP430 / MSP430x

 

embOSプラグインの入手方法

すべてのembOSダウンロードバージョンに付属しています。

インストールと導入方法

1.インストール

手順は非常に簡単です。ARMのプラグインディレクトリにembOSのプラグインパケージをコピーするだけです。

embos iar filetree

2.導入

初期設定ではプラグインは有効になっていません。プロジェクトオプションのデバッガーでプラグインを有効にして下さい。

embos iar debugger options

以上です。これでデバッグ中やメインメニューからプラグインが利用できるようになります。

 

利用法

 概要

デバッグセッションの間のみIAR Embedded Workbenchのメインメニューからプラグインを選択できます。デバックセッションが動いてない時は利用できません。

embos iar menu item

メニューからembOSの情報を表示することができます。また、利用できない情報がある場合はグレー表示となり選択できません。

 

 タスクリスト

タスクリストはembOSにある全てのタスクの情報を表示しています。緑の矢印は実行中のタスクを指し示します。

またCPUがアイドル状態の場合は最下段のidleを指し示します。このidleは常に表示されていますが、タスクではなくidle状態にあることを示すmのです。

embOS-IAR-Plugin-Tasklist

項目説明
緑矢印 CPUが処理中のタスクを指し示します
Prio タスクの優先度
Id タスクの固有アドレス
Name タスク名
Status タスクの状態
Timeout タスクが遅延している場合Time outと表示します。また括弧内にタスクが完了するまでの時間を表示します
Stack Info 使用中スタック数、使用可能スタック数、現在のbottom stackの位置を表示します
Run count  アクティブ中のタスク数
Time slice 残りのタイムスライスとタイムスライスのリロード数を表示しています
Events イベントマスク

 

タスク感知( ver3.63以降のembOSとver5.20以降のIAR Embedded Workbenchが要件となります)

以下のCPUで利用できます。

  • Any ARM7 / ARM9 / ARM11 and XScale core
  • Any ARM Cortex M3 CPU
  • Renesas M16C
  • Renesas R32C
  • Renesas RX
  • Renesas SH2A

C-Spyプラグインを利用することで任意のタスクの状況を追跡、操作することができます

選択されたタスクは黄色い背景がつきます。

embOS-IAR-Plugin-Task-Blocked

embos iar BlockedTask Registerembos iar BlockedTask CallStack

 

メールボックス

embos iar mailboxes

項目説明
Id メールボックスのアドレス
Messages メッセージボックス内のメッセージ数と、最大収容可能メッセージ数を表示
Message size それぞれのメッセージのサイズ
pBuffer メッセージの一時アドレス
Waiting tasks 待機中のタスクを表示

 

タイマー

embos iar timers

ColumnDescription
Id タイマーのアドレス
Hook タイムアウトのあとに呼ばれた関数を表示
Time 遅延時間などのタイマーの状況を表示
Period タイマーの動作回数
Active 動作中かどうかを表示

 

リソースセマフォ

embos iar rsemas

項目説明
Id リソースセフォマのアドレス
Owner 使用しているタスクの名前とアドレス
Use counter セマフォを使用しているユーザー数
Waiting tasks セマフォで待機中のタスクのリスト

 

システム情報

重要なシステム変数のモニタリングができます。

embos iar system information

 

設定

embOSプラグインではプラグインの動作を安定化させるために常時監視するタスク数、情報数などを制限しています。この制限をある範囲でユーザーが目的に合わせて設定することができます。

embos iar settings

設定が完了したらOKを押して下さい。つぎのブレイクポイントで設定が適用されます。

また、プラグインが再読込されるたびにこれらの値は初期設定に書き換えられます。

 


IARプラグイン関連ページ 
SEGGER
RTOS&Middleware