文書 OSEK-KPIT-H8S2215.doc【H-debugger 対応】
TOPPERS/OSEK カーネル
アプリケーションノート

Ｈ８Ｓ／２０００シリーズ（Ｈ−ＵＤＩ）
Ｈ８S／２２１５Ｒ ＫＰＩＴ−ＧＮＵ［Ｈｅｗ］版

２００８／１０／０２

Ｒｅｖ１．３０（２００８／１０／０２）-1-

文書 OSEK-KPIT-H8S2215.doc

TOPPERS/OSEK Kernel
Toyohashi Open Platform for Embedded Real-Time Systems/
OSEK Kernel
Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
Toyohashi Univ. of Technology, JAPANCopyright (C) 2004 by Embedded and Real-Time Systems Laboratory
Graduate School of Information Science, Nagoya Univ., JAPANCopyright (C) 2004-2006 by Witz Corporation, JAPANCopyright (C) 2008 by A-one Corporation, JAPAN
上記著作権者は，以下の (1)〜(4) の条件か，Free Software Foundation によって公表されている GNU General Public License の Version 2 に記述されている条件を満たす場合に限り，本ソフトウェア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
(1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権表示，この利用条件および下記の無保証規定が，そのままの形でソー
スコード中に含まれていること．
(2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用できる形で再配布する場合には，再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作権表示，この利用条件および下記の無保証規定を掲載すること．
(3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用できない形で再配布する場合には，次のいずれかの条件を満たすこと．
(a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
作権表示，この利用条件および下記の無保証規定を掲載すること．
(b) 再配布の形態を，別に定める方法によって，TOPPERS プロジェクトに報告すること．
(4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害からも，上記著作権者および TOPPERS プロジェクトを免責すること．
本ソフトウェアは，無保証で提供されているものである．上記著作権者および TOPPERS プロ
ジェクトは，本ソフトウェアに関して，その適用可能性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用により直接的または間接的に生じたいかなる損害に関しても，その責任を負わない．

-2-

文書 OSEK-KPIT-H8S2215.doc

目
第１章

次

概要 .............................................................................................................................. 5

１−１．はじめに ...................................................................................................................... 5
１−２．関連文書 ...................................................................................................................... 5
１−３．開発環境 ...................................................................................................................... 5
１−４．製品梱包内容............................................................................................................... 5
１−５．サポート ...................................................................................................................... 5
第２章

TOPPERS/OSEK カーネルの開発階層........................................................................ 6

第３章

サンプルアプリケーションの概要(H2215)................................................................... 7

３−１． サンプルアプリケーションの構成........................................................................... 7
３−２． 動作フロー（ゼネラル） ......................................................................................... 8
３−３．

H-debugger 対応に必要なポーティング............................................................... 13

３−４．

H-debugger でのプロファイル表示(DEF 7.00B 以上) ......................................... 14

第４章

ハード構成およびシステム構成 ................................................................................. 15

４−１． ハード構成............................................................................................................. 15
４−２．システム構成............................................................................................................. 17
４−２−１．H8S/2215R のプログラムメモリ MAP.......................................................... 17
４−２−２．プログラムサイズの詳細 MAP ...................................................................... 17
４−２−３．CPU 基板(HSB8S2215ST)の I/O マップ表................................................... 18
第５章

サンプルアプリケーションの準備と動作確認 ............................................................ 20

５−１．Hew での準備（ルネサス製） .................................................................................. 20
５−２．H-debugger(DEF.exe)での準備（Aone 製）............................................................ 25
５−３．サンプルアプリケーションを走らせる前の準備 ...................................................... 29
５−４．サンプルアプリケーションを走らせます。.............................................................. 30
第６章

新規プロジェクトを追加する場合の手順例................................................................ 32-3-

文書 OSEK-KPIT-H8S2215.doc

６−１．プロジェクトタイプの作成 ....................................................................................... 32
６−２．新規プロジェクトを登録します。 ............................................................................ 34
第７章

備考 ............................................................................................................................ 42

７−１．おわりに .................................................................................................................... 42--4-

文書 OSEK-KPIT-H8S2215.doc

第１章

概要

１−１．はじめに本アプリケーションノートは、TOPPERS/OSEK カーネルをもとに「H-debugger」と「H8S/2215R」用にポーティングしたサンプルソフトです。
サンプルソフトの他アプリケーションへの利用／変更に関しての制限は一切ありませんので自由にお使い下さい。ただし、このサンプルソフトの不具合により発生した損害に対しての責任、及び、修正の義務は負いません。また、このサンプルソフトに関する質問の回答義務も負えませんが、メールでのお問い合わせに関しては、弊社責任の範囲内でしたら出来るだけ御答えするよ
うに努めます。Mail: cat-i@aone.co.jp

１−２．関連文書
本アプリケーションは、下記ドキュメントを参考にして作成しました。
１）TOPPERS/OSEK カーネル外部仕様書 −−−−−−−−−−−

株式会社ヴィッツ製

２）TOPPERS/OSEK カーネル SG 取扱説明書 −−−−−−−−−

株式会社ヴィッツ製

３）TOPPERS/OSEK カーネルアプリケーションノート −−−−

株式会社ヴィッツ製

４）OSEK/VDX Operating System Ver2.2.1−−−−−−−

OSEK/VDX 仕様

５）OSEK/VDX Binding Specification Ver1.4.2 −−−−−−

OSEK/VDX 仕様

６）OSEK/VDX OIL Specification Ver2.5

OSEK/VDX 仕様−−−−−−−＊OSEK/VDX が公開している仕様書は、http://www.osek-vdx.org/ よりダウンロードにより入手して下さい。

１−３．開発環境
１）Hew Version 4.04.01.001−−−−−−−−−−−−−−−−Renesas 製
２）KPIT GNUH8[ELF] Toolchain v0801 −−−−−−−−−−KPIT 製にて作成しましたので各自用意をして下さい。

１−４．製品梱包内容
１）サンプルソフト用 CD（本書 PDF ファイルも含む）−−−− １枚・本製品の価格体系は、CD 配布の実費のみになっております。

１−５．サポート
TOPPERS/OSEK に関するサポートが必要な場合は、TOPPERS ホームページの「関連製品」「サポート・サービス」の項をご覧になり、御利用下さい。
http://www.toppers.jp/ ＜−−-TOPPERS ホームページ-5-

文書 OSEK-KPIT-H8S2215.doc

第２章

TOPPERS/OSEK カーネルの開発階層¥toppers_osek¥config// 機種依存階層¥h8s-kpitgnu-2215// 開発環境分類+CPU 依存部¥H2215// システム依存部¥include// インクルードファイル階層¥kernel// カーネル共通部階層¥sample// サンプル階層(未使用)¥sg// システムジェネレータ階層¥impl_oil// OIL 記述の実装定義部階層¥syslib// システムライブラリ階層¥h8s-kpitgnu-2215// 開発環境分類+CPU 依存部¥H2215// システム依存部¥tools// Hew 管理階層
¥h8s-kpitgnu-2215// 開発環境分類+ワークスペース¥H2215// プロジェクト１¥appsrc// サンプルソース [*.c]¥debug// オブジェクト¥Project[*.x]// 新規プロジェクト作成用// テンプレート

本サンプルソフトは、１本のプロジェクトを用意しています。
１）プロジェクト１¥H2215

実行オブジェクト【H2215.x/H2215.mot】

本アプリケーションノートのサンプルプロジェクト

青字部分は、TOPPERS/OSEK 正式リリース（オープンソース）になります。その他は弊社で改造および作成をしました。

--6-

文書 OSEK-KPIT-H8S2215.doc

第３章

サンプルアプリケーションの概要(H2215)

３−１．

サンプルアプリケーションの構成

サンプルアプリケーションは、下記の構成にて作成しました。

１）５個のタスク① MainTask ------------------

各 Task の起動処理② Task1 ------------------------

センサー入力(2 点)の状態表示③ Task2 ------------------------

PWM1/2/3 の 3 点パルス出力④ Task3 ------------------------

RS232C による PWM デューティー比変更⑤ HighPriorityTask --------

各タスクのスタックオーバー監視

２）４個の割込み処理① システムタイマー

TMR0/1(16bit)1ms 割込み SysTimerInt()② SCI0 受信エラー

ERI0

ErrHwSerialInt()③ SCI0 受信

RXI0

RxHwSerialInt()④ SCI0 送信終了

TXI0

TxHwSerialInt()３）５個のイベント
MainEvt/T1Evt/T2Evt/T3Evt/THEvt
４）２個のアラーム
MainCycArm/SetEvtHArm
５）２個のコールバック処理
CallBackArm(TimerCallBack コールバック利用のソフトタイマ)
６）１個のウォッチドッグタイマー
WatchDogClear
７）スタートアップフックルーチン
ErrorHook
８）シャットダウンフックルーチン
ShutdownHook
９）プレタスク／エラーフックルーチン
PreTaskHook/ErrorHook１０）1 個のアプリケーションモード
AppMode1--7-

文書 OSEK-KPIT-H8S2215.doc

３−２．

動作フロー（ゼネラル）
PRIORITY = 14
MainTask

イベント待全 Task の StatusGet

DIPSW 入力処理

DIPSW 入力

Task1 起動?

Task1 Wait

Task2 起動?

Task2 Wait

Task3 起動?

Task3 Wait

5ms 毎のサイクル起動 WaitEvent(MainEnv)

全 Task の状態を取得 GetTaskState(....)
Task 起動の為、DIPSW 入力

SwInput()

DIPSW 状態入力 Sw = GetInSw()
Yes Task1 起動 ActTask() イベント起動
Yes Task1 にイベント発行 SetEvent(..)
Yes Task2 起動 ActTask() イベント起動
Yes Task2 にイベント発行 SetEvent(..)
Yes Task3 起動 ActTask() イベント起動
Yes Task3 にイベント発行 SetEvent(..)

動作状態を LED で表現する。

①Task1(センサー入力)の起動条件 −−

基板上の SW5 ON で起動する。

②Task2(ＰＷＭ出力)の起動条件 −−−

基板上の SW4 ON で起動する。

③Task3(ＲＳ設定)の起動条件 −−−−

パソコンよりスペース入力--8-

文書 OSEK-KPIT-H8S2215.doc

PRIORITY = 11
センサー入力タスク（イベント起動）

Task1

WaitEvent(T1Env) MainTask よりイベント発行
イベント待SensorInp()
外部接点に変化があった
場合、表示する。

Task1 終了?

yes
自タスクをサスペンド。
AppSuspendTask()①センサ入力 −−−−−基板上の SW2/SW3 をセンサ替りに使用する。
②Task1 の終了条件 −−基板上の SW5 OFF で終了とする。

--9-

文書 OSEK-KPIT-H8S2215.doc

PRIORITY = 12
PWM1/2/3 出力タスク（イベント起動）

Task2

WaitEvent(T2Env) MainTask よりイベント発行
イベント待

PWM1 の出力

Pwm1Step の設定

PWM2 の出力

Pwm2Pre の設定

PWM3 の出力

Pwm3Pre の設定

Task1 終了?

yes
自タスクをサスペンド。
AppSuspendTask()①Task2 の終了条件 −− 基板上の SW4 ON で終了とする。

-- 10 -

文書 OSEK-KPIT-H8S2215.doc

PRIORITY = 13
ＲＳ設定タスク

Task3

WaitEvent(T3Env) MainTask からのイベント待ち
イベント待パソコンから指示を受信する
GetRecvBuff(&c)

指示あり？

パソコンからの指示に従い、各処理をする。

＜パソコンからの指示コード＞①'Q'キー −−−−−− PWM1 センタ+1( -50〜 50)②'W'キー −−−−−− PWM1 センタ-1( -50〜 50)③'A'キー −−−−−− PWM2 パーセント+1(-100〜100)④'S'キー −−−−−− PWM2 パーセント-1(-100〜100)⑤'Z'キー −−−−−− PWM3 パーセント+1(-100〜100)⑥'X'キー −−−−−− PWM3 パーセント-1(-100〜100)⑦

Space −−−−−−⑧'E'キー −−−−−− Task3 の終了指示-

メニュー再表示- 11 -

文書 OSEK-KPIT-H8S2215.doc

PRIORITY = 15
HighPriorityTask

イベント待各 Task のスタック監視タスク

10ms 毎のサイクル起動 WaitEvent(THEnv)

各 Task 用に割り振られたシステム起動時の Initialize<sys_config.c:sys_initialize()>

スタックエリアの先頭ので、使用するスタックエリアを「0xaa」値で埋めてある。

内容が「0xaaaa」になっているか照合する。

書き換った

正常

StackOver と判断して、
TaskID を RS232C 経由にてパソコンに通知する。

＊送り続ける-- 12 -

文書 OSEK-KPIT-H8S2215.doc

３−３．

H-debugger 対応に必要なポーティング

H8S/2215R は E10A-USB(HUDI)仕様の為、デバッガ用ポーティングは不要です。

-- 13 -

文書 OSEK-KPIT-H8S2215.doc

３−４．

H-debugger でのプロファイル表示(DEF 7.00B 以上)

ターゲット側の RAM を使用して、各 Task のプロファイル表示をします。
１）ポーティング手続き.¥syslib¥h8s-kpitgnu-2215¥sys_timer.h#define USE_PROFILE#ifdef USE_PROFILE#define PROFILESIZE

512#define PROFILEPRETASK

1#endif①「USE_PROFILE」を有効にすると、プロファイル表示が可能になります。不要になった場
合は、コメントアウトして下さい。
②「PROFILESIZE」は、ターゲット側で確保する RAM のバイト数になります。
アプリケーションに応じて調整して下さい。
③「USE_PROFILE」を有効にする事により、下記変数が確保されます。
UINT8_TaskProFile[PROFILESIZE];UINT8TaskProFlg;

UINT16

TaskProFileIdx;④システムタイマー割り込みのタイミングで現 Running 中の TaskID を「_TaskProFile」に順次記憶していきます。（リングバッファ）⑤サンプリング場所は、「プレタスクフックルーチン」と「ISR(SysTimerInt)」の 2 箇所です。
⑥プロファイル表示させたい場合は、DEF メニュー＜データ＞−＜プロファイル表示＞をクリックして下さい。
[3-4-1]表示例「更新」PB をクリックしますと最新データを表示します。
「周期更新」にチェックしますと、常時最新状態をターゲットからオンザフライ機能により、データを収集し、Task 状態を表示します。

-- 14 -

文書 OSEK-KPIT-H8S2215.doc

第４章

ハード構成およびシステム構成

４−１．

ハード構成

この解説書を進めるにあたり、下記ハード構成の準備をお願いします。

CPU 基板DC 3.3V(+)

HSB8S2215ST(北斗製)
H8S/2215R
24.000MHz

H-debugger

J4

AH7000
AHC-E10A-H8
USB ｹｰﾌﾞﾙ

J6(RS232C)

AHC-RS232C-TTL(RS ﾄﾞﾗｲﾊﾞ付き)＜デバッグに必要なオプションケーブル＞-①AHC-E10A-H8

E10A-USB-H8 仕様の変換ケーブル(別売品)

1本②AHC-RS232C-TTL

RS232C ドライバー付きケーブル（別売品）

1本- 15 -

文書 OSEK-KPIT-H8S2215.doc

１）CPU 基板(HSB8S2215ST)の J4 と AH7000 をケーブル(AHC-E10A-H8)で接続します。
２）AH7000 とパソコンを USB ケーブルで接続します。
３）CPU 基板(HSB8S2215ST)の J6 とパソコンをケーブル(AHC-RS232C-TTL)で接続します。
４）CPU 基板(HSB8S2215ST)に電源（DC +3.3V)が供給できるように接続します。

［接続応用例］-- 16 -

文書 OSEK-KPIT-H8S2215.doc

４−２．システム構成
サンプルのシステムブロック図およびメモリマップと I/O 表を記述します。
４−２−１．H8S/2215R のプログラムメモリ MAP
0x0--------------ベクタテーブル①

CPU 内部
H8S/2215R
フラッシュ ROM

0x200-----------アプリケーションプログラム開始番地②

256Kbyte

0x3FFFF------FROM 最終

CPU 内部 RAM

0xFFA000----アプリケーション使用 RAM の開始番地③

約 20Kbyte
0xFFEFBF---初期スタックポインタ位置(0xFFEFC0)④＜セクション名>① ベクタテーブル----------------------------------------- .vects②アプリケーションプログラムの開始番地---------- .text,.init,.rodata....etc③アプリケーション使用 RAM の開始番地---------- .data,.bss....etc④初期スタックポインタ位置---------------------------- .stack
４−２−２．プログラムサイズの詳細 MAP
開始番地
0x200
0xF9E
0x24800x4E640x5367

-

サイズ
0xD9E
0x14E20x29E40x503

分類
アプリケーション（main....etc）
割込みハンドラ、内部 I/O 関係の関数
TOPPERS/OSEK カーネル
C ライブラリ、ROM テーブル、etc
最終アドレス- 17 -

文書 OSEK-KPIT-H8S2215.doc

４−２−３．CPU 基板(HSB8S2215ST)の I/O マップ表
CPU 基板(HSB8S2215ST)の SW
基板ｼﾝﾎﾞﾙ
CPU 基板
SW2
SW3
SW4
SW5

ﾎﾟｰﾄｼﾝﾎﾞﾙ
CPU 基板
PF0
PF1
P32
P74

方向

用途

入力
”
”
”

センサー入力 0
センサー入力 1
Task2 の起動
Task1 の起動

ﾎﾟｰﾄｼﾝﾎﾞﾙ
CPU 基板P10/TIOCA0
P11/TIOCB0
P12/TIOCC0
P13
P14

方向

用途

P16
P17

出力
出力

CPU 基板(HSB8S2215ST)の使用関係
基板ｼﾝﾎﾞﾙ
CPU 基板LED-D1
LED-D2
LED-D3
LED-D4
LED-D5
LED-D6
LED-D7
LED-D8-- 18 -

出力
出力
出力
出力
出力

サーボ (PWM1)
右モータ(PWM2)
左モータ(PWM3)
右モータ方向 0=正左モータ方向 0=正
空き
LED0
LED1

文書 OSEK-KPIT-H8S2215.doc

CPU 基板(HSB8S2215ST)の RS232C
ﾎﾟｰﾄｼﾝﾎﾞﾙ
CPU 基板

P31/RXD0
P30/TXD0

VCC
GND

-

ピン番号
CPU 基板
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

J6 適用ケーブル AHC-RS232C-TTL(別売)

空き
空き
空き
空き
空き
空き
空き
空き
空き
空き
空き
空き
黒白
赤白
空き
空き
空き
空き
空き
空き
空き
空き
赤
空き
黒
空き

- 19 -

方向

信号名

入力
出力

SCI0-RXD(TTL)
SCI0-TXD(TTL)

VCC

+3.3V

GND

GND

文書 OSEK-KPIT-H8S2215.doc

第５章

サンプルアプリケーションの準備と動作確認

５−１．Hew での準備（ルネサス製）
１）TOPPERS のホームページより、OSEK カーネル最新リリースをダウンロードして下さい。
URL:http://www.toppers.jp/osek-os.html
２）ダウンロードした「osek_os-x.x.lzh」を、適当なディレクトリに置き解凍して下さい。
３）サンプルアプリケーション用 CD の「.¥toppers_osek_Kpit_2215」の指定ファイルを、
OSEK カーネルにコピーします。
＜DL した OSEK 側＞＜CD 側＞.¥toppers_osek_Kpit_2215¥config¥h8s-kpitgnu-2215 --> .¥toppers_osek¥config.¥toppers_osek_Kpit_2215¥syslib¥h8s-kpitgnu-2215 --> .¥toppers_osek¥syslib.¥toppers_osek_Kpit_2215¥tools¥h8s-kpitgnu-2215--> .¥toppers_osek¥tools

上記ディレクトリ下の全ファイルを、OSEK カーネルにディレクトリごと全コピーして下さい。

４）Hew を起動します。
・Hew Version 4.04.01.001−−−−−−−−−−−−−−−−Renesas 製
・KPIT GNUH8[ELF] Toolchain v0801 −−−−−−−−−−KPIT 製

５）Hew メニューの＜ファイル＞−＜ワークスペースを開く＞でワークスペースを開きます。
・".¥toppers_osek¥tools¥h8s-kpitgmu-2215¥h8s_kpitgnu_2215.hws"を指定します。
・ディレクトリ情報が変わりますので、下記ウォーニングが表示されますが、気にせず「はい」を指定して下さい。
[5-1-1]-- 20 -

文書 OSEK-KPIT-H8S2215.doc

６）アクティブプロジェクトが「H2215」になっていることを確認します。H2215 になっていない場合は、Hew メニューの＜プロジェクト＞−＜アクティブプロジェクトに設定＞で「H2215」を指定して下さい。
[5-1-2]

７）現 KPIT 版では、ディレクトリの相対指定[..\]が出来ない為、インクルードディレクトリの変更が必要です。
Hew メニューの＜ビルド＞−＜Compiler＞をクリックして下さい。
[5-1-2-1]

全てのディレクトリを現ワークスペースのディレクトリに変更して下さい。

マウスでのダブリク
リックで変更できます。

[5-1-2-2]<Brows>指定が早いかと思います。

-- 21 -

文書 OSEK-KPIT-H8S2215.doc

Hew メニューの＜ビルド＞−＜Assembler＞をクリックして下さい。
[5-1-2-3]

全てのディレクトリを現ワークスペースのディレクトリに変更して下さい。

Hew メニューの＜ビルド＞−＜Linker＞をクリックして下さい。
[5-1-2-4]<Input>タグをクリックします。

-- 22 -

文書 OSEK-KPIT-H8S2215.doc[5-1-2-5]

全てのディレクトリを現ワークス
ペースのディレクトリと相違があった場合は現ディレクトリに変更して下さい。
設定は、「$(CONFIGDIR)*.o」にしましたので変更する必要は無いかと思います。

マウスでのダブリクリックで変更できます。

[5-1-2-6]

新規プロジェクトの作成時に必要です。
８）アクティブプロジェクトが「Project」に変更して、７）項と同じく＜Compiler＞と＜Assembler＞と＜Linker＞のディレクトリを変更と確認をして下さい。

９）アクティブプロジェクトを「H2215」に戻します１０）Hew メニューの＜ビルド＞−＜すべてをビルド＞をクリックして下さい。
[5-1-3]-- 23 -

文書 OSEK-KPIT-H8S2215.doc

１２）ビルド結果[5-1-4]

Build Finished「0 Errors 0 Warnings」になれば成功です。

-- 24 -

文書 OSEK-KPIT-H8S2215.doc

５−２．H-debugger(DEF.exe)での準備（Aone 製）
１）H-debugger コントロールソフト「DEF.exe」を起動します。
２）DEF メニューの＜オプション＞−＜環境設定＞の「本体機種設定」が正しい機種と COM
ポートの選択をされているか確認して下さい。

３）DEF メニュー＜オプション＞−＜CPU 設定＞をクリックします。
[5-2-1]
CPU シリーズ名：H8S/2215R

クロック(MHz)：24.0000

リセット遅延防止タイマ使用しない：チェック

最低上記 3 項目を設定後、「設定」にクリック
します。

４）DEF メニュー＜ファイル＞−＜アブソリュートファイル設定＞をクリックします。
[5-2-2]
左図のように 3 箇所にチェックします。

-- 25 -

文書 OSEK-KPIT-H8S2215.doc

５）DEF 画面、左下隅の「Start」をクリックします。（ターゲット側の電源は ON の事）[5-2-3]

６）エミュレーションモードに遷移させます。
[5-2-4]「OK」をクリックします。

[5-2-4-1]＜フラッシュＲＯＭ全消去＞
H8S/2215R を初めて電源 ON する場合
は、「する」側にチェックします。
1 回以上、H-debugger からダウンロード
した場合は、「しない」側にチェックします。
「開始」をクリックして下さい。

-- 26 -

文書 OSEK-KPIT-H8S2215.doc

７）ターゲット側と正常な通信を確立しますと下図の様な画面になります。
[5-2-5]８）DEF メニュー＜ファイル＞−＜ダウンロード＞をクリックします。
.¥toopers_osek¥tools¥h8s-kpitgnu-2215¥tools¥H2215¥debug まで降ります。
[5-2-6]
H2215.x を選択後「開く」をクリックします。

[5-2-7]
ダウンロード中は、このようなインジケータ表示します。

-- 27 -

文書 OSEK-KPIT-H8S2215.doc

９）ダウンロードが成功しますと、下図のような DEF 画面になります。
[5-2-8]

ShortPB[RstMon]On でこの View 画面になります-- 28 -

文書 OSEK-KPIT-H8S2215.doc

５−３．サンプルアプリケーションを走らせる前の準備
１）CPU 基板「HSB8S2215ST」上の SW2/3/4/5 を OFF の状態にします。
２）パソコン側のソフト「Tera Term」を起動します。
[5-3-1]「Serial」にチェックを入れ、ＰＣ機のシリアル COM 番号を指定します。

「OK」をクリックします。

３）「Tera Term」メニューの＜Setup＞−＜Serial port＞をクリックします。
[5-3-2]
Port 以外の通信仕様を左図のように設定して下さい。

「OK」をクリックします。

-- 29 -

文書 OSEK-KPIT-H8S2215.doc

５−４．サンプルアプリケーションを走らせます。
１）DEF のショート PB「Go」をクリックします。[5-2-8]図を参照「Tera Term」画面は下画面のようになります。
[5-4-1]２）センサン入力タスク(Task1)を起動します。
①CPU 基板「HSB8S2215ST」上の SW5 を ON にします。
「Tera Term」画面は下画面のようになります。
[5-4-2]
センサ入力値を 16 進数で表示します。
センサ代わりに SW2/SW3 を代用します。

３）PWM 出力タスク(Task2)を起動します。
①モータドライブ基板側の電源「DC+6V」を供給します。
②CPU 基板「HSB8S2215ST」上の SW4 を ON にします。
「Tera Term」画面は下画面のようになります。
[5-4-3]-- 30 -

文書 OSEK-KPIT-H8S2215.doc

４）RS 設定タスク(Task3)を起動します。
①「Tera Term」よりスペースキーを入力します。
「Tera Term」画面は下画面のようになります。
[5-4-4]②PWM1（サーボ）を出力します。
ＱとＷ

キーを押して下さい。数値にもとずいて PWM 出力します。

③PWM2（右モータ）を出力します。
ＡとＳ＜CPU 基板「HSB8S2215ST」の LED-D2＞

キーを押して下さい。数値にもとずいて PWM 出力します。

＋数値は正転、−数値は逆転します。
④PWM3（左モータ）を出力します。
ＺとＸ＜CPU 基板「HSB8S2215ST」の LED-D1＞＜CPU 基板「HSB8S2215ST」の LED-D4＞＜CPU 基板「HSB8S2215ST」の LED-D3＞

キーを押して下さい。数値にもとずいて PWM 出力します。

＋数値は正転、−数値は逆転します。

＜CPU 基板「HSB8S2215ST」の LED-D5＞

オシロ等で波形計測してみて下さい。
５）各タスクの Running の状態を見てみます。
①DEF メニュー＜データ＞−＜プロファイル表示＞をクリックします。
[5-4-5]
各タスクの Run 状態を見ることができます。

６）作者より本サンプルの利用により、TOPPERS/OSEK カーネル下でのユーザーアプリケーションプ
ログラムの作成に少しでもお役に立てれば幸いです。

-- 31 -

文書 OSEK-KPIT-H8S2215.doc

第６章

新規プロジェクトを追加する場合の手順例

６−１．プロジェクトタイプの作成
TOPPERS/OSEK 下で新規プロジェクトを追加する場合、Hew 設定を簡略化するための手順案を記述します。
H2215 用のプロジェクトテンプレーを作成しましたので、下記手順でプロジェクトタイプ（カスタム）を作成して下さい。
（必ず Compiler]と Assembler と Linker のディレクトリが変更済みである事！！）

１）空プロジェクト「Project」をアクティブプロジェクトに指定します。
[6-1-1]

２）Hew メニュー＜プロジェクト＞−＜プロジェクトタイプの作成＞をクリックします。
[6-1-2]
保存を促すメッセージです。
「はい」をクリックします。

-- 32 -

文書 OSEK-KPIT-H8S2215.doc[6-1-3]
プロジェクト新規登録時に指定するタイプ名を入力する。
ex)toppers_osek_kpit_project
はい(Y)側をチェック「次へ」をクリックします。

[6-1-4]

左図の様に「デフォルト」のままで、「完了」をクリックします。

-- 33 -

文書 OSEK-KPIT-H8S2215.doc

６−２．新規プロジェクトを登録します。
１）Hew メニュー＜プロジェクト＞−＜プロジェクトの挿入＞をクリックします。
[6-2-1]
新規プロジェクト
側チェックにて「ＯＫ」をクリッ
クします。
２）プロジェクト名を登録します。
[6-2-2]①プロジェクトタイプを前項で登録した「toppers_osek_kpit_project」を指定します。
②プロジェクト名に任意な目的プロジェクト名を入力します。後の説明でプロジェクト名が必要になりますので、ここでは新規プロジェクト名を「H2215new」とします。
③上記設定で「ＯＫ」をクリックします。
３）Hew に新規プロジェクトが作成されます。
[6-2-3]
左図のように、新規プロジェクトが Hewに登録されます。

-- 34 -

文書 OSEK-KPIT-H8S2215.doc

４）新規プロジェクト用に新規ディレクトリ作成とファイルをコピーします。
① .¥toopers_osek¥config¥h8s-kpitgnu-2215 の下に、新規プロジェクト名「H2215new」のディレクトリを作成します。
[6-2-4-1]＜追加１＞②作成した「H2215new」に、「H2215」下の全ファイルをコピーします。
[6-2-4-2]
コピー確認-- 35 -

文書 OSEK-KPIT-H8S2215.doc① .¥toopers_osek¥syslib¥h8s-kpitgnu-2215 の下に、新規プロジェクト名「H2215new」のディレクトリを作成します。
[6-2-4-3]＜追加２＞②作成した「H2215new」に、「H2215」下の全ファイルをコピーします。
[6-2-4-4]
コピー確認-- 36 -

文書 OSEK-KPIT-H8S2215.doc

５）システムジェネレータ用バッチファイルの一部を変更します。
.¥toopers_osek¥tools¥h8s-kpitgnu-2215¥H2215new¥call_sg.batのファイルを何らかのエディタで開きます。
＜元ファイル＞ [6-2-5-1]@REM SG 実行バッチファイル@REM カーネルコンフィグレーション
del kernel_cfg.cdel kernel_id.h..¥..¥..¥sg¥sg.exe

main.oil-template=..¥..¥..¥config¥h8s-kpitgnu-2215¥Project¥Project.sgt-I..¥..¥..¥sg¥impl_oil -os=ECC2＜変更ファイル＞ [6-2-5-2]@REM SG 実行バッチファイル@REM カーネルコンフィグレーション
del kernel_cfg.cdel kernel_id.h..¥..¥..¥sg¥sg.exe

main.oil-template=..¥..¥..¥config¥h8s-kpitgnu-2215¥H2215new¥Project.sgt-I..¥..¥..¥sg¥impl_oil -os=ECC2

上記の様に、Project を新規プロジェクト名「H2215new」に変更します。

-- 37 -

文書 OSEK-KPIT-H8S2215.doc

６）新規プロジェクト「H2215new」にユニット「ソースファイル」を登録します。

①フォルダ名「config_h8s-kpitgnu-2215」に登録
Hew メニュー＜プロジェクト＞−＜ファイルの追加＞をクリックします。
.¥toppers_osek¥config¥h8s-kpitgnu-2215 に移動します。
[6-2-6-1]①cpu_config.c②cpu_support.s③start.sの 3 ファイルを「追加」します。

ファイル選択後「追加」をクリックしますと、Hew ツリーでは一旦「Assembly souce file」と「C souce file」のフォルダに入りますので、マウスドロップにて目的フォルダに移動して下さい。
[6-2-6-2]
移動後の状
態

-

- 38 -

文書 OSEK-KPIT-H8S2215.doc②フォルダ名「config_h8s-kpitgnu-2215_Project」に登録
Hew メニュー＜プロジェクト＞−＜ファイルの追加＞をクリックします。
.¥toppers_osek¥config¥h8s-kpitgnu-2215¥H2215new に移動します。
[6-2-6-3]①sys_config.c②sys_suport.sの 2 ファイルを「追加」します。

前項と同じ様に、別フォルダに入りますので、マウスドロップで目的フォルダに移動して下さい。

③フォルダ名「kernel」に登録
Hew メニュー＜プロジェクト＞−＜ファイルの追加＞をクリックします。
.¥toppers_osek¥kernel に移動します。
[6-2-6-4]①alarm.c②event.c③interrupt.c④osctl.c⑤resource.c⑥task.c⑦task_manage.cの 7 ファイルを「追加」します。
前項と同じ様に、別フォルダに入りますので、マウスドロップで目的フォルダに移動して下さい。

-- 39 -

文書 OSEK-KPIT-H8S2215.doc④フォルダ名「syslib_h8s-kpitgnu-2215」に登録
Hew メニュー＜プロジェクト＞−＜ファイルの追加＞をクリックします。
.¥toppers_osek¥syslib¥h8s-kpitgnu-2215 に移動します。
[6-2-6-5]①sys_timer.c②sys_serial.c③osek_lib.cの 3 ファイルを「追加」します。

前項と同じ様に、別フォルダに入りますので、マウスドロップで目的フォルダに移動して下さい。

⑤フォルダ名「syslib_h8s-kpitgnu-2215_Project」に登録
Hew メニュー＜プロジェクト＞−＜ファイルの追加＞をクリックします。
.¥toppers_osek¥syslib¥h8s-kpitgnu-2215¥H2215new に移動します。
[6-2-6-6]①hw_config.c②hw_led.c③hw_pwm.c④hw_serial.c⑤hw_sw.c⑥hw_sys_timer.cの 6 ファイルを「追加」します。
前項と同じ様に、別フォルダに入りますので、マウスドロップで目的フォルダに移動して下さい。

-- 40 -

文書 OSEK-KPIT-H8S2215.doc

７）新規プロジェクト「H2215new」のリンク順番を指定します。
Hew メニューの＜ビルド＞−＜Linker＞をクリックして下さい。
[6-2-7-1]<Input>タグをクリックします。

[6-2-7-2]

全てのディレクトリを現ワークス
ペースのディレクトリと相違があった場合は現ディレクトリに変更して下さい。
設定は、「$(CONFIGDIR)*.o」にしましたので変更する必要は無いかと思います。

マウスでのダブリクリックで変更できます。

[6-2-7-3]

変更が必要な場合は、「h2215new」のディレクトリに変更する。

-- 41 -

文書 OSEK-KPIT-H8S2215.doc

以上の作業で、新規プロジェクトの追加作業は終了です。目的のプロジェクト仕様に合わせた「main.c」を作成して下さい。
フォルダ名「tools_h8s-kpitgnu-2215_Project_appsrc」
ディレクトリ「.¥toppers_osek¥tools¥h8s-kpitgnu-2215¥H2215new¥appsrc」に空ファイル
として用意してあります。
８）OS 定義および Task の追加やプライオリティを変更したい場合は、ディレクトリ
「.¥toppers_osek¥tools¥h8s-kpitgnu-2215¥H2215new」にある、「main.oil」のテキストフ
ァイルを変更して下さい。

定義仕様に関しては、「OPPERS/OSEK カーネル SG 取扱説明書」株式会社ヴィッツ製をご覧下さ
い。

第７章

備考

７−１．おわりに
本アプリケーションノートは、いたらない所が多々有ると思います。意味不明な箇所がありましたら、遠慮なくメールにて申し付け下さい。積極的に改訂し、より判り易いノートにしたく思っておりますので、皆様の協力を御願い申し上げます。
2008 年 9 月-- 42 -

著者

文書 OSEK-KPIT-H8S2215.doc-- 43 -

文書 OSEK-KPIT-H8S2215.doc〒４８６−０８５２
愛知県春日井市下市場町 6-9-20
エーワン株式会社
Tel
0568-85-8511
Fax
0568-85-8501
E-mail cat-i@aone.co.jp
URL
http://www.aone.co.jp-- 44 -