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

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

initial

File size: 32.1 KB
RevLine 
[26]1 = TOPPERS/JSPカーネル ユーザズマニュアル =
2 (s1c33 ターゲット依存部)
3
4 (Release 1.4.1対応,最終更新: 04-Jan-2005)
5
6------------------------------------------------------------------------
7 TOPPERS/JSP Kernel
8 Toyohashi Open Platform for Embedded Real-Time Systems/
9 Just Standard Profile Kernel
10
11 Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory
12 Toyohashi Univ. of Technology, JAPAN
13 Copyright (C) 2004 by SEIKO EPSON Corp, JAPAN
14
15 上記著作権者
16は,Free Software Foundation によってå…
17¬è¡¨ã•ã‚Œã¦ã„ã‚‹
18 GNU General Public License の Version 2 に記述されている条件か,以
19 下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェア(本ソフトウェ
20 アを改変したものを含む.以下同じ)を使用・複製・改変・再é…
21å¸ƒï¼ˆä»¥ä¸‹ï¼Œ
22 利用と呼ぶ)することを無償で許諾する.
23 (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
24 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
25 スコード中に含まれていること.
26 (2) 本ソフトウェアを再利用可能なバイナリコード(リロケータブルオブ
27 ジェクトファイルやライブラリなど)の形で利用する場合には,利用
28 に伴うドキュメント(利用者
29マニュアルなど)に,上記の著作権表示,
30 この利用条件および下記の無保証規定を掲載すること.
31 (3) 本ソフトウェアを再利用不可能なバイナリコードの形または機器に組
32 み込んだ形で利用する場合には,次のいずれかの条件を満たすこと.
33 (a) 利用に伴うドキュメント(利用者
34マニュアルなど)に,上記の著作
35 権表示,この利用条件および下記の無保証規定を掲載すること.
36 (b) 利用の形æ…
37‹ã‚’,別に定める方法によって,上記著作権者
38に報告する
39 こと.
40 (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
41 害からも,上記著作権者
42をå…
43è²¬ã™ã‚‹ã“と.
44
45 本ソフトウェアは,無保証で提供されているものである.上記著作権者
46は,
47 本ソフトウェアに関して,その適用可能性も含めて,いかなる保証も行わ
48 ない.また,本ソフトウェアの利用により直接的または間接的に生じたい
49 かなる損害に関しても,その責任を負わない.
50
51------------------------------------------------------------------------
52
53
541.S1C33 ターゲット依存部の概要
55
561.1 ターゲットシステムと開発環境
57
58S1C33プロセッサのターゲットシステムとしては,S1C33209, S1C33L11, S1C33
59401を搭載した以下のボードをサポートしている.
60
61・セイコーエプソン株式会社 DMT33209 ボード (CPU:S1C33209)
62・セイコーエプソン株式会社 LUXUN2 ボード (CPU:S1C33L11)
63・セイコーエプソン株式会社 DMT33401 ボード (CPU:S1C33401)
64・セイコーエプソン株式会社 LUXUN4 ボード (CPU:S1C33401)
65
66開発環境はセイコーエプソン株式会社の開発環境S5U1C33001C(GNU33)を用いる.
67これはGNU開発環境をS1C33用に移植したものであり,オブジェクトファイル
68フォーマットは ELF を標準とする.
69
70 ディレクトリ名
71 s1c33 GNU開発環境用(現時点で未サポート)
72 dmt33209 DMT33209 (セイコーエプソン)
73 luxun2 LUXUN2 (セイコーエプソン)
74 dmt33401 DMT33401 (セイコーエプソン)
75 luxun4 LUXUN4 (セイコーエプソン)
76
77 s1c33-gnu33 GNU33開発環境用
78 dmt33209 DMT33209 (セイコーエプソン)
79 luxun2 LUXUN2 (セイコーエプソン)
80 dmt33401 DMT33401 (セイコーエプソン)
81 luxun4 LUXUN4 (セイコーエプソン)
82
831.2 サポートする機能の概要
84
85S1C33依存の機能として,割込みの禁止と許可(dis_int,ena_int)及び,割込み
86マスクの変更・参ç…
87§ï¼ˆchg_ilv,get_ilv)をサポートしている.
88性能評価用システム時刻参ç…
89§æ©Ÿèƒ½ï¼ˆvxget_tim)はサポートしていない.
90
911.3 他のターゲットへのポーティング
92
93S1C33プロセッサは,S1C33209を始めとするスタンダードマクロプロセッサと,
94S1C33401を始めとするアドバンストマクロプロセッサとに大別されるが,各
95系統における上位互換プロセッサであれば,そのまま動作する.
96ただし下位プロセッサにない追加機能を使用する場合,適宜IOレジスタアド
97レス等をターゲットに合わせて変更する必
98要がある.
99
1001.4 シリアルポート
101
102チャネル0(LUXUN4はチャネル2)を使用したシリアル通信をサポートしている.
103DMT33MONボードを別途用意することにより,RS232-Cケーブルでの接続が可能
104となる.
105通信条件は以下のとおりである.
106 通信方式 : 調歩同期 8ビット
107 通信速度 : 115,200bps
108 パリティ : なし
109 ストップビット : 1ビット
110
111
1122.S1C33プロセッサ依存部の機能
113
114この節では,カーネルおよびシステムサービスの機能の中で,S1C33依存の部分
115について解説する.
116
1172.1 データ型
118
119int型および unsigned int型のサイズは 32ビットである.また,割り込みレ
120ベルを表すデータ型 ILEVNO はunsigned int型で定義されている.
121
1222.2 割込み管理機能と割込みハンドラ
123
124CPUロック状æ…
125‹ã‚„初期化ルーチン内
126では,TPS_CPULOCK_LEVとして定義された割
127り込みレベル未満のマスク可能な割込みはすべて禁止されている.å…
128·ä½“的には,
129PSR(Processor Status Register)レジスタのIL(Interrupt Level)フィー
130ルドに0x5が設定される.カーネルによって管理される割り込みは,割り込み
131レベルをTPS_CPULOCK_LEV未満としなければならない.(設定可能な割り込み
132レベルの上限はTPS_INTLEV_MAXとして定義されている)
133TPS_CPULOCK_LEV,TPS_INTLEV_MAXはcpu_config.hにて定義されており,必
134要
135であれば変更することができる.
136
137S1C33プロセッサは0〜7までの割り込みレベルを設定することができる.
138レベル5(デフォルト)の割り込みおよびNMIでは,サービスコールの使用を
139禁止する.
140
141DEF_INH で指定する割込みハンドラ番号(inhno)は,マスク可能な割り込み
142として定められたベクタ番号である16番以降を指定する.
143ベクタ番号として有効でない番号を指定された場合の動作は未定義である.
144有効なベクタ番号については,各CPUのマニュアルを参ç…
145§ã•ã‚ŒãŸã„.
146
147S1C33プロセッサ依存部では多重割り込みをサポートしている.そのため,割
148り込み発生時に処理される割り込みハンドラå…
149¥ã‚Šå£å‡¦ç†ã§ã¯ï¼ŒIEビットに1を
150設定し,割り込みネストカウンタをインクリメントしている.割り込み処理内
151
152で他の割り込みを禁止するには,iloc_cpu を呼び出すなど,明示的に割り込
153みを禁止する必
154要がある.
155
156ILは割り込み発生時にあらかじめ設定された割り込みレベルに変更される.
157使用する割り込みのレベルをすべて同一にすれば,多重割り込みは発生しない.
158
159S1C33プロセッサ依存部では,機種依存サービスコールとして特定の割り込み
160を禁止/許可するサービスコールdis_int, ena_int, 割り込みレベルを変更/
161取得するサービスコールchg_ilv, get_ilvをサポートしている.dis_int,
162ena_intはコンテキスト状æ…
163‹ã«ä¾å­˜ã—ない.タスクコンテキスト,非タスク
164コンテキストのどちらでも呼び出すことができる.chg_ilv, get_ilvはコン
165テキスト状æ…
166‹ã«ä¾å­˜ã—,非タスクコンテキストまたはCPUロック状æ…
167‹ã§ã¯ä½¿ç”¨
168できない.
169
170S1C33依存の割り込みレベルの変更/参ç…
171§ï¼ŒãŠã‚ˆã³å‰²ã‚Šè¾¼ã¿ç¦æ­¢ï¼è¨±å¯ã®ãŸã‚ã®
172サービスコールの仕様は以下の通り.
173
174(1) chg_ilv 割り込みレベルの変更
175
176【C言語API】
177 ER ercd = chg_ilv(ILEVNO ilevno);
178
179【パラメータ】
180 ILEVNO ilevno 設定すべき IL の値
181
182【リターンパラメータ】
183 ER ercd エラーコード
184
185【エラーコード】
186 E_CTX コンテキストエラー
187 E_PAR パラメータエラー(ilevno が不正)
188
189【機能】
190
191IL(Interrupt Level)を ilevno で指定された値に設定する.指定した値が
192TPS_INTLEV_MAXとして定義された割り込みレベルを超
193えている場合,E_PAR
194エラーとなる.IL を 0〜TPS_INTLEV_MAXに設定した場合でも,ディスパッチ
195は禁止されない.
196
197このサービスコールは,タスクコンテキストで CPUロック解除状æ…
198‹ã®æ™‚のみ呼
199び出すことができる.非タスクコンテキストや CPUロック状æ…
200‹ã§å‘¼ã³å‡ºã—た場
201合には,E_CTXエラーとなる.
202
203chg_ilvにより変更したレベルは原則としてディスパッチ後も継承されるが,
204保障はされない.例えば割り込みハンドラによりディスパッチされたタスクで
205割り込みレベルを変更した場合,割り込み発生直前に実行されていたタスクへ
206復帰すると割り込みレベルもå…
207ƒã«æˆ»ã‚‹ï¼Ž
208
209(2) get_ilv 割り込みレベルの参ç…
210§
211
212【C言語API】
213 ER ercd = get_ilv(ILEVNO *p_ilevno);
214
215【パラメータ】
216 なし
217
218【リターンパラメータ】
219 ER ercd エラーコード
220 ILEVNO *p_ilevno 現在の IL の値
221
222【エラーコード】
223 E_CTX コンテキストエラー
224 E_PAR パラメータエラー(p_ilevnoがNULL)
225
226【機能】
227
228現在の IL(Interrupt Level)の値を読み出し,*p_ilevno に返す.
229
230このサービスコールは,タスクコンテキストで CPUロック解除状æ…
231‹ã®æ™‚のみ呼
232び出すことができる.非タスクコンテキストや CPUロック状æ…
233‹ã§å‘¼ã³å‡ºã—た場
234合には,E_CTXエラーとなる.
235
236(3) dis_int 割り込みの禁止
237
238【C言語API】
239 ER ercd = dis_int(INTNO intno);
240
241【パラメータ】
242 INTNO intno 禁止する割り込みのベクタ番号
243
244【リターンパラメータ】
245 ER ercd エラーコード
246
247【エラーコード】
248 E_PAR パラメータエラー(intno が不正)
249
250【機能】
251
252指定されたベクタ番号に対応する割り込みを禁止する.
253
254このサービスコールはコンテキスト状æ…
255‹ãªã©ã«ã¯ä¾å­˜ã›ãšï¼Œã„つでも呼び出す
256ことができる.
257
258
259(4) ena_int 割り込みの許可
260
261【C言語API】
262 ER ercd = ena_int(INTNO intno);
263
264【パラメータ】
265 INTNO intno 許可する割り込みのベクタ番号
266
267【リターンパラメータ】
268 ER ercd エラーコード
269
270【エラーコード】
271 E_PAR パラメータエラー(intno が不正)
272
273【機能】
274
275指定された割り込みベクタ番号に対応する割り込みを許可する.
276
277このサービスコールはコンテキスト状æ…
278‹ãªã©ã«ã¯ä¾å­˜ã›ãšï¼Œã„つでも呼び出す
279ことができる.
280
2812.3 CPU例外管理機能とCPU例外ハンドラ
282
283DEF_EXC で指定する例外ハンドラ番号(excno)は,0〜15までの例外ベクタ番
284号を指定する.CPU例外ハンドラとして有効でない番号を指定された場合の動
285作は未定義である.
286
2872.4 割り込み/CPU例外ハンドラの実装
288
289
290割り込み/CPU例外ハンドラ(以下ハンドラ)は,以下の要領で実装
291する.
292
293(1) 静的APIによる生成
294
295DEF_INHを用いハンドラ出å…
296¥ã‚Šå£å‡¦ç†ã‚’生成する.CPU例外ハンドラの場合は,
297DEF_EXCを用いる.
298出å…
299¥ã‚Šå£å‡¦ç†ã¯æŒ‡å®šã—たハンドラ+_entryという名称で生成される.下記の
300例では,timer_handler_entry となる.
301
302例: タイマハンドラ timer_handler の登録
303 DEF_INH(INTHDR1, { TA_HLNG, timer_handler });
304
305(2) ベクタテーブル登録
306
307ベクタテーブルに(1)で登録したハンドラ出å…
308¥ã‚Šå£å‡¦ç†ã‚’記述する.
309
310const void *VectorTable[] = {
311 :
312 INT_ENTRY(timer_handler),
313 :
314}
315
316INT_ENTRY は,パラメータとして指定された文字列に_entryを付加する
317マクロである.CPU例外ハンドラの場合は,EXC_ENTRY を用いる.
318
319ベクタテーブルをプログラムで書き換え可能なセクション(.dataなど)に
320é…
321ç½®ã™ã‚‹å ´åˆï¼Œãƒžã‚¯ãƒ­define_inh を用いて動的にベクタテーブルを更新
322することが可能である.この場合静的な記述は必
323須ではないが,例外として,
324ベクタテーブル0番に登録するリセットベクタについては,あらかじめ登録
325しておくべきである.define_inh によるハンドラの登録はプログラムが
326動作してから書き換えが行われるため,実行前にリセットを行うとプログ
327ラムの実行開始番地が特定できなくなる可能性があるためである.
328
329ユーザの作成したハンドラは出å…
330¥ã‚Šå£å‡¦ç†ã‹ã‚‰å‘¼ã³å‡ºã•ã‚Œã‚‹å½¢ã¨ãªã‚‹
331ため(下図参ç…
332§ï¼‰ï¼Œãƒ­ãƒ¼ã‚«ãƒ«å¤‰æ•°ã‚’用いることが可能である.
333
334本実装
335では割り込みハンドラについてのみサポートしている.割り込みサービス
336ルーチンについてはサポートしていない.
337
338 割り込みハンドラ 割り込みハンドラ
339 出å…
340¥ã‚Šå£å‡¦ç†
341
342 外部割込み発生 --->
343 | 1.レジスタの退避
344 | 2.スタック切り替え
345 | 3.割り込みネスト
346 | カウント更新(+1)
347 | 4.IEビット設定(ON)
348 |
349 +------------------->
350 | 5.割り込み要因のクリア
351 | 6.割り込み処理
352 |
353 <-------------------+
354 |
355 | 7.CPUをロック
356 | 8.割り込みネスト
357 | カウント更新(-1)
358 | 9.スタック切り替え
359 ディスパッチ <---+
360 or リターン
361
362 レジスタの復å…
363ƒã¯
364 ここで行われる.
365
366割り込みハンドラにおいて以下の条件をすべて満足する場合,割り込みハン
367ドラのプロトタイプ宣言で__attribute__ ((interrupt_handler))を指定する
368ことでマクロによる出å…
369¥ã‚Šå£å‡¦ç†ã®è¿½åŠ ã¯ä¸è¦ã«ãªã‚‹ï¼Ž
370
371 出å…
372¥ã‚Šå£å‡¦ç†ã‚’省略できる条件
373 1. スタック領域を使用しない
374 2. サービスコールを使用しない
375 3. 多重割り込みを許可しない
376
377プログラムによる書き換えが不可能なセクション(.rodataなど)にベクタテーブル
378をé…
379ç½®ã—た状æ…
380‹ã§defind_inh を使用した場合,ベクタテーブルの書き換えは行
381われない.また,それをエラーとして検出することもしない.
382
3832.5 スタートアップルーチン
384
385S1C33依存のスタートアップモジュール(sys_start.c)では次の初期化処理を行う.
386
387(1) デフォルトデータエリアポインタの設定
388
389最初に,デフォルトデータエリアポインタのアドレスを設定する.
390これは,GNU33でビルドされたプログラムはグローバルシンボルのアドレスを
391特定するためにデータエリアポインタアドレスからのオフセットでアドレスを
392特定しているためである.
393そのため,最初にリンカスクリプトで指定したアドレス(__dp)をデータエリア
394ポインタ(r15 or dpレジスタ)に設定している.
395
396(2) スタックポインタの初期化,PSRレジスタの初期化
397
398スタックポインタに STACKTOP を設定する.ここで割込みスタックポインタに
399設定されたスタック領域は,カーネル起動後は非タスクコンテキスト用のスタ
400ック領域として使われる.STACKTOP は,sys_config.h 部で定義することを想
401定している.
402PSRレジスタを初期化する.å…
403·ä½“的には0x00000000が設定される.
404
405(3) hardware_init_hook の呼出し
406
407hardware_init_hook が 0 でない場合には,hardware_init_hook を呼び出す.
408hardware_init_hook は,カーネルが起動される前に行う必
409要があるターゲッ
410ト依存の初期化を行うために用意している.hardware_init_hook がどこにも
411定義されていない場合,リンカでこのシンボルを 0 に定義する.
412S1C33用ソースではsys_start.cに関数を用意しており,TTRBの設定,または
413IOレジスタの設定を行っている.
414
415(4) RAM領域の初期化
416
417ROM領域に格納されている.dataセクションの初期値をRAM上の当該領域へコピー
418する.また,.bssセクションを0クリアする..dataセクションの初期化はプロ
419グラムのマッピングに応じて行う.
420
421(5) software_init_hook の呼出し
422
423software_init_hook が 0 でない場合には,software_init_hook を呼び出す.
424software_init_hook は,カーネルが起動される前に行う必
425要があるソフトウェ
426ア環境(å…
427·ä½“的には,ライブラリ)依存の初期化を行うために用意している.
428software_init_hook がどこでも定義されていない場合,リンカでこのシンボ
429ルを 0 に定義する.
430S1C33用ソースではsys_start.cに関数を用意しており,ライブラリの初期化関数
431を呼び出している.
432
433(6) カーネルの起動
434
435kernel_start へ分岐し,カーネルを起動する.分岐後に復帰してくることは
436ないが,sys_start.cでは分岐処理後にhalt命令の無限ループを用意してある.
437
4382.6 アイドル処理
439
440実行できるタスクがない場合に処理されるアイドル処理を実装
441している.この
442処理では,割り込み許可状æ…
443‹ã«ã—た後,halt 命令を無限ループ内
444で処理して
445いる.
446
4472.7 プロセッサ動作モード
448
449S1C33プロセッサ依存部は,常時スーパバイザモードで動作する.(S1C33401
450のみ.これ以外のプロセッサでは通常稼動時に動作モードの概念がない)
451ユーザプログラムにおいてユーザモードに移行すると,カーネルの動作に支障
452をきたすため,これを禁止する.
453
4543.システム依存部の機能
455
4563.1 システムクロックドライバ
457
458システムクロックドライバは,1ms周期でハードウェアタイマ割り込みを発生
459させるように設定されている.sys_defs.h 中で定義されている TIC_NUME と
460TIC_DENO を変更することで,isig_tim 呼び出し時に更新するシステム時間の
461単位を任意に変更することができる.デフォルトでは1回のハードウェアタイマ
462割り込みでシステム時間を 1 進める設定になっている.
463仮にTIC_DENOを 2 とすると,2回の割り込みでシステム時間を 1 進めること
464になる.
465
4663.2 シリアルインタフェースドライバ
467
468シリアルインタフェースドライバでは,チャネル0(LUXUN4はチャネル2)を
469使用したシリアル通信を行えるように設定されている.
470通信条件は以下の通りである.
471 通信方式 : 調歩同期 8ビット
472 通信速度 : 115,200bps
473 パリティ : なし
474 ストップビット : 1ビット
475
476
4774.開発環境の構築
478
479開発環境の構築方法については,GNU開発環境構築マニュアルを参ç…
480§ã®ã“と.
481
4824.1 開発環境のバージョン
483動作確認したツールのバージョンは以下の通りである.
484
485 GNU33 v1.5
486 Cygwin (cygwin DLL 1.5.9-1)
487
4884.2 サンプルプログラム構築方法
489
490DMT33209ボード用のサンプルプログラムを4.1項
491に示す環境で構築する場合を
492例としてS1C33固有の注意点を説明する.
493カレントディレクトリがjsp/であるものとして説明する.
494
495(1) 開発環境の構築
496
497GNU33を展開する.S1C33機種依存部では,c:\gnu33(/cygdrive/c/gnu33)に展
498開されることを想定している.これ以外のディレクトリに展開された場合は,
499config/s1c33-gnu33/Makefile.configの修正が必
500要である.
501config/s1c33-gnu33/Makefile.configにおいて開発環境のパスはTOPDIRとして
502定義されており,これを修正する.
503サンプルプログラム構築に使用するmakeはGNU33に含まれるMake,GNU Makeの
504どちらでも使用可能である.
505
506 展開å…
507ˆã‚’/usr/local/gnu33とした場合
508
509 TOPDIR = /usr/local/gnu33
510
511GNU33にはcygwin1.dllが同梱されているため,Cygwin環境でcygwin1.dllが複数
512存在することによりエラーが発生する場合は,GNU33のcygwin1.dllをCygwinの
513cygwin1.dllで置き換え,同一のバージョンにする.(å…
514±ã«æœ€æ–°ç‰ˆã¨ã™ã‚‹ã®ãŒ
515望ましい)
516
517(2) コンフィギュレータのコンパイル
518
519TOPPERSの展開直後等でコンフィギュレータを作成していない場合は作成する.
520作成方法についてはuser.txtを参ç…
521§ã•ã‚ŒãŸã„.
522
523(3) コンフィギュレーションスクリプトによるMakefile,サンプルプログラムの
524 生成
525
526コンフィギュレーションスクリプトにより,Makefile,サンプルプログラムの生
527成を行う.このとき,開発環境名にgnu33を指定する.
528
529 % mkdir dmt33209
530 % cd dmt33209
531 % ../configure -C s1c33 -S dmt33209 -T gnu33
532
533GNU33により生成されるオブジェクトファイルはELF形式となるが,Cygwin環境
534ではターゲットオブジェクトのファイル名に拡張子exeが付加される.
535拡張子を変えたい場合はOBJEXTの定義を変更する.
536
537 拡張子をelfとしたい場合
538
539 OBJEXT = elf
540
541(4) コンパイル
542
543コンパイルを行う.これは標準的な手順と同様である.
544
545 % make depend
546 % make
547
548
5495.その他
550
5515.1 ディレクトリ・ファイル構成
552
553config/s1c33/
554 Makefile.config Makefileの S1C33 依存定義(GNU開発環境用)
555 cpu_config.c プロセッサ依存部の関数
556 lib.c ANSI Cライブラリ初期化関数ソースファイル
557 makeoffset.c offset.h 生成サポートプログラム
558 sys.c 低レベルå…
559¥å‡ºåŠ›é–¢æ•°ã‚½ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«
560 cpu_config.h プロセッサ依存部の構成定義
561 cpu_context.h コンテキスト操作
562 cpu_defs.h プロセッサ依存部のアプリケーション用定義
563 cpu_insn.h 低レベルのプロセッサ操作ルーチン
564 cpu_rename.h カーネルの内
565部識別名のリネーム
566 cpu_unrename.h カーネルの内
567部識別名のリネーム解除
568 s1c33.h S1C33 CPUに関する定義
569 tool_config.h 開発環境依存部の構成定義
570 tool_defs.h 開発環境依存部のアプリケーション用定義
571 cpu_rename.def カーネルの内
572部識別名のリネーム定義
573 cpu_unrename.def カーネルの内
574部識別名のリネーム解除
575
576config/s1c33/dmt33209
577 hw_serial.cfg SIOドライバのコンフィギュレーションファイル
578 Makefile.config Makefileの DMT33209 依存定義(GNU開発環境用)
579 hw_serial.c シリアルインターフェイスに関する変数と関数
580 sys_config.c システム依存部の関数
581 sys_start.c ブートプログラム ソースファイル
582 dmt33209.h DMT33209ボードに関する定義
583 hw_serial.h シリアルインターフェイス操作ルーチン
584 hw_timer.h タイマ操作ルーチン
585 sys_config.h システム依存部の構成定義
586 sys_defs.h システム依存部のアプリケーション用定義
587 sys_rename.h カーネルの内
588部識別名のリネーム
589 sys_unrename.h カーネルの内
590部識別名のリネーム解除
591 sys_rename.def カーネルの内
592部識別名のリネーム定義
593 sys_unrename.def カーネルの内
594部識別名のリネーム解除
595 dmt33209.ld サンプルプログラム用リンカスクリプトファイル
596
597config/s1c33/luxun2
598 hw_serial.cfg SIOドライバのコンフィギュレーションファイル
599 Makefile.config Makefileの LUXUN2 依存定義
600 hw_serial.c シリアルインターフェイスに関する変数と関数
601 sys_config.c システム依存部の関数
602 sys_start.c ブートプログラム ソースファイル
603 hw_serial.h シリアルインターフェイス操作ルーチン
604 hw_timer.h タイマ操作ルーチン
605 luxun2.h LUXUN2ボードに関する定義
606 sys_config.h システム依存部の構成定義
607 sys_defs.h システム依存部のアプリケーション用定義
608 sys_rename.h カーネルの内
609部識別名のリネーム
610 sys_unrename.h カーネルの内
611部識別名のリネーム解除
612 sys_rename.def カーネルの内
613部識別名のリネーム定義
614 sys_unrename.def カーネルの内
615部識別名のリネーム解除
616 luxun2.ld サンプルプログラム用リンカスクリプトファイル
617
618config/s1c33/dmt33401
619 hw_serial.cfg SIOドライバのコンフィギュレーションファイル
620 Makefile.config Makefileの DMT33401 依存定義
621 hw_serial.c シリアルインターフェイスに関する変数と関数
622 sys_config.c システム依存部の関数
623 sys_start.c ブートプログラム ソースファイル
624 hw_serial.h シリアルインターフェイス操作ルーチン
625 hw_timer.h タイマ操作ルーチン
626 dmt33401.h DMT33401ボードに関する定義
627 sys_config.h システム依存部の構成定義
628 sys_defs.h システム依存部のアプリケーション用定義
629 sys_rename.h カーネルの内
630部識別名のリネーム
631 sys_unrename.h カーネルの内
632部識別名のリネーム解除
633 sys_rename.def カーネルの内
634部識別名のリネーム定義
635 sys_unrename.def カーネルの内
636部識別名のリネーム解除
637 dmt33401.ld サンプルプログラム用リンカスクリプトファイル
638
639config/s1c33/luxun4
640 hw_serial.cfg SIOドライバのコンフィギュレーションファイル
641 Makefile.config Makefileの LUXUN4 依存定義
642 hw_serial.c シリアルインターフェイスに関する変数と関数
643 sys_config.c システム依存部の関数
644 sys_start.c ブートプログラム ソースファイル
645 hw_serial.h シリアルインターフェイス操作ルーチン
646 hw_timer.h タイマ操作ルーチン
647 luxun4.h LUXUN4ボードに関する定義
648 sys_config.h システム依存部の構成定義
649 sys_defs.h システム依存部のアプリケーション用定義
650 sys_rename.h カーネルの内
651部識別名のリネーム
652 sys_unrename.h カーネルの内
653部識別名のリネーム解除
654 sys_rename.def カーネルの内
655部識別名のリネーム定義
656 sys_unrename.def カーネルの内
657部識別名のリネーム解除
658 luxun4.ld サンプルプログラム用リンカスクリプトファイル
659
660config/s1c33-gnu33
661 Makefile.config Makefileの S1C33 依存定義(GNU33開発環境用)
662
663config/s1c33-gnu33/dmt33209
664 Makefile.config Makefileの DMT33209 依存定義(GNU33開発環境用)
665
666config/s1c33-gnu33/luxun2
667 Makefile.config Makefileの LUXUN2 依存定義(GNU33開発環境用)
668
669config/s1c33-gnu33/dmt33401
670 Makefile.config Makefileの DMT33401 依存定義(GNU33開発環境用)
671
672config/s1c33-gnu33/luxun4
673 Makefile.config Makefileの LUXUN4 依存定義(GNU33開発環境用)
674
6755.2 メモリマップ
676
677DMT33209ボード
678 アドレス
679 0x00000000 - 0x00001fff : CPU内
680蔵SRAM
681 非タスクコンテキスト用スタック領域
682 0x00040000 - 0x00004fff : 内
683蔵I/O レジスタ領域
684
685 0x00200000 - 0x002fffff : フラッシュメモリ
686 未使用
687 0x00600000 - 0x006fffff : 外部SRAM
688 .bss, .dataセクション用領域
689 非タスクコンテキスト用スタック以外のRAM
690 領域はすべてここにé…
691ç½®ã•ã‚Œã‚‹ï¼Ž
692 0x00c00000 - 0x00cfffff : フラッシュメモリ
693 .text, .rodataセクション,.dataセクション
694 初期値格納領域
695 0x00c00000はS1C33デフォルトのブートアドレス
696
697LUXUN2ボード
698 アドレス
699 0x00000000 - 0x00003fff : CPU内
700蔵SRAM
701 非タスクコンテキスト用スタック領域
702 0x00040000 - 0x00004fff : 内
703蔵I/O レジスタ領域
704
705 0x00400000 - 0x005fffff : 外部SRAM(Virtual SRAM)
706 未使用
707 0x00800000 - 0x00ffffff : フラッシュメモリ
708 .text, .rodataセクション,.dataセクション
709 初期値格納領域
710 0x00c00000番地以降に上記セクションをé…
711ç½®
712 0x02000000 - 0x027fffff : 外部SRAM(Virtual SRAM)
713 .bss, .dataセクション用領域
714 非タスクコンテキスト用スタック以外のRAM
715 領域はすべてここにé…
716ç½®ã•ã‚Œã‚‹ï¼Ž
717
718DMT33401ボード
719 0x00000000 - 0x00007fff : CPU内
720蔵SRAM
721 非タスクコンテキスト用スタック領域
722 0x00040000 - 0x00004fff : 内
723蔵I/O レジスタ領域
724
725 0x00200000 - 0x002fffff : フラッシュメモリ
726 未使用
727 0x00600000 - 0x006fffff : 外部SRAM
728 .bss, .dataセクション用領域
729 非タスクコンテキスト用スタック以外のRAM
730 領域はすべてここにé…
731ç½®ã•ã‚Œã‚‹ï¼Ž
732 0x10000000 - 0x11ffffff : 外部SDRAM
733 未使用
734 0x20000000 - 0x200fffff : フラッシュメモリ
735 .text, .rodataセクション,.dataセクション
736 初期値格納領域
737
738LUXUN4ボード
739 0x00000000 - 0x00007fff : CPU内
740蔵SRAM
741 非タスクコンテキスト用スタック領域
742 0x00040000 - 0x00004fff : 内
743蔵I/O レジスタ領域
744
745 0x01000000 - 0x011fffff : 外部SRAM(Combo memory)
746 .bss, .dataセクション用領域
747 非タスクコンテキスト用スタック以外のRAM
748 領域はすべてここにé…
749ç½®ã•ã‚Œã‚‹ï¼Ž
750 0x10000000 - 0x11ffffff : 外部SDRAM
751 未使用
752 0x20000000 - 0x207fffff : フラッシュメモリ(Combo memory)
753 .text, .rodataセクション,.dataセクション
754 初期値格納領域
Note: See TracBrowser for help on using the repository browser.