source: asp3_wo_tecs/trunk/arch/arm_gcc/doc/mpcore_memo.txt@ 302

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

TECSレスのASP3の開発のため以下のtrunkからコピー
http://dev.toppers.jp/svn/asp3/branches/WO_TECS-3.C.0

File size: 8.7 KB
Line 
1
2 TOPPERSプロジェクト 設計メモ
3 MPCoreおよびそれを用いたチップ/ボードに関するメモ
4
5 作成者
6: 高田広章(名古屋大学)
7 最終更新: 2015年8月9日
8
9○メモの位置づけ
10
11このメモは,MPCoreと,それを用いた以下のチップ/ボードに関して,
12TOPPERSカーネルをポーティングするにあたって必
13要となる事項
14をまとめたもの
15である.
16
17・ARM11 MPCore
18・Core Tile for ARM11 MPCore(CT11MPCore)
19・RealView Platform Baseboard for ARM11 MPCore
20
21○目次
22
23・参考文献
24・ARM CT11MPcore with RealView Emulation Baseboard
25 - 用語の整理
26 - ARM11 MPCoreテストチップの割込み機能
27 - CoreTile for ARM11 MPcoreの割込み機能
28 - デバイスレジスタのアドレス
29・ARM11 MPCore内
30蔵タイマ
31 - タイマ
32 - ウォッチドッグ
33
34○参考文献
35
36[1] ARM11 MPCore Processor Technical Reference Manual, 2008
37Revision: r2p0
38DDI0360F_arm11_mpcore_r2p0_trm.pdf
39
40[2] Cortex-A9 MPCore Technical Reference Manual, 2012
41Revision: r4p1
42DDI0407I_cortex_a9_mpcore_r4p1_trm
43
44[3] Core Tile for ARM11 MPCore User Guide
45HBI-0146
46DUI0318F_core_tile_for_arm11_mpcore_ug.pdf
47
48[4] Using a CT11MPCore with the RealView Emulation Baseboard, 2008
49ARM DAI 0152E
50DAI0152E_ct11mpcore_on_emulation_baseboard.pdf
51
52[5] RealView Platform Baseboard for ARM11 MPCore User Guide, 2011
53HBI-0159, HBI-0175, HBI-0176
54DUI0351E_realview_platform_baseboard_for_arm11_mpcore_ug.pdf
55
56○ARM CT11MPcore with RealView Emulation Baseboard
57
58●用語の整理
59
60・Emulation Baseboard(EB)
61 - コアを含まないベースボード
62 - メモリや各種のペリフェラルを搭載する
63
64・Platform Baseboard(PB)
65 - コアを搭載するベースボード
66 - メモリや各種のペリフェラルも搭載する
67
68・CoreTile(CT)
69 - Emulation Baseboard(EB)に載せるためのコアを搭載した小型ボード
70
71・Core Tile for ARM11 MPCore(CT11MPCore)
72 - ARM11 MPCoreのテストチップを搭載したCoreTile
73 + 4プロセッサ構成のARM11 MPCore
74 + L220 レベル2 キャッシュコントローラ
75
76・HDRX,HDRY,HDRZ(何の略か不明)
77 - BaseboardとCoreTileを接続する3つのコネクタの名称
78
79・DCC(Debug Communications Controller)
80
81●ARM11 MPCoreテストチップの割込み機能([3] 4.3.2節)
82
83・搭載されている割込みコントローラ
84 - DIC(Distributed Interrupt Controller)
85 - GICの前身となる仕様(GICv0に相当)
86
87・チップ外からの割込み要求ライン
88 - nIRQ[3:0] … DICの割込みID31に
89 - nFIQ[3:0] … 各プロセッサのFIQに直結
90 - INT[15:0] … DICの割込みID32〜47に
91
92・CPSR中のFビットを無効にして,FIQをNMI扱いできる
93 - テストチップ割込み制御レジスタで設定
94 PERIPHBASE+0x3004U
95
96・DICは32本の割込み要求ラインを持つ
97 - ハードウェア割込み(GICのSPIに相当)の本数のことと思われる
98
99・テストチップのINT[31:16]は,チップ内
100に閉じて使用
101 - INT[31:29]:L220からの割込み(3本)
102 - INT[17:28]:各プロセッサおよびSCUからの割込み(12本)PMUIRQ[0:11]
103 - INT[16]:未使用(1本)
104
105●CoreTile for ARM11 MPcoreの割込み機能([3] 3.4.2節)
106
107・3つの割込みモードをサポート
108 - Legacy mode
109 - Normal mode with DCC interrupt routing
110 - Normal mode without DCC interrupt routing … これで使っている
111 - EBシステムFPGAのSYS_PLD_CTL1レジスタのINTMODE[2:0]で設定する
112
113・Normal mode without DCC
114 - Emulation Baseboardからの16本に割込み要求ラインを,そのまま
115 INT[15:0]に接続.nIRQ[3:0]とnFIQ[3:0]は使わない
116 - 割込み番号のアサイン
117 INT[0]:ACCI
118 INT[1]:EB_TIMER0/1
119 INT[2]:EB_TIMER2/3
120 INT[3]:USB
121 INT[4]:EB_UART0
122 INT[5]:EB_UART1
123 …
124 INT[10]:EB_GIC1_nIRQ
125 INT[11]:EB_GIC2_nIRQ
126 INT[12]:EB_GIC1_nFIQ
127 INT[13]:EB_GIC2_nFIQ
128 …
129
130●デバイスレジスタのアドレス
131
132・ペリフェラルベースアドレス(PERIPHBASE)([3] 3.10.1節)
133 - 以下のレジスタのアドレスを決める
134 + ARM11 MPCoreのレジスタ
135 Snoop Control Unit(SCU)の制御レジスタ
136 + L220キャッシュコントローラのレジスタ
137 + ARM11 MPCoreテストチップのレジスタ
138 Test chip PLL control register
139 Test chip interrupt control register
140 Test chip cluster ID register
141 Test chip power status register
142 Test chip way map register
143 Test chip clock divider register
144 - CT11MPCoreでは,CoreTile上のジャンパスイッチで設定可能
145 + デフォルトは,0x1F000000
146 - QEMUでは,0x10100000に設定されている(qemu-2.1.0/hw/arm/realview.c)
147
148・Emulation Baseboard上のリソースのアドレス([4] 5.2節,[5] 4章)
149 - ベースアドレスは,0x10000000
150 - レジスタをアンロックする方法
151 + base+0x20に,0xA05Fを書き込む
152 - メモリマップ
153 0x10000000〜0x10000fff システムレジスタ
154 0x10001000〜0x10001fff システムコントローラ(SP810)
155 …中略…
156 0x10009000〜0x10009fff UART0 … ARM UART PL011 r1p3
157 0x1000a000〜0x1000afff UART1 … ARM UART PL011 r1p3
158 0x1000b000〜0x1000bfff UART2 … ARM UART PL011 r1p3
159 0x1000c000〜0x1000cfff UART3 … ARM UART PL011 r1p3
160 …中略…
161 0x10010000〜0x10010fff Watchdog … ARM WDOG SP805 r2p0
162 0x10011000〜0x10011fff Timer 0&1 … ARM Dual-Timer SP804 r1p2
163 0x10012000〜0x10012fff Timer 2&3 … ARM Dual-Timer SP804 r1p2
164 …中略…
165
166○ARM11 MPCore内
167蔵タイマ([1] 9.2節)
168
169ARM11 MPCoreは,コア毎に,タイマとウォッチドッグを持つ.ウォッチドッグ
170は,タイマとして使用することもできる.
171
172●タイマ
173
174タイマロードレジスタ(MPCORE_TMR_LR)… 32ビット
175 - カウントレジスタが0になった時にリロードする値を保持するレジスタ.
176 - このレジスタに書き込むと,カウントレジスタにも書き込まれる.
177
178タイマカウントレジスタ(MPCORE_TMR_CNT)… 32ビット
179 - ダウンカウンタ.
180 - 0になったら,割込みを要求する.
181 - オートリロードモードでは,0になったら,ロードレジスタの値に戻る.
182 - ロードレジスタかカウンタレジスタに書き込むと,新しい値からカウント.
183
184タイマ制御レジスタ(MPCORE_TMR_CTRL)… 32ビット
185 [31:16] 予約(SBZ/RAZ)
186 [15:8] プリスケーラ
187 [7:3] 予約(SBZ/RAZ)
188 [2] 割込みイネーブル
189 [1] オートリロード
190 [0] タイマイネーブル
191
192タイマ割込み状æ…
193‹ãƒ¬ã‚¸ã‚¹ã‚¿ï¼ˆMPCORE_TMR_ISR)… 32ビット
194 [31:1] 予約
195 [0] イベントフラグ
196 - カウンタレジスタが0になった時にセットされる.
197 - 1を書き込むとクリアされる.
198
199●ウォッチドッグ
200
201ウォッチドッグロードレジスタ(MPCORE_WDG_LR)… 32ビット
202 - カウントレジスタが0になった時にリロードする値を保持するレジスタ.
203 - このレジスタに書き込むと,カウントレジスタにも書き込まれる.
204
205ウォッチドッグカウントレジスタ(MPCORE_WDG_CNT)… 32ビット
206 - ダウンカウンタ.
207 + タイマモード
208 - 0になったら,割込みを要求する.
209 - オートリロードモードでは,0になったら,ロードレジスタの値に戻る.
210 - ロードレジスタかカウンタレジスタに書き込むと,新しい値からカウント.
211 + ウォッチドッグモード
212 - 0になったら,リセットを要求する.
213 - このレジスタへは書き込めない.
214
215ウォッチドッグ制御レジスタ(MPCORE_WDG_CTRL)… 32ビット
216 [31:16] 予約(SBZ/RAZ)
217 [15:8] プリスケーラ
218 [7:4] 予約(SBZ/RAZ)
219 [3] ウォッチドッグモード(ここに0を書いても変更できない)
220 [2] 割込みイネーブル
221 [1] オートリロード
222 [0] ウォッチドッグイネーブル
223
224ウォッチドッグ割込み状æ…
225‹ãƒ¬ã‚¸ã‚¹ã‚¿ï¼ˆMPCORE_WDG_ISR)… 32ビット
226 [31:1] 予約
227 [0] イベントフラグ
228 - タイマモードで,カウンタレジスタが0になった時にセット.
229 - 1を書き込むとクリア.
230
231ウォッチドッグリセット状æ…
232‹ãƒ¬ã‚¸ã‚¹ã‚¿ï¼ˆMPCORE_WDG_RST)… 32ビット
233 [31:1] 予約
234 [0] リセットフラグ
235 - ウォッチドッグモードで,カウンタレジスタが0になった時に
236 セット.
237 - 1を書き込むとクリア.
238
239ウォッチドッグディスエーブルレジスタ(MPCORE_WDG_DIS)… 32ビット
240 0x12345678と0x87654321をこの順で書くと,ウォッチドッグがディスエー
241 ブルされる(制御レジスタ中のウォッチドッグモードビットが0になる).
242
243以上
Note: See TracBrowser for help on using the repository browser.