source: anotherchoice/tags/jsp-1.4.4-full-UTF8/doc/m32c.txt@ 26

Last change on this file since 26 was 26, checked in by ykominami, 12 years ago

initial

File size: 28.4 KB
RevLine 
[26]1 = TOPPERS/JSPカーネル ユーザズマニュアル =
2 (M32C ターゲット依存部)
3
4 (Release 1.4.4 対応,最終更新: 20-May-2011)
5
6------------------------------------------------------------------------
7 TOPPERS/JSP Kernel
8
9 Toyohashi Open Platform for Embedded Real-Time Systems/
10 Just Standard Profile Kernel
11
12 Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
13 Toyohashi Univ. of Technology, JAPAN
14 Copyright (C) 2003-2004, 2010, 2011 by Naoki Saito
15 Nagoya Municipal Industrial Research Institute, JAPAN
16 Copyright (C) 2003-2004 by Platform Development Center
17 RIOCH COMPANY,LTD. JAPAN
18
19 上記著作権者
20は,以下の (1)〜(4) の条件か,Free Software Foundation
21 によってå…
22¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public License の Version 2 に記
23 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
24 を改変したものを含む.以下同じ)を使用・複製・改変・再é…
25å¸ƒï¼ˆä»¥ä¸‹ï¼Œ
26 利用と呼ぶ)することを無償で許諾する.
27 (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
28 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
29 スコード中に含まれていること.
30 (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
31 用できる形で再é…
32å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
33å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
34 者
35マニュアルなど)に,上記の著作権表示,この利用条件および下記
36 の無保証規定を掲載すること.
37 (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
38 用できない形で再é…
39å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
40 と.
41 (a) 再é…
42å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
43マニュアルなど)に,上記の著
44 作権表示,この利用条件および下記の無保証規定を掲載すること.
45 (b) 再é…
46å¸ƒã®å½¢æ…
47‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
48 報告すること.
49 (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
50 害からも,上記著作権者
51およびTOPPERSプロジェクトをå…
52è²¬ã™ã‚‹ã“と.
53
54 本ソフトウェアは,無保証で提供されているものである.上記著作権者
55お
56 よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
57 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
58 接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
59
60------------------------------------------------------------------------
61
621. M32C ターゲット依存部の概要
63
641.1 ターゲットシステムと開発環境
65
66 M32C プロセッサのターゲット依存部は,ターゲットシステムとして
67オークス電子株式会社の OAKS32 をサポートしている.
68OAKS32 は プロセッサとして M30833FJFP(100pin版) または M30835FJGP(144pin版)
69を搭載している.
70
711.2 開発環境と実行環境
72
73開発環境は,ルネサスエレクトロニクス社製の開発環境を使用する.
74
75実行環境は Windows がインストールされており,かつ,シリアルポートを
76搭載した PC があれば,ロードモジュールの構築,ボードへの転送,
77およびボード上での実行が可能である.
78
791.3 サポートする機能の概要
80
81ターゲット依存とされている機能に対するサポート状況は以下の通り.
82 ・性能評価用システム時刻参ç…
83§æ©Ÿèƒ½ (vxget_tim) : サポート
84 ・割込みマスクの変更・参ç…
85§ (chg_ixx, get_ixx):未サポート
86 ・割り込みの禁止と許可(dis_int,ena_int):未サポート
87
881.4 他のターゲットへのポーティング
89
90M32CはCPU上に多くのデバイスが実装
91されており,SFRという形式で
92統一化されている.そのため M32C シリーズの CPU を搭載するボードであれば,
93ポーティングは容易に出来ると思われる.
94
951.5 シリアルポート
96
97ターゲットボードには UART1 が実装
98されており,また UART0 ポートが
99拡張可能となっている.UART1 は,デバッガ KD3083 を用いたデバッグ用の
100ポートとして使用することを想定している.
101
102シリアルドライバは UART0 ポートへの対応が行われており,アプリケーション用
103として利用可能となっている.
104
105UART0 ポートの設定を以下に示す.
106 ・ボーレート,38400[bps]
107 ・データ長,8 ビット
108 ・ストップビット,1 ビット
109 ・パリティなし
110
1111.6 対象とするソースコードの文字コード
112
113TOPPERSプロジェクトからå…
114¬é–‹ã•ã‚Œã‚‹ TOPPERS/JSP カーネルのパッケージは,
115文字コード及び改行コードが EUC+LF 及び SJIS+CRLF の 2つのパターンの
116パッケージが存在する.EUC+LF版のパッケージでもダウンロードして展開後,
117文字コード変換すれば使用可能と思われるが,M32C依存部を利用する場合は,
118SJIS+CRLF のパッケージをダウンロードすることを推奨する.
119
120
1212. M32C プロセッサ依存部の機能
122
123この節では,カーネルおよびシステムサービスの機能の中で,M32C依存の部分
124について解説する.
125
1262.1 データ型
127
128・整数型
129 ・int 型と unsigned int 型のサイズは 16ビットである.
130 ・_int64_ には対応していない.
131
132・ポインタ型
133 VP および VP_INT はå…
134±ã« far ポインタと定義している.
135
136(説明)
137ポインタに関して,M32C では16ビット長の near ポインタと32ビット長の
138far ポインタが存在する.near ポインタは RAM 及びデバイスのポート領域である
139SFR(Special Function Register) をアクセスする為のポインタである.
140一方,far ポインタは near ポインタでアクセス可能な領域に加え
141ROM 領域までアクセスが可能なポインタである.
142
143ポインタ変数に対し明示的に near も far も指定しない場合,
144コンパイラ(NC308)はポインタ変数を far ポインタとして扱う.
145そのため,通常の使用ではポインタのサイズを特に意識する必
146要はないが,
147near と far を明示的に指定して同時に使う場合,代å…
148¥ãªã©ã§ã‚¢ãƒ‰ãƒ¬ã‚¹æƒ…
149報が
150欠落することがないか注意する必
151要がある.
152
1532.2 割込み管理機能と割込みハンドラ
154
155DEF_INHで指定する割込みハンドラ番号(inhno)は,M32Cでのソフトウェア割込み
156番号を表し,そのデータ型(INHNO)は char型に定義されている.
157DEF_INHで,例外ベクタ番号として有効でない値や,外部割込みに対応しない
158番号を指定した場合の動作は保証されない.
159
160ハードウェア割込みは割込み禁止とすることができる.M32Cの割込みの禁止は
161フラグレジスタ中の割込み許可フラグ(Iフラグ)によって行う.すなわち,Iフ
162ラグが0の場合はマスカブル割込みは禁止され1の場合は許可される.
163
164割込みベクタは設定位置に静的にé…
165ç½®ã•ã‚Œã‚‹ï¼Žæœ¬é–‹ç™ºç’°å¢ƒã§ã¯ã‚³ãƒ³ãƒ•ã‚£ã‚®ãƒ¥
166レーションから生成される kernel_cfg.c の内
167容を識別し,自動的に静的な
168割込みベクタ定義ファイルを生成するユーティリティを用意している. この
169ユーティリティは前処理された kernel_cfg.c の内
170容を utils/m16c-renesas
171ディレクトリ中の m16cvec.exe コマンドで解析し,割込みベクタ定義ファイル
172m16cvec.inc を生成する.m16cvec.inc はCPUのスタートアップモジュールである
173start.a30 からインクルードされ,割込みベクタをROM上に静的にé…
174ç½®ã™ã‚‹ï¼Ž
175
1762.3 CPU 例外管理機能と CPU 例外ハンドラ
177
178 CPU例外として,ハードウェアノンマスカブル割込みとソフトウェアノンマスカ
179ブル割込みがある.ハードウェアノンマスカブル割込み中のリセットを除いて
180ベクトルの設定が可能である.
181 CPU例外ベクタは割込みハンドラと同様に設定位置に静的にé…
182ç½®ã•ã‚Œã‚‹ï¼Ž
183CPU例外ハンドラに関しても割込みハンドラと同様に m16cvec.exe を用いて,
184CPU例外ベクタ定義を自動的に生成することができる.このデータは割込み
185ハンドラと同様にm16cvec.incに設定される.
186
187 DEF_EXC で指定するCPU例外ハンドラ番号(excno)は,M32Cでのソフトウエア
188割込み番号を表し,そのデータ型(EXCNO)は char型に定義されている.
189
1902.4 スタートアップモジュール
191
192m32c依存のスタートアップモジュール (start.a30) は次に示す初期化を実行
193した後,カーネル (kernel_start) を起動する.ただし, kernel_start から
194戻ってくることは想定していない.
195
196(1) スタックポインタの設定
197
198(2) CPU関連の初期設定
199
200プロセッサモードの設定とクロックの設定を行う.
201
202(3) hardware_init_hook の呼出し(未実行)
203
204M32Cアセンブラでは,hardware_init_hook の判定ができないことと,
205M32Cのハードウェア設定を sys_initialize() 関数の中で行っても
206十分に対応できると考えられることから,対応していない.
207
208(4) bssセクションと dataセクションの初期化
209
210bssセクションをゼロクリアする.また,dataセクションを初期化する.
211
212(5) software_init_hook の呼出し
213
214software_init_hookが 0でなければ,software_init_hook を呼出す.
215software_init_hook はカーネル起動前に,ソフトウェア環境 (ライブラリ等)
216依存の初期化を行うために用意されている.
217
218software_init_hook の定義は cpu_config.c 中で行う.規定では 0 に仮設定
219されている.独自に別の場所で software_init_hook を定義する場合,マクロ
220として EXTERNAL_SOFT_HOOK を定義する.そのようにすれば,å…
221ƒã®å¤‰æ•°å®šç¾©ã¯
222含まれなくなるため,外部からの設定が可能となる.
223例えば,ライブラリの初期設定などを行いたい場合は,外部からの変数定義を
224行うことが可能となる.
225
226(6) カーネルの起動
227
228kernel_start へ分岐し,カーネルを起動する.kernel_start からリターンし
229てくることは想定していない.
230
2312.5 割込み発生時のスタック使用量について
232
233カーネル起動,及び,割込み発生時はタスク用のスタックとは別の割込み専用の
234スタックを使用している.このスタック領域は RAMEND というマクロで
235指定されたアドレスから低位方向に向かうメモリ上の領域に確保される.
236そのため,システム起動時にはこの領域を確保する必
237要がある.
238
239割込みネストレベルが 0(つまり,タスク実行中)で割込みが発生すると,
240カーネルはタスクコンテキスト用スタックにレジスタを保存した後,
241割込み用スタックにスタックを切り替える.そのため,タスクコンテキスト用
242スタックには,汎用レジスタ,フラグ,PC など 30 バイトの領域が余分に必
243要となる.
244
245割込みネストレベルが 1以上の状æ…
246‹ï¼ˆã¤ã¾ã‚Šï¼Œéžã‚¿ã‚¹ã‚¯ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆï¼‰ã§
247割込み要求が受け付けられた場合,割込みスタックにレジスタが保存される.
248これには割込み発生毎に30バイトずつ必
249要である.それに加え,それぞれの
250割込み処理ルーチンで使用されるスタックサイズが必
251要となる.
252
2533. システム依存部の機能
254
2553.1 システムクロックドライバ
256
257システムクロックドライバが isig_tim を呼び出す周期は,sys_defs.h 中の
258TIC_NUME と TIC_DENO で定義されている(標準は 1ミリ秒周期).
259この定義を変更することで,isig_timを呼び出す周期を変更することができる.
260ただし,タイマの精度が1μ秒であるため,1μ秒単位で端数になる値を設定した
261場合には,isig_timの呼出し周期に誤差が生じることになる.
262
2633.2 性能評価用システム時刻参ç…
264§æ©Ÿèƒ½
265
266M32Cでは,性能評価用システム時刻参ç…
267§æ©Ÿèƒ½ (vxget_tim) をサポートしている.
268OAKS16では精度 0.0333[us]である.SYSUTIM型は UW 型 (32 ビット符号なし
269整数型) である.
270
2713.3 シリアルインタフェースドライバ
272
273OAKS32 では UART0 と UART1 の2つのシリアルポートが利用可能である.
274シリアルインタフェースドライバでは UART0 のみに対応し,ログ出力用に
275使用している.
276一方,UART1 は デバッガ KD3083 でホストPCとの通信用ポートとして使用する
277ことを想定している.そのため,そのままではドライバで使用できない.
278
2793.4 メモリマップ
280
2813.4.1 OAKS32のメモリマップ
282
283(1) 実行環境
284
285 0x000000 - 0x0003ff SFR領域
286 0x000400 - 0x0077ff 内
287臓 RAM,data_NE,data_NO,bss_NE,bss_NO
288 0x007800 - 0x007fff 内
289臓 RAM,デバッグモニタ用RAM領域(モニタが使用※)
290
291 0xf80000 - 0x0ffdff 内
292蔵 ROM,program,rom_FE,rom_FO,data_NEI,data_NOI
293 0xffbd00 - 0xffbdff 内
294蔵 ROM,ハード,ソフト割込みベクタ領域 (vvector)
295 0xffbe00 - 0xfffdff 内
296蔵 ROM,デバッグモニタプログラム領域※
297 0xfffe00 - 0xffffdb 内
298蔵 ROM,スペシャルページベクタテーブル領域
299 0xffffdc - 0xffffff 内
300蔵 ROM,ハードCPU例外ベクタ領域(fvector)
301
302 注※ デバッガKD3083を使用しない場合は通常のメモリとして使用可能
303
3044. 開発
305
3064.1 開発環境
307
308開発環境は,Windows XP (Service Pack3) で動作確認した.
309構築環境はルネサスエレクトロニクス社製の開発環境を用いる.
310ビルド管理方法として,以下の 2 つの方法がある.
311
312(1) ルネサスエレクトロニクス社製の統合開発環境 TM を使用する.
313
314 対象:OAKS32ボード
315 方式:ルネサスエレクトロニクス社の TM を用いて構築する
316 その際,カーネル部をライブラリ化せず構築する
317 動作確認ツール:
318 NC308WA V.5.42 Release 00 無償評価版
319 TM V3.20
320
321(2) DOS 窓から make コマンドを用いる
322 対象:OAKS32ボード
323 方式:DOS窓からmakeを使って構築
324 カーネルをライブラリ化する方法としない方法の両方に対応
325 動作確認ツール:
326 NC308WA V.5.42 Release 00 無償評価版
327 GNU make (version 3.80 で動作確認済)
328 Perl (動作確認は Active Perl v5.6.1, 5.12.2 で行った)
329
330ただし,いずれの場合も NC308WA のインストールå…
331ˆã«ã¯æ³¨æ„ãŒå¿…
332要である.
333最近の版では規定値として C:\Program Files 以下にインストールされるが,
334TM 及び make はパス文字列中に空白が含まれる場合,正しく動作しない.
335そのため,インストールå…
336ˆãƒ‘スが空白を含まないようにする必
337要がある.
338
339また,ソースの展開位置とツールのインストールå…
340ˆã¨ãŒç•°ãªã‚‹ãƒ‰ãƒ©ã‚¤ãƒ–に
341é…
342ç½®ã•ã‚Œã¦ã„る構成も,正常に動作しない場合があるため,推奨しない.
343
3444.2 統合開発環境TMを用いた構築
345
346m32c 用の TOPPERS/JSP を構築するには,ルネサスエレクトロニクス社製の
347開発環境を使用する.そのため,まずツールをインストールしておく.
348 統合開発環境 TM
349 コンパイラ NC308WA
350
351また,ターゲットプログラムの構築には,開発ホスト上で動作する,
352コンフィギュレータ cfg/cfg.exe 及び M16Cターゲット向けユーティリティ
353プログラム utils/m16c-renesas/m16cvec.exe も用いる.
354(m32cターゲットではm16coffset.exeは使用しない)
355m16cvec.exe はコンパイル済みのものが用意されているが,
356プログラムを変更したい場合は再構築する必
357要がある.
358
359
3604.2.1 ツールの構築
361
362cfg.exe の構築については user.txt などを参ç…
363§ã®ã“と.
364utils/m16c-renesas 上のツール m16cvec.exe を構築する場合,
365MinGW (Minimalist GNU for Windows)を使用する.
366(ちなみに,cfg.exe のビルドも MinGW で対応可能である)
367
368通常は既にコンパイル済みのものが用意されているため,そちらを
369利用すればよい.
370
371MinGW (Minimalist GNU for Windows)
372http://www.mingw.org/
373http://sourceforge.net/projects/mingw/ (インストーラのå…
374¥æ‰‹å…
375ˆ)
376
377
3784.2.2 TM でプロジェクトを選択しビルドする.
379
380(1) 事前確認
381
382ビルド対象のソースコードがおかれているドライブと,コンパイラなどの
383開発ツールがインストールされているドライブは同じドライブかどうか確認する.
384異なる場合はビルドの確認が出来ていないため,非推奨の方法とする.
385
386(2) プロジェクトのオープン
387
388(2-1) Windows メニューから TM を起動する.
389(2-2) TM が起動したら「Open Project」メニューを開く.
390(2-3) tools/M32C-RENESAS ディレクトリ中の Jsp14sample1.tmk を選択する.
391(2-4) 選択時,コンパイラの違いにより設定メニューが表示される場合がある.
392 この環境は,NC308WA コンパイラの Version Version 5.42 Release 00
393 無償評価版にて評価を行っている.現在の環境にしたがって設定する.
394
395(3) プリプロセッサの指定
396
397ビルド過程でプリプロセッサを使用するため,開発環境がインストールされた
398場所に応じて CPP という名前のマクロを変更する.
399
400
401(4) 設定後,「リビルド」メニューを選択しビルドを行う
402
403TMの設定としてソースファイルの依存性の設定を行っていないので,
404構築時は「リビルド」の実行を推奨する.
405
406 ビルドが終了すると,このディレクトリ中に Jsp14sample1.x30 および
407Jsp14sample1.motが生成される.
408
409
4104.3 DOS窓からmakeコマンドを用いた構築
411
412GNU make を用いてm32c用の TOPPERS/JSPカーネルを構築する方法を示す.
413この方法で対応しているボードは OAKS32 である.
414コンパイラは NC308WA V.5.42 Release 00 無償評価版で動作を確認している.
415
416構築にあたっては,コンフィギュレータ cfg.exe が cfg ディレクトリに,
4174.2.1 で示した m16cvec.exe が utils/m16c-renesas ディレクトリに,
418それぞれ存在していることが前提となる.
419また,NC308WA, KD3083 はあらかじめインストールしておくことが必
420要である.
421
4224.3.1 開発ツールのå…
423¥æ‰‹
424
425ツールは以下のサイトからå…
426¥æ‰‹å¯èƒ½ï¼Ž
427
428GNU Make
429http://www.mingw.org/
430
431Active Perl
432http://www.activestate.com/
433
4344.3.2 サンプルプログラムの構築
435
436 サンプルプログラムの構築方法は基本的に doc/user.txt の 「7.4 サンプルプ
437ログラムの構築」で示された方法に準拠している.ただし,コンフィギュレーション
438スクリプト等の perl で書かれたスクリプトはそのまま Windows の DOS窓
439(Windows XP等では「コマンドスクリプト」)の上では使用することができない.
440そのため,utils/m16c-renesas ディレクトリに用意された専用の Perl
441スクリプトを使用する.
442
4434.3.3 コンフィギュレーションスクリプトの実行
444
445 > mkdir foo
446 > cd foo
447 > perl ..\utils\m16c-renesas\configure.m16c -C m32c -S oaks32 -T renesas -D ..
448
449-D オプションはディレクトリの位置により適当に修正する.
450例は foo ディレクトリが JSPカーネルのトップディレクトリの下にある場合の例です.
451
452この処理により,カレントディレクトリには以下のファイルが生成される
453 ・Makefile
454 ・サンプルプログラム用のコンフィギュレーションファイル(sample1.cfg)
455 ・サンプルプログラム本体(sample1.hおよびsample1.c)
456ここでMakefileの修正が必
457要ならば,修正を行うのは他のターゲットの場合と同じである.
458
4594.3.4 Makefile の修正
460
461(A) メモリアドレスの設定
462
463RAMEND は割込みスタックポインタの初期値,RAM_START_ADR はSFRを除いた
464RAMのå…
465ˆé ­ç•ªåœ°ï¼ŒROM_START_ADR は ROMのå…
466ˆé ­ç•ªåœ°ã‚’それぞれ示す.
467
468(B) ツールのインストールディレクトリ
469
470NC308WA コンパイラツールのインストールされているディレクトリを
471TOOLDIR に設定する.
472
473(C) KD3083を使用するか
474使用する場合はKD3083の値を1に,使用しない場合は0に設定する
475
476(D) ライブラリアン LB308を使うかどうか
477
478エントリー版コンパイラなど,ライブラリアンを持たない開発環境を用い,
479カーネルライブラリの構築を行なわない場合は
480USE_LB308 = TRUE
481の行をコメントアウトする
482
483(E) JSPカーネルソースのトップディレクトリの位置
484
485通常は configure スクリプトで設定するが,JSPカーネルソース
486ディレクトリとビルド作業を行うディレクトリとの位置関係が変化する場合は
487SRCDIR の値を変更する.
488
489(F) ターゲットファイルの定義
490
491ロードされる実行プログラムの形式を指定する.IEEE-695形式のときは
492$(OBJNAME).x30,モトローラ S形式の時は $(OBJNAME).mot を指定する.
493
494(G) その他
495
496 以下の項
497目については,doc/user.txt の内
498容に準拠しているので
499そちらを参ç…
500§ã®ã“と.
501 ・カーネルライブラリのディレクトリ名の定義
502 ・å…
503±é€šã‚³ãƒ³ãƒ‘イルオプションの定義
504 ・アプリケーションプログラムに関する定義
505 ・オブジェクトファイル名の定義
506 ・カーネルのコンフィギュレーションファイルの生成
507
5084.3.5 依存関係ファイルの生成およびサンプルの実行プログラム作成
509
510依存関係ファイル Makefile.depend および実行プログラム jsp.x30 および jsp.mot を
511作成するには次のように実行する.MinGW の make を利用する場合,make の代わりに
512mingw32-make を実行する必
513要があるかもしれない.
514
515 > make depend
516 > make
517
518これで実行プログラム(jsp.x30,jsp.mot)がカレントディレクトリに生成される.
519
5204.4 実行プログラムの転送
521
522ボード上で実行を確認するための方法としては2通りの方法がある.
523
524a. MOTファイルをFlashSta プログラムを用いて,ボード上のフラッシュROMに書き込む
525b. デバッガKD3083を用いてロード,実行する
526 OAKS32 には,デバッガ KD3083 が添付されている.このデバッガは
527 フラッシュROM上のモニタプログラムと UART1 を用いて PC と通信を行う
528 ことで,デバック機能を実現する.
529 本カーネルはKD3083を使用してカーネルのロード,実行を行うことが出来る.
530 使用に当たっては一部制限事項
531がある.詳細についてはKD3083のマニュアルを
532 参ç…
533§ã®ã“と.
534
5354.4.1 FlashStaを用いてフラッシュROMに書き込む方法
536
537・開発用のパソコンとOAKS32ボードとを,RS-232Cケーブルを使って接続する.
538 OAKS32ボードのUART1ポートに接続する.
539・CNVSSピンをジャンパーピンを使ってショートさせる.
540・電源を接続し,電源スイッチをオンにする.
541
542・FlashStaを起動する.
543・Select Programメニューにてポートを選択して「OK」ボタンを押す.
544・ID Checkメニューが表示されたら「Refer..」ボタンを押し,MOTファイルを選択する.
545・Select Programに戻ったら,「OK」ボタンを押下しFlash Startメニューを表示させる.
546
547・「Erase」ボタンを押し,フラッシュROMをクリアする.
548・「Program..」ボタンを押しプログラムの書き込みを行う.
549・書き込みが終了したら,「Exit」ボタンを押下しFlashStaを終了させる.
550・ボードの電源を切り,CNVSSピンからジャンパーピンをはずす.
551
5524.4.2 KD3083を使用してロード,実行する方法
553
554・この方法を実行する場合は,あらかじめKD3083 用のモニタプログラムが
555内
556臓 ROM に書き込まれているかどうか確認する. 書き込まれていない場合は
557モニタプログラムを上記4.2.3の FlashSta を使用して書き込む必
558要がある.
559
560・開発用のパソコンとOAKS32ボードとを,RS-232Cケーブルを使って接続する.
561 OAKS32ボードはUART1ポートに接続する.
562・電源を接続し,電源スイッチをオンにする.
563
564・KD3083を起動する.
565・Init画面で接続したPC側のポートと通信速度を設定し,「OK」を押す.
566・メニュー「File→Download→Load Module」を選択し,.x30ファイルを選択する.
567 すると,ロードモジュールがCPUボードに転送される.
568 あとは「Go」ボタンを押せば実行が開始される.
569
5704.4.3 sample1の実行に必
571要なPC側のシリアル設定
572
573パソコン上で端末エミュレータソフトウェアを実行する.
574
575通信設定は以下の通り.
576 ボーレート: 38400bps
577 データ長:8ビット
578 パリティ:なし
579 ストップビット:1ビット
580 フロー制御:Xon/Xoff
581
5825. ファイル構成
583
5845.1 ディレクトリ・ファイル構成
585
586(1) config/m32c-renesas
587
588 api.h ライブラリ化しない時に使用する,API定義
589 cpu_config.c M32Cプロセッサ依存部の C 関数
590 cpu_config.h M32Cプロセッサ依存部の構成定義
591 cpu_context.h M32Cプロセッサ依存部のコンテキスト操作
592 cpu_defs.h M32Cプロセッサ依存部のアプリケーション用定義
593 cpu_insn.h M32Cプロセッサのアセンブリ inline 関数
594 cpu_rename.def カーネルの内
595部識別名のリネームとその解除の定義リスト
596 cpu_rename.h カーネルの内
597部識別名のリネームの定義
598 cpu_support.a30 M32Cプロセッサのアセンブリ関数
599 cpu_unrename.h カーネルの内
600部識別名のリネーム解除の定義
601 makeoffset.c offset.inc 生成サポート関数
602 offset.inc TCBメンバへのオフセット定義ファイル
603 start.a30 スタートアップモジュール
604 tool_config.h M32Cプロセッサの開発環境依存モジュール定義
605 tool_defs.h M32Cプロセッサの開発環境依存定義
606
607(2) config/m32c-renesas/oak32/
608
609 hw_serial.cfg SCI のコンフィギュレーションファイル
610 hw_serial.h SCI のヘッダファイル
611 hw_timer.h OAKS32用タイマ操作ルーチン
612 Makefile.kernel カーネルのファイル構成の定義(M32C用)
613 makeコマンドを用いたm32c用TOPPERS/JSPカーネル構築で使用する
614 oaks32.h プロセッサの定義
615 sfr_uart.c OAKS32用SIOドライバのC関数
616 sfr_uart.h OAKS32用SIOドライバのヘッダファイル
617 sys_config.c OAKS32ボード依存部の C 関数
618 sys_config.h OAKS32ボード依存部の構成定義
619 sys_defs.h OAKS32ボード依存部のアプリケーション用定義
620 sys_rename.def カーネルの内
621部識別名のリネームとその解除の定義リスト
622 sys_rename.h カーネルの内
623部識別名のリネームの定義
624 sys_unrename.h カーネルの内
625部識別名のリネーム解除の定義
626
627(3) tools/M32C-RENESAS/
628 統合開発環境TMを用いてTOPPERS/JSPを構築するための
629 プロジェクトファイルが置かれたディレクトリ
630 Jsp14sample1.tmi,Jsp14sample.tmk
631 TMを用いてOAKS32用のTOPPERS/JSPを構築するためのプロジェクトファイル
632 sample1.cfg OAKS32用のTOPPERS/JSPを構築するためのコンフィギュレーションファイル
633
634(4) sample/
635
636 Makefile.m32c-oaks32 GNU make コマンドを使用してTOPPERS/JSPカーネルを構築
637 するための Makefile
Note: See TracBrowser for help on using the repository browser.