source: asp3_tinet_ecnl_arm/trunk/asp3_dcre/target/gr_peach_gcc/target_user.txt@ 352

Last change on this file since 352 was 352, checked in by coas-nagasima, 6 years ago

arm向けASP3版ECNLを追加

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/plain;charset=UTF-8
File size: 16.0 KB
Line 
1
2 TOPPERS/ASP3カーネル
3 GR-PEACH依存部 ユーザーズマニュアル
4
5 対応バージョン: Release 3.2
6 最終更新: 2016年4月2日
7
8このドキュメントは,TOPPERS/ASP3カーネルのGR-PEACHターゲット依存部を使
9用するために必要な事項を説明するものである.
10
11----------------------------------------------------------------------
12 TOPPERS/ASP Kernel
13 Toyohashi Open Platform for Embedded Real-Time Systems/
14 Advanced Standard Profile Kernel
15
16 Copyright (C) 2008-2016 by Embedded and Real-Time Systems Laboratory
17 Graduate School of Information Science, Nagoya Univ., JAPAN
18
19 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
20 ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
21 変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
22 (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
23 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
24 スコード中に含まれていること.
25 (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
26 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
27 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
28 の無保証規定を掲載すること.
29 (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
30 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
31 と.
32 (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
33 作権表示,この利用条件および下記の無保証規定を掲載すること.
34 (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
35 報告すること.
36 (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
37 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
38 また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
39 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
40 免責すること.
41
42 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
43 よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
44 に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
45 アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
46 の責任を負わない.
47
48 $Id$
49----------------------------------------------------------------------
50
51○ライセンスに関する注意事項
52
53GR-PEACHターゲット依存部には,ROM実行のためのブートローダ(sf_boot.c)
54を含んでいるが,このソフトウェアはルネサスエレクトロニクスが開発したも
55のであり,ライセンス条件もルネサスエレクトロニクス独自のものである.
56TOPPERSライセンスでないため注意すること.
57
58○目次
59
601.GR-PEACHターゲット依存部の概要
61 1.1 対応するターゲットシステムとターゲット略称
62 1.2 ターゲット依存部の構成
63 1.3 依存している個別パッケージのバージョン番号
64 1.4 開発環境/デバッグ環境と動作確認条件
65 1.5 メモリマップ
662.ターゲット定義事項の規定
673.ドライバ関連の情報
68 3.1 タイマドライバ
69 3.2 シリアルインタフェースドライバ
70 3.3 システムログの低レベル出力
714.システム構築手順と実行手順
72 4.1 ROM実行の場合の構築手順と実行手順
73 4.2 RAM実行の場合の構築手順と実行手順
74 4.3 ドライバのインストール
755.リファレンス
76 5.1 ディレクトリ構成・ファイル構成
77 5.2 バージョン履歴
78
79
801.GR-PEACHターゲット依存部の概要
81
82GR-PEACHターゲット依存部(GNU開発環境向け)は,TOPPERS/ASP3カーネルを,
83ルネサス RZ/A1Hを搭載したGR-PEACHボード上で動作させる環境を構築するため
84のものである.
85
861.1 対応するターゲットシステムとターゲット略称
87
88GR-PEACHターゲット依存部(GNU開発環境向け)の動作確認は,実機を用いて行っ
89ている.GR-PEACHに関する情報は,以下のウェブサイトにある.
90
91 http://gadget.renesas.com/ja/product/peach.html
92
93プログラムをフラッシュメモリに書き込んで実行する方法(ROM実行)と,デバッ
94ガによりRAMにダウンロードして実行する方法(RAM実行)をサポートしている.
95
96ターゲット略称等は次の通り.
97
98 ターゲット略称:gr_peach_gcc
99 システム略称:gr_peach
100 開発環境略称:gcc
101
1021.2 ターゲット依存部の構成
103
104GR-PEACHターゲット依存部(GNU開発環境向け)は,チップ依存部としてRZ/A1
105チップ依存部(GNU開発環境向け)を,コア依存部としてARMコア依存部(GNU開
106発環境向け)を使用している.
107
108ターゲット依存部(targetディレクトリ)およびターゲット依存部の共通部
109(archディレクトリ)のディレクトリは次の通り.
110
111 target/
112 gr_peach_gcc/ GR-PEACHターゲット依存部
113
114 arch/
115 arm_gcc/common/ ARMコア依存部
116 arm_gcc/rza1/ RZ/A1チップ依存部
117 arm_gcc/doc/ ARM依存部に関するドキュメント
118 gcc/ GCC開発環境依存部
119 tracelog/ トレースログ記録のサンプルコード
120
1211.3 依存している個別パッケージのバージョン番号
122
123GR-PEACHターゲット依存部(バージョン 3.2.0)の個別パッケージが依存して
124いる個別パッケージと,動作確認を行ったバージョンは次の通り.
125
126 個別パッケージの名称 バージョン 個別パッケージファイル名
127 ------------------------------------------------------------------
128 ターゲット非依存部 3.2.0 asp3-3.2.0.tar.gz
129
1301.4 開発環境/デバッグ環境と動作確認条件
131
132開発環境として,以下のURLからプリビルド版をダウンロードすることができる
133GCC ARM Embeddedを用いている.
134
135 https://launchpad.net/gcc-arm-embedded/
136
137動作確認を行ったバージョンは次の通り.
138
139 gcc: version 4.8.3 20140228
140 binutils(objcopy,objdump):2.23.2.20140228
141
142デバッグ環境として,オンボードのCMSIS-DAPから,OpenOCDを経由して,GDBを
143用いる環境で動作確認を行っている.動作確認を行ったデバッグ環境のバージョ
144ンは次の通り.
145
146 gdb: 7.6.0.20140228-cvs
147 openocd: 0.10.0-dev-00287-g85cec24
148
149古いバージョンのOpenOCDでは正しく動作しないことが報告されているため,注
150意が必要である.
151
152GUIベースの開発環境/デバッグ環境として,Atollic TrueStudioを用いること
153ができる.
154
1551.5 メモリマップ
156
157ROM実行の場合は,以下のメモリマップを想定している.
158
159 0x18000000 - 0x1fffffff:シリアルフラッシュメモリ(128MB)
160 0x20000000 - 0x209fffff:内蔵SRAM(10MB)
161 0x3fe00000 - 0x3fffffff:I/O領域(2MB),予約領域を含む
162 0xe8000000 - 0xffffffff:I/O領域(384MB),予約領域を含む
163
164内蔵SRAM領域の先頭の16KBは,ブートローダを置くために使用する.
165
166RAM実行の場合は,以下のメモリマップを想定している.
167
168 0x20000000 - 0x200fffff:内蔵SRAM(1MB)… ROM領域として使用
169 0x20100000 - 0x209fffff:内蔵SRAM(9MB)
170 0x3fe00000 - 0x3fffffff:I/O領域(2MB),予約領域を含む
171 0xe8000000 - 0xffffffff:I/O領域(384MB),予約領域を含む
172
173プログラムおよび定数データ領域は,内蔵SRAM領域の先頭の1MBに置く想定とし
174て,(定数でない)データ領域は,その後に配置する.
175
176メモリマップを変更する場合には,target_kernel_impl.cとgr_peach_rom.ld
177(または,pr_peach_ram.kd)を修正する必要がある.
178
179
1802.ターゲット定義事項の規定
181
182GR-PEACHターゲット依存部は,ARMコア依存部とRZ/A1チップ依存部を用いて実
183装されている.ARMコア依存部およびRZ/A1チップ依存部におけるターゲット定
184義事項の規定については,「ARM依存部 ユーザーズマニュアル」を参照するこ
185と.それらの規定以外に,GR-PEACHターゲット定義の事項はない.
186
187
1883.ドライバ関連の情報
189
1903.1 タイマドライバ
191
192高分解能タイマは,RZ/A1Hが持つ2チャンネルのOSタイマの内の1つを用いて実
193現している.また,もう1つのOSタイマを用いて,オーバランタイマを実現して
194いる.
195
1963.2 シリアルインタフェースドライバ
197
198シリアルインタフェースドライバは,RZ/A1Hが持つ8ポートのFIFO内蔵シリアル
199コミュニケーションインタフェースをサポートしている.
200
201USB経由でホストと接続できるポートは,SCIFのチャネル2(チャネル番号は0か
202ら始まるので,ポート3に相当)である.一方,sample1.cdlでは,ログタスク
203およびサンプルプログラムが使うポートがポート1となっているため,ポート1
204とポート3を入れ換えている.すなわち,シリアルインタフェースドライバのポー
205ト1がSCIFのチャネル2,ポート2がチャネル1,ポート3がチャネル0,ポート4が
206チャネル3,…に対応している.
207
208 ボーレート:115200bps
209 データ:8ビット
210 パリティ:なし
211 ストップビット:1ビット
212 フロー制御:なし
213
214この対応を変更するには,tSIOPortGRPeach.cdlを修正する必要がある.
215
2163.3 システムログの低レベル出力
217
218システムログの低レベル出力は,シリアルインタフェースドライバのポート1と
219同じチャネル(すなわち,SCIFのチャネル2)に対して,ポーリングにより文字
220を出力する方法で実現している.
221
222用いるポートを変更する場合には,target.cdlを修正する必要がある.
223
224
2254.システム構築手順と実行手順
226
227GR-PEACH用のASP3カーネルおよびサンプルプログラムを構築する手順は,基本
228的には,「TOPPERS/ASP3カーネル ユーザーズマニュアル」の「3.クイックス
229タートガイド」の章に記述されている通りであるが,ROM実行かRAM実行かによっ
230て,構築手順と実行手順に違いがある.
231
2324.1 ROM実行の場合の構築手順と実行手順
233
234カーネルの構築前に,GR-PEACHターゲット依存部のMakefile.targetを編集し,
235以下の行を有効にする(コメントアウトする).
236
237 EXECUTE_ON = ROM
238
239ROM実行する場合には,バイナリ形式が必要であるため,サンプルプログラムの
240構築後に,以下のコマンドを実行する.
241
242 % make asp.bin
243
244GR-PEACHのUSBポートとPCを接続すると,GR-PEACHがドライブとして認識される
245ため,そのドライブにasp.binを書き込むことで,GR-PEACHのフラッシュメモリ
246にプログラムが書き込まれる.
247
248書き込み後,リセットボタンを押すことにより,プログラムの実行が開始され
249る.
250
2514.2 RAM実行の場合の構築手順と実行手順
252
253カーネルの構築前に,GR-PEACHターゲット依存部のMakefile.targetを編集し,
254以下の行を有効にする(コメントアウトする).
255
256 EXECUTE_ON = RAM
257
258以下,ASP3カーネルを置いたディレクトリを<SRCDIR>,OpenOCDをインストール
259したディレクトリを<OPENOCD_DIR>と書く.openocdの実行プログラムは,実行
260パスに指定されたディレクトリにコピーまたはシンボリックリンクしておく.
261
262 % cd /usr/local/bin
263 % ln -s <OPENOCD_DIR>/bin/openocd .
264
265まず,GR-PEACHターゲット依存部のディレクトリにあるrenesas_rza1h_swd.cfg
266を,<OPENOCD_DIR>/scripts/targetsにコピーしておく.
267
268次に,GR-PEACHのUSBポートとPCを接続し,以下のコマンドでopenocdを起動する.
269
270 % setenv OPENOCD_SCRIPTS <OPENOCD_DIR>/scripts
271 % openocd -f interface/cmsis-dap.cfg -f target/renesas_rza1h_swd.cfg
272
273以下のコマンドでgdbを起動し,aspをロードした後,continueコマンドでプロ
274グラムの実行が開始される.
275
276 % arm-none-eabi-gdb asp -x <SRCDIR>/target/gr_peach_gcc/gdb_ram.ini
277 (gdb) continue
278
279<SRCDIR>/target/gr_peach_gcc/gdb_ram.iniを,カレントディレクトリの
280.gdbinitにコピーしておくことで,gdbの起動毎にスクリプトを指定する必要が
281なくなる.
282
2834.3 ドライバのインストール
284
285GR-PEACHのUSBポートとPCを接続しても,GR-PEACHがシリアルポートとして認識
286されない場合には,USBシリアルドライバをインストールする必要がある.
287
288Windows向けのドライバは,以下のURLにある.
289
290 https://developer.mbed.org/handbook/Windows-serial-configuration
291
292MacOS X用のUSBシリアルドライバは,例えば,以下のURLにあるものを使用する
293ことができる.
294
295 http://www.ftdichip.com/Drivers/VCP.htm
296
297
2985.リファレンス
299
3005.1 ディレクトリ構成・ファイル構成
301
302 target/gr_peach_gcc/
303 E_PACKAGE 簡易パッケージのファイルリスト
304 MANIFEST 個別パッケージのファイルリスト
305 Makefile.target Makefileのターゲット依存部
306 gdb_ram.ini GDBの起動スクリプト(RAM実行用)
307 gdb_rom.ini GDBの起動スクリプト(ROM実行用)
308 gr_peach.h ターゲットのハードウェア資源の定義
309 gr_peach_ram.ld 標準のリンカスクリプト(RAM実行用)
310 gr_peach_rom.ld 標準のリンカスクリプト(ROM実行用)
311 renesas_rza1h_swd.cfg OpenOCDの起動スクリプト
312 sf_boot.c ブートローダ(ROM実行用)
313 tPutLogGRPeach.c システムログの低レベル出力
314 tPutLogGRPeach.cdl システムログの低レベル出力のコンポーネント記述
315 tSIOPortGRPeach.cdl シリアルインタフェースドライバのターゲット
316 依存部(GR-PEACH用)のコンポーネント記述
317 tSIOPortGRPeachMain_inline.h シリアルインタフェースドライバの
318 ターゲット依存部(GR-PEACH用)
319 target.cdl コンポーネント記述ファイルのターゲット依存部
320 target_cfg1_out.h cfg1_out.cのリンクに必要なスタブの定義
321 target_kernel.cfg カーネル実装のコンフィギュレーションファイル
322 target_kernel.h kernel.hのターゲット依存部
323 target_kernel.trb kernel.trbのターゲット依存部
324 target_check.trb kernel_check.trbのターゲット依存部
325 target_kernel_impl.c カーネル実装のターゲット依存部
326 target_kernel_impl.h カーネル実装のターゲット依存部に関する定義
327 target_rename.def ターゲット依存部の内部識別名のリネーム定義
328 target_rename.h ターゲット依存部の内部識別名のリネーム
329 target_sil.h sil.hのターゲット依存部
330 target_stddef.h t_stddef.hのターゲット依存部
331 target_support.S カーネル実装のターゲット依存部(アセンブ
332 リ言語で記述した部分)
333 target_syssvc.h システムサービスのターゲット依存定義
334 target_test.h テストプログラムのターゲット依存定義
335 target_timer.cfg タイマドライバのコンフィギュレーションファイル
336 target_timer.h タイマドライバを使用するための定義
337 target_unrename.h ターゲット依存部の内部識別名のリネーム解除
338 target_user.txt ターゲット依存部のユーザーズマニュアル
339
3405.2 バージョン履歴
341
342 2016年5月15日 Release 3.1.0 最初の一般公開
343 2017年7月21日 Release 3.2.0
344
345以上
Note: See TracBrowser for help on using the repository browser.