source: asp3_wo_tecs/trunk/arch/arm_gcc/doc/arm_user.txt@ 306

Last change on this file since 306 was 306, checked in by ertl-honda, 7 years ago

3.1.0を反映

File size: 26.3 KB
Line 
1
2 TOPPERS/ASP3カーネル
3 ARM依存部 ユーザーズマニュアル
4
5 対応バージョン: Release 3.1
6 最終更新: 2016年4月3日
7
8このドキュメントは,TOPPERS/ASP3カーネルのARM依存部を使用するために必
9要
10な事項
11を説明するものである.
12
13----------------------------------------------------------------------
14 TOPPERS/ASP Kernel
15 Toyohashi Open Platform for Embedded Real-Time Systems/
16 Advanced Standard Profile Kernel
17
18 Copyright (C) 2014-2016 by Embedded and Real-Time Systems Laboratory
19 Graduate School of Information Science, Nagoya Univ., JAPAN
20
21 上記著作権者
22は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
23 ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
24 変・再é…
25å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
26 (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
27 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
28 スコード中に含まれていること.
29 (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
30 用できる形で再é…
31å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
32å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
33 者
34マニュアルなど)に,上記の著作権表示,この利用条件および下記
35 の無保証規定を掲載すること.
36 (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
37 用できない形で再é…
38å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
39 と.
40 (a) 再é…
41å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
42マニュアルなど)に,上記の著
43 作権表示,この利用条件および下記の無保証規定を掲載すること.
44 (b) 再é…
45å¸ƒã®å½¢æ…
46‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
47 報告すること.
48 (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
49 害からも,上記著作権者
50およびTOPPERSプロジェクトをå…
51è²¬ã™ã‚‹ã“と.
52 また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
53 由に基づく請求からも,上記著作権者
54およびTOPPERSプロジェクトを
55 å…
56è²¬ã™ã‚‹ã“と.
57
58 本ソフトウェアは,無保証で提供されているものである.上記著作権者
59お
60 よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
61 に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
62 アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
63 の責任を負わない.
64
65 $Id: arm_user.txt 752 2016-05-14 15:06:22Z ertl-hiro $
66----------------------------------------------------------------------
67
68○目次
69
701.ARM依存部の概要
71 1.1 ARM依存部のディレクトリ構成
72 1.2 ARMコア依存部
73 1.3 MPCoreチップ依存部
74 1.4 RZ/A1チップ依存部
75 1.5 GIC依存部
76 1.6 その他の依存部
772.ターゲット定義事項
78の規定
79 2.1 データ型に関する規定
80 2.2 割込み処理に関する規定
81 2.2.1 RZ/A1チップ依存部における割込み処理に関する規定
82 2.3 CPU例外処理に関する規定
83 2.4 タイマに関する規定
84 2.4.1 RZ/A1チップ依存部におけるタイマに関する規定
85 2.5 その他の規定・制約
86 2.6 動的生成機能拡張のサポートに関する規定
873.使用上の注意とヒント
88 3.1 MMUの設定
89 3.2 CPU例外の原因の追及方法
90 3.3 パフォーマンスモニタによる性能評価
914.リファレンス
92 4.1 ディレクトリ構成・ファイル構成
93 4.2 バージョン履歴
94
95
961.ARM依存部の概要
97
98ARM依存部は,TOPPERS/ASP3カーネルのターゲット依存部の中で,ARMコアおよ
99びそれを用いたチップにå…
100±é€šã«ä½¿ç”¨ã§ãã‚‹éƒ¨åˆ†ã§ã‚る.
101
1021.1 ARM依存部のディレクトリ構成
103
104ARM依存部の置かれているディレクトリは次の通り.
105
106 arch/
107 arm_gcc/common/ ARMコア依存部など
108 arm_gcc/mpcore/ MPCoreチップ依存部
109 arm_gcc/rza1/ RZ/A1チップ依存部
110 arm_gcc/doc/ ARM依存部に関するドキュメント
111
1121.2 ARMコア依存部
113
114ARMコア依存部は,ARMv4,ARMv5,ARMv6,ARMv7-A,ARMv7-Rに準拠したプロセッ
115サコアを持つターゲットシステム(チップ)にå…
116±é€šã«ä½¿ç”¨ã§ãã‚‹éƒ¨åˆ†ã§ã‚る.
117
118コア略称等は次の通り.
119
120 コア略称:arm
121 開発環境略称:gcc
122
123ARMコア依存部(GNU開発環境向け)は,arch/arm_gcc/commonに置かれている.
124
1251.3 MPCoreチップ依存部
126
127MPCoreチップ依存部は,ARM MPCoreアーキテクチャに基づいたチップにå…
128±é€šã«
129使用できる部分である.MPCoreチップ依存部には,MPCoreが持つタイマとウォッ
130チドッグの操作や,SCU(スヌープ制御ユニット)の操作などが含まれる.
131
132チップ略称等は次の通り.
133
134 チップ略称:mpcore
135 開発環境略称:gcc
136
137MPCoreチップ依存部は,GIC依存部を用いている.そのため,このドキュメント
138中でGIC依存部に関して記述されたことは,MPCoreチップ依存部にも適用される.
139
140MPCoreチップ依存部(GNU開発環境向け)は,arch/arm_gcc/mpcoreに置かれて
141いる.
142
1431.4 RZ/A1チップ依存部
144
145RZ/A1チップ依存部は,ARM Cortex-A9コアを搭載したルネサス RZ/Aシリーズの
146チップにå…
147±é€šã«ä½¿ç”¨ã§ãã‚‹éƒ¨åˆ†ã§ã‚る.RZ/A1チップ依存部には,RZ/Aシリーズ
148のチップが持つOSタイマ(OSTM)の操作や,FIFO内
149蔵シリアルコミュニケーショ
150ンインタフェース(SCIF)の操作などが含まれる.
151
152チップ略称等は次の通り.
153
154 チップ略称:rza1
155 開発環境略称:gcc
156
157RZ/A1チップ依存部は,GIC依存部を用いている.そのため,このドキュメント
158中でGIC依存部に関して記述されたことは,RZ/A1チップ依存部にも適用される.
159ただし,RZ/Aシリーズの割込みコントローラは,標準のGICに対して独自の拡張
160を加えているため,それに対応するため,GIC依存部に拡張を加えている.
161
162RZ/Aシリーズは,ARM Cortex-A9 MPCoreを用いているが,MPCoreが持つタイマ
163とウォッチドッグを使用できないこと,シングルコアでありSCUの操作が不要で
164あることから,MPCoreチップ依存部は用いていない.
165
166RZ/A1チップ依存部(GNU開発環境向け)は,arch/arm_gcc/rza1に置かれている.
167
1681.5 GIC依存部
169
170GIC依存部は,ARMの標準的な割込みコントローラの1つであるGIC(ARM
171Generic Interrupt Controller)を用いたチップにå…
172±é€šã«ä½¿ç”¨ã§ãã‚‹éƒ¨åˆ†ã§ã‚
173る.GIC依存部(GNU開発環境向け)は,arch/arm_gcc/commonに置かれている.
174
1751.6 その他のターゲット依存部
176
177以下に挙げるARMの標準的なIP向けの定義ファイルや操作ライブラリ等が,
178arch/arm_gcc/commonに置かれている.
179
180・ARM L2キャッシュコントローラ(PL310)に関する定義と操作ライブラリ
181・ARM Dual-Timer Module(SP804)に関する定義ファイル
182・ARM PrimCell UART(PL011)用 簡易デバイスドライバ
183
184
1852.ターゲット定義事項
186の規定
187
1882.1 データ型に関する規定
189
190ターゲット依存のデータ型のサイズは次の通り.
191
192 int_t 32ビット
193 long_t 32ビット
194
195 char 8ビット
196 int_least8_t 8ビット
197 void * 32ビット
198 intptr_t 32ビット
199 size_t 32ビット
200
201ターゲット依存のデータ型の有無は次の通り.
202
203 int8_t,uint8_t あり
204 int64_t,uint64_t あり
205 int128_t,uint128_t なし
206 float32_t あり
207 double64_t あり
208
2092.2 割込み処理に関する規定
210
211ARMコア依存部の標準では,IRQをカーネル管理の割込み,FIQをカーネル管理外
212の割込みと扱う.ただし,SafeGのセキュアモードでASP3カーネルを動作させる
213場合には,FIQをカーネル管理の割込みとして扱い,カーネル管理外の割込みは
214サポートしない.FIQに対する割込みハンドラは,DEF_INHではなく,DEF_EXCを
215用いて登録する.
216
217割込みサービスルーチンまたは割込みハンドラを登録していない割込みが発生
218した場合,デフォルトの割込みハンドラが実行される.ターゲット依存部で変
219更していない場合,デフォルトの割込みハンドラでは,未登録の割込みが状し
220たことをシステムログに出力する.
221
222GIC依存部では,GICに対する割込みのID番号を,そのまま割込み番号として使
223用している.また,割込みハンドラ番号は,それに対応する割込み番号と一致
224させている.
225
226GIC依存部では,TOPPERS第3世代カーネル(ITRON系)統合仕様書の規定に合致
227した割込み要求禁止フラグをサポートしており,dis_int/ena_intをサポート
228している.また,割込み要求ラインのトリガモードの設定をサポートしている.
229
2302.2.1 RZ/A1チップ依存部における割込み処理に関する規定
231
232RZ/Aシリーズの割込みコントローラは,32レベルの割込み優å…
233ˆåº¦ã‚’サポートし
234ている.そのため,割込み優å…
235ˆåº¦ã®æœ€å°å€¤ï¼ˆæœ€é«˜å€¤ï¼‰ã¯-31,割込み優å…
236ˆåº¦ã®æœ€
237大値(最低値)は-1である.
238
239RZ/Aシリーズの割込みコントローラがサポートする割込みの種類と,その割込
240み番号の範囲は次の通り(個別の割込みについては,チップのマニュアルを参
241ç…
242§ã™ã‚‹ã“と).
243
244 ソフトウェア割込み 0〜15
245 CPUからの割込み 16〜19
246 IRQ割込み 32〜39
247 内
248蔵周辺モジュール割込み 40〜415
249 端子割込み 416〜537(RZ/A1Lの場合)
250 416〜586(RZ/A1H,RZ/A1Mの場合)
251
252この内
253,IRQ割込みについては,GICの手前に割込みå…
254¥åŠ›åˆ¶å¾¡å›žè·¯ãŒå…
255¥ã£ã¦ãŠã‚Šï¼Œ
256その制御レジスタで,レベルトリガ,ポジティブエッジトリガ,ネガティブエッ
257ジトリガ,両エッジトリガのいずれにするかを設定することができる.そこで,
258IRQ割込みに対する割込み要求ラインの属性の設定(CFG_INT)では,以下のター
259ゲット定義の割込み要求ライン属性を指定することができる.
260
261 TA_NEGEDGE 0x04U ネガティブエッジトリガ
262 TA_POSEDGE 0x08U ポジティブエッジトリガ
263 TA_BOTHEDGE 0x0cU 両エッジトリガ
264
265IRQ割込みに対してTA_EDGEを指定した場合,それ以外の割込みに対して上の3つ
266の属性を指定した場合は,コンフィギュレータがエラーを検出する.
267
268また,IRQ割込みをエッジトリガで使用する場合に,カーネルは,トリガした割
269込み要求をクリアしない(カーネルの標準的な振舞いと異なる).それに代え
270て,トリガした割込み要求をクリアするための以下の関数を用意している.
271
272(2-2-1-1) void rza1_clear_irq(INTNO intno)
273
274intnoで指定したIRQ割込み要求をクリアする.intnoに指定できる値は,
275INTNO_IRQ0〜INTNO_IRQ7の範囲である.
276
277CPUからの割込みと内
278蔵周辺モジュール割込みは,レベルトリガで使用するかエッ
279ジトリガで使用するかが,チップで決められている.チップでの指定と異なる
280設定をした場合の動作は保証されない(異なる設定をしても,エラーにはなら
281ない).チップでの指定については,チップのマニュアルを参ç…
282§ã™ã‚‹ã“と.
283
2842.3 CPU例外処理に関する規定
285
286CPU例外ハンドラ番号は,以下のように割り当てている.
287
288 EXCNO_UNDEF 0 未定義命令
289 EXCNO_SVC 1 スーパバイザコール
290 EXCNO_PABORT 2 プリフェッチアボート
291 EXCNO_DABORT 3 データアボート
292 EXCNO_IRQ 4 IRQ割込み
293 EXCNO_FIQ 5 FIQ割込み
294
295この内
296,EXCNO_IRQに対しては,DEF_EXCによりCPU例外ハンドラを登録すること
297ができない.
298
299ARMでは,CPU例外ハンドラからリターンする場合に,戻りå…
300ˆã®ãƒ—ログラムカウ
301ンタの補正が必
302要になる.補正量は,例外の種類や,例外の原因になった命令
303を再実行するかその次の命令から実行するかによって,以下の通りとなる.
304
305例外の種類 戻り番地 補正量
306----------------------------------------------------------------------
307未定義命令 未定義命令の番地 −4/2(*)
308 未定義命令の次の命令の番地 ±0
309スーパバイザコール SVCの次の命令の番地 ±0
310プリフェッチアボート アボートされた命令の番地 −4
311 アボートされた命令の次の命令の番地 ±0
312データアボート アボートを生成した命令の番地 −8
313 アボートを生成した命令の次の命令の番地 −4
314FIQ割込み 次に実行すべき番地 −4
315----------------------------------------------------------------------
316(*) ARMモードでは4,Thumbモードでは2
317
318CPU例外ハンドラ内
319で戻り番地を補正する場合,以下のようなコードを実行すれ
320ばよい(以下の例は,補正量が-4の場合).
321
322 ((T_EXCINF *) p_excinf)->pc -= 4U
323
324CPU例外ハンドラを登録していないCPU例外が発生した場合,デフォルトのCPU例
325外ハンドラが実行される.ターゲット依存部で変更していない場合,デフォル
326トのCPU例外ハンドラでは,発生したCPU例外の種類と,CPU例外の発生状況をシ
327ステムログに出力する.詳しくは,「3.2 CPU例外の原因の追及方法」の節を参
328ç…
329§ã™ã‚‹ã“と.
330
3312.4 タイマに関する規定
332
333MPCoreチップ依存部では,コア毎に持つプライベートタイマとプライベート
334ウォッチドッグを用いて,高分解能タイマを実現している.ターゲット依存部
335で変更していない場合,高分解能タイマの周期は2^32(TCYC_HRTCNTは定義しな
336い),カウントアップの進み幅
337(TSTEP_HRTCNT)は1である.
338
3392.4.1 RZ/A1チップ依存部におけるタイマに関する規定
340
341RZ/A1チップ依存部では,RZ/Aシリーズが持つ2チャンネルのOSタイマの内
342の1つ
343(OSタイマ0)を用いて高分解能タイマを,もう1つ(OSタイマ1)を用いてオー
344バランタイマを実現している.
345
346現在の実装
347では,OSタイマに供給されるクロックが33.33…MHz(CPUのクロック
348が400MHz)の場合のみに対応している.この場合,高分解能タイマの周期
349(TCYC_HRTCNT)は128,849,019(2^32÷33.33…を丸めた値),カウントアップ
350の進み幅
351(TSTEP_HRTCNT)は1である.また,オーバランハンドラの残りプロセッ
352サ時間に指定できる最大値(TMAX_OVRTIM)は128,849,017である.
353
3542.5 その他の規定・制約
355
356タスクと非タスクコンテキスト用のスタック領域のå…
357ˆé ­ç•ªåœ°ã¨ã‚µã‚¤ã‚ºã¯ï¼Œ8の倍
358数でなければならない.固定長メモリプール領域のå…
359ˆé ­ç•ªåœ°ã¯ï¼Œ4の倍数でなけ
360ればならない.
361
362割込みハンドラのå…
363ˆé ­ç•ªåœ°ï¼ˆDEF_INHのinthdr)とCPU例外ハンドラのå…
364ˆé ­ç•ªåœ°
365(DEF_EXCのexchdr)がプログラムの開始番地として正しくない場合のエラーは,
366コンフィギュレータによって検出される.
367
368それに対して,割込みサービスルーチンのå…
369ˆé ­ç•ªåœ°ï¼ˆCRE_ISRのisr),初期化
370ルーチンのå…
371ˆé ­ç•ªåœ°ï¼ˆATT_INIのinirtn),終了処理ルーチンのå…
372ˆé ­ç•ªåœ°
373(ATT_TERのterrtn)がプログラムの開始番地として正しくない場合のエラーは,
374コンフィギュレータによって検出されない.
375
3762.6 動的生成機能拡張のサポートに関する規定
377
378動的生成機能拡張パッケージをサポートしている.
379
380動的メモリ管理は,オープンソースのメモリ割付けライブラリであるTLSFを用
381いる方法を標準にしている.そのため,動的生成機能拡張を使用する場合には,
382TLSFのパッケージに含まれるtlsf.hとtlsf.cを,カーネルをビルドするディレ
383クトリか,vpathで指定されたディレクトリに置いておく必
384要がある.また,
385MakefileのKERNEL_COBJSの定義に,以下のようにtlsf.oを追加する必
386要がある.
387
388----------------------------------------
389KERNEL_COBJS := $(KERNEL_COBJS) tlsf.o
390----------------------------------------
391
392なお,TLSF(動作確認は,Version 2.4.6)は,以下のウェブサイトからダウン
393ロードすることができる.
394
395 http://www.gii.upv.es/tlsf/
396
397
3983.使用上の注意とヒント
399
4003.1 MMUの設定
401
402MMUを持つチップでは,MMUを使用しないとキャッシュを使用することができな
403い.そこで,ARMコア依存部では,有効なアドレスに対して,論理アドレスと物
404理アドレスが一致するような変換テーブルを準備し,それを使用するように設
405定する.
406
407有効なアドレスの範囲と,各アドレス範囲におけるMMUへの設定属性(許可する
408アクセスの種類,キャッシュの設定等)は,ターゲット依存部で定義する.
409
410MPCoreとRZ/AシリーズはMMUを持つため,MPCoreチップ依存部やRZ/A1チップ依
411存部を使用する場合には,上記の設定となる.
412
4133.2 CPU例外の原因の追及方法
414
415CPU例外ハンドラを登録していないCPU例外が発生すると,デフォルトのCPU例外
416ハンドラ(default_exc_handler)が実行される。SUPPORT_XLOG_SYSを定義して
417いる場合(ターゲット依存部で定義していることが多い),デフォルトのCPU例
418外ハンドラは,発生したCPU例外の種類と,CPU例外の発生状況をシステムログ
419に出力する。以下では,CPU例外の種類毎に,CPU例外の原因を追及する方法に
420ついて説明する。
421
422(1) 未定義命令例外
423
424システムログに出力されるプログラムカウンタ(pc)の値は,未定義命令の次
425の命令の番地である。その手前にある未定義命令を実行したことが,CPU例外の
426原因である。
427
428(2) スーパバイザコール(SVC)例外
429
430システムログに出力されるプログラムカウンタ(pc)の値は,svc命令の次の命
431令の番地である。その手前にあるsvc命令を実行したことが,CPU例外の原因で
432ある。
433
434(3) プリフェッチアボート
435
436システムログに出力されるプログラムカウンタ(pc)の値は,(アボートされた
437命令フェッチの番地+4)である。
438
439プリフェッチアボートは,不正な番地への分岐によって起こるのが一般的であ
440るが,その場合,プログラムカウンタの値は,(分岐å…
441ˆã®ç•ªåœ°+4)となる。CPU例
442外の発生原因は分岐å…
443ƒã®å‘½ä»¤ã§ã‚るが,システムログに出力される情
444報から分
445岐å…
446ƒã‚’知る方法はない。ただし,関数呼出しによる分岐の場合には,リンクレ
447ジスタ(lr)に戻り番地が保存されるため,リンクレジスタが指す命令の手前
448の分岐命令が,CPU例外の原因ということになる。
449
450プリフェッチアボート発生の詳しい状況は,ARMv7では,CP15の
451IFSR(Instruction Fault Status Register)やIFAR(Instruction Fault
452Address Register)を読み出すことが必
453要である。
454
455(4) データアボート
456
457システムログに出力されるプログラムカウンタ(pc)の値は,(データアボート
458を起こした命令番地+8)である。(プログラムカウンタの値-8)の番地にある命令
459を実行したことが,CPU例外の原因である。
460
461特殊な状況として,CPU例外がカーネル内
462(dabort_handler内
463であることが一般
464的)で発生し,システムログに出力されるnest_countが異常な値(INT32_MIN近
465辺の値)になっている場合がある。これは,スタックポインタが不正な値になっ
466た状æ…
467‹ã§CPU例外が発生し,カーネル内
468で必
469要な情
470報をスタックに保存しようと
471して再度CPU例外が発生した状況である。この場合,CPU例外が起こった状況が
472保存されていないため,CPU例外の原因の追及は難しい。
473
474データアボート発生の詳しい状況は,CP15のDFSR(Data Fault Status
475Register)やDFAR(Data Fault Address Register,ARMv6以前はFARの名称,
476ARMv6より前はIFARと統合されている)を読み出すことが必
477要である。
478
479(5) アボート発生の状況
480
481ARMv7では,以下のレジスタが用意されている。
482
483 DFSR(Instruction Fault Status Register) cp15 c5 0 c0 0
484 DFAR(Instruction Fault Address Register) cp15 c6 0 c0 0
485 IFSR(Instruction Fault Status Register) cp15 c5 0 c0 1
486 IFAR(Instruction Fault Address Register) cp15 c6 0 c0 2
487
488ARMv6は,ARMv6の持つ4つのレジスタ内
489,IFARはオプションである。また,
490DFARはFAR(Fault Address Register)と呼ばれている。
491
492ARMv5以前は,以下のレジスタが用意されている。
493
494 FSR(Fault Status Register) cp15 c5 0 c0 0
495 FAR(Fault Address Register) cp15 c6 0 c0 0
496
4973.3 パフォーマンスモニタによる性能評価
498
499ARMv7に準拠したパフォーマンスモニタを持つターゲットシステムでは,
500USE_ARM_PM_HISTを定義してコンパイルすることで,実行時間分布集計サービス
501において,パフォーマンスモニタを用いて実行時間を計測する.実行時間の計
502測単位は,0.1マイクロ秒としている.
503
504
5054.リファレンス
506
5074.1 ディレクトリ構成・ファイル構成
508
509 arm_gcc/
510 MANIFEST 個別パッケージのファイルリスト
511
512 arm_gcc/common/
513 Makefile.core Makefileのコア依存部
514 arm.c コアのハードウェア資源の操作
515 arm.h コアのハードウェア資源の定義
516 arm_insn.h コア独自の命令の実行
517 core_asm.inc アセンブラ記述のためのマクロ
518 core_cfg1_out.h cfg1_out.cのリンクに必
519要なスタブの定義
520 core_check.trb kernel_check.trbのコア依存部
521 core_kernel.h kernel.hのコア依存部
522 core_kernel.trb kernel.trbのコア依存部
523 core_kernel_impl.c カーネル実装
524のコア依存部関連の定義
525 core_kernel_impl.h カーネル実装
526のコア依存部
527 core_offset.trb genoffset.trbのコア依存部
528 core_rename.def コア依存部の内
529部識別名のリネーム定義
530 core_rename.h コア依存部の内
531部識別名のリネーム
532 core_sil.h sil.hのコア依存部
533 core_stddef.h t_stddef.hのコア依存部
534 core_support.S カーネル実装
535のコア依存部(アセンブリ言語
536 で記述した部分)
537 core_sym.def kernel_sym.defのコア依存部
538 core_syssvc.h システムサービスのコア依存定義
539 core_test.h テストプログラムのコア依存定義
540 core_unrename.h コア依存部の内
541部識別名のリネーム解除
542 gic_kernel_impl.c カーネル実装
543のGIC依存部関連の定義
544 gic_kernel_impl.h カーネル実装
545のGIC依存部
546 gic_support.S カーネル実装
547のGIC依存部関連(アセンブリ言
548 語で記述した部分)
549 pl310.c L2キャッシュコントローラ(PL310)の操作ライ
550 ブラリ
551 pl310.h L2キャッシュコントローラ(PL310)に関する定義
552 sp804.h ARM Dual-Timer Module(SP804)に関する定義
553 start.S カーネル用のスタートアップモジュール(ARM用)
554 tUartPL011.c ARM PrimCell UART(PL011)用 簡易SIOドライバ
555 tUartPL011.cdl ARM PrimCell UART(PL011)用 簡易SIOドライ
556 バのコンポーネント記述
557 uart_pl011.h ARM PrimCell UART(PL011)に関する定義
558
559 arm_gcc/mpcore/
560 MANIFEST MPCore依存部のファイルリスト
561 Makefile.chip Makefileのチップ依存部
562 chip_kernel.h kernel.hのチップ依存部
563 chip_kernel_impl.c カーネル実装
564のチップ依存部関連の定義
565 chip_kernel_impl.h カーネル実装
566のチップ依存部
567 chip_rename.def チップ依存部の内
568部識別名のリネーム定義
569 chip_rename.h チップ依存部の内
570部識別名のリネーム
571 chip_stddef.h t_stddef.hのチップ依存部
572 chip_timer.c タイマドライバ
573 chip_timer.cfg タイマドライバのコンフィギュレーションファイル
574 chip_timer.h タイマドライバを使用するための定義
575 chip_unrename.h チップ依存部の内
576部識別名のリネーム解除
577 mpcore.h チップのハードウェア資源の定義
578
579 arm_gcc/rza1/
580 MANIFEST RZ/A1依存部のファイルリスト
581 Makefile.chip Makefileのチップ依存部
582 chip_kernel.h kernel.hのチップ依存部
583 chip_kernel.trb kernel.trbのチップ依存部
584 chip_kernel_impl.c カーネル実装
585のチップ依存部関連の定義
586 chip_kernel_impl.h カーネル実装
587のチップ依存部
588 chip_rename.def チップ依存部の内
589部識別名のリネーム定義
590 chip_rename.h チップ依存部の内
591部識別名のリネーム
592 chip_stddef.h t_stddef.hのチップ依存部
593 chip_sym.def kernel_sym.defのチップ依存部
594 chip_timer.c タイマドライバ
595 chip_timer.cfg タイマドライバのコンフィギュレーションファイル
596 chip_timer.h タイマドライバを使用するための定義
597 chip_unrename.h チップ依存部の内
598部識別名のリネーム解除
599 rza1.h チップのハードウェア資源の定義
600 scif.h シリアルインタフェースに関する定義
601 tSCIF.c シリアルインタフェース用 簡易SIOドライバ
602 tSCIF.cdl シリアルインタフェース用 簡易SIOドライバ
603 のコンポーネント記述
604
605 arm_gcc/doc/
606 arm_design.txt ARMコア依存部 設計メモ
607 arm_user.txt ARM依存部 ユーザーズマニュアル
608 gic_design.txt GIC依存部 設計メモ
609
6104.2 バージョン履歴
611
612 2015年8月5日 Release 3.B.0 最初のリリース
613 2016å¹´2月8日 Release 3.0.0 最初の一般å…
614¬é–‹
615 2016年5月15日 Release 3.1.0 RZ/A1のサポートを追加
616
617以上
Note: See TracBrowser for help on using the repository browser.