source: EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/target_user.txt@ 439

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

mrubyを2.1.1に更新

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/plain;charset=UTF-8
File size: 16.2 KB
Line 
1
2 TOPPERS/ASP3カーネル
3 GR-PEACH依存部 ユーザーズマニュアル
4
5 対応バージョン: Release 3.5.0
6 最終更新: 2019年10月6日
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-2019 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
1201.3 依存している個別パッケージのバージョン番号
121
122GR-PEACHターゲット依存部(バージョン 3.4.0)の個別パッケージが依存して
123いる個別パッケージと,動作確認を行ったバージョンは次の通り.
124
125 個別パッケージの名称 バージョン 個別パッケージファイル名
126 ------------------------------------------------------------------
127 ターゲット非依存部 3.4.0 asp3-3.4.0.tar.gz
128
1291.4 開発環境/デバッグ環境と動作確認条件
130
131開発環境として,以下のURLからプリビルド版をダウンロードすることができ
132るGNU ARM Embedded Toolchainを用いている(Cortex-MとCortex-R向けの開発
133環境であるが,Cortex-A向けにも使用できる).
134
135 https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
136
137動作確認を行ったバージョンは次の通り.
138
139 gcc: 7.3.1 20180622
140 binutils(objcopy,objdump):2.30.0.20180329
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新しいgdb(8.1.0.20180315-git)を使用したところ,OpenOCDとうまく接続で
150きなかったため,やや古いgdbを使用している.また,異なるバージョンの
151OpenOCDでは正しく動作しないことが報告されているため,注意が必要である.
152
153GUIベースの開発環境/デバッグ環境として,Atollic TrueSTUDIOを用いるこ
154とができる.
155
1561.5 メモリマップ
157
158ROM実行の場合は,以下のメモリマップを想定している.
159
160 0x18000000 - 0x1fffffff:シリアルフラッシュメモリ(128MB)
161 0x20000000 - 0x209fffff:内蔵SRAM(10MB)
162 0x3fe00000 - 0x3fffffff:I/O領域(2MB),予約領域を含む
163 0xe8000000 - 0xffffffff:I/O領域(384MB),予約領域を含む
164
165シリアルフラッシュメモリの先頭の16KBは,ブートローダを置くために使用す
166る.
167
168RAM実行の場合は,以下のメモリマップを想定している.
169
170 0x20000000 - 0x200fffff:ROMとみなす内蔵SRAM領域(1MB)
171 0x20100000 - 0x209fffff:RAMとみなす内蔵SRAM領域(9MB)
172 0x3fe00000 - 0x3fffffff:I/O領域(2MB),予約領域を含む
173 0xe8000000 - 0xffffffff:I/O領域(384MB),予約領域を含む
174
175プログラムおよび定数データ領域は,内蔵SRAM領域の先頭の1MBに置く想定とし
176て,(定数でない)データ領域は,その後に配置する.
177
178メモリマップを変更する場合には,target_kernel_impl.cとgr_peach_rom.ld
179(または,pr_peach_ram.ld)を修正する必要がある.
180
181
1822.ターゲット定義事項の規定
183
184GR-PEACHターゲット依存部は,ARMコア依存部とRZ/A1チップ依存部を用いて実
185装されている.ARMコア依存部およびRZ/A1チップ依存部におけるターゲット定
186義事項の規定については,「ARM依存部 ユーザーズマニュアル」を参照するこ
187と.
188
189
1903.ドライバ関連の情報
191
1923.1 タイマドライバ
193
194高分解能タイマは,RZ/A1Hが持つ2チャンネルのOSタイマの内の1つを用いて実
195現している.また,もう1つのOSタイマを用いて,オーバランタイマを実現して
196いる.
197
1983.2 シリアルインタフェースドライバ
199
200シリアルインタフェースドライバは,RZ/A1Hが持つ8ポートのFIFO内蔵シリアル
201コミュニケーションインタフェースをサポートしている.
202
203GR-PEACHでUSB経由でホストと接続できるポートは,SCIFのチャネル2(チャネ
204ル番号は0から始まるので,ポート3に相当)である.一方,サンプルプログラ
205ム(sample1.cdl)では,ログタスクおよびサンプルプログラムが使うポート
206がポート1となっているため,ポート1とポート3を入れ換えている.すなわち,
207シリアルインタフェースドライバのポート1がSCIFのチャネル2,ポート2がチャ
208ネル1,ポート3がチャネル0,ポート4がチャネル3,…に対応している.この
209対応を変更するには,tSIOPortGRPeach.cdlを修正する必要がある.
210
211各ポートは,以下の通りに設定している.
212
213 ボーレート:115200bps
214 データ:8ビット
215 パリティ:なし
216 ストップビット:1ビット
217
218この設定は,RZ/A1チップ依存部で行っているが,tSIOPortGRPeach.cdlを修正
219することで変更することができる.
220
2213.3 システムログの低レベル出力
222
223システムログの低レベル出力は,シリアルインタフェースドライバのポート1と
224同じチャネル(すなわち,SCIFのチャネル2)に対して,ポーリングにより文字
225を出力する方法で実現している.
226
227用いるポートを変更する場合には,target.cdlを修正する必要がある.
228
229
2304.システム構築手順と実行手順
231
232GR-PEACH用のASP3カーネルおよびサンプルプログラムを構築する手順は,基本
233的には,「TOPPERS/ASP3カーネル ユーザーズマニュアル」の「3.クイックス
234タートガイド」の章に記述されている通りであるが,ROM実行かRAM実行かによっ
235て,構築手順と実行手順に違いがある.
236
2374.1 ROM実行の場合の構築手順と実行手順
238
239カーネルの構築前に,GR-PEACHターゲット依存部のMakefile.targetを編集し,
240以下の行を有効にする(コメントアウトする).
241
242 EXECUTE_ON = ROM
243
244ROM実行する場合には,バイナリ形式が必要であるため,サンプルプログラムの
245構築後に,以下のコマンドを実行する.
246
247 % make asp.bin
248
249GR-PEACHのUSBポートとPCを接続すると,GR-PEACHがドライブとして認識される
250ため,そのドライブにasp.binを書き込むことで,GR-PEACHのフラッシュメモリ
251にプログラムが書き込まれる.
252
253書き込み後,リセットボタンを押すことにより,プログラムの実行が開始され
254る.
255
2564.2 RAM実行の場合の構築手順と実行手順
257
258カーネルの構築前に,GR-PEACHターゲット依存部のMakefile.targetを編集し,
259以下の行を有効にする(コメントアウトする).
260
261 EXECUTE_ON = RAM
262
263以下,ASP3カーネルを置いたディレクトリを<SRCDIR>,OpenOCDをインストール
264したディレクトリを<OPENOCD_DIR>と書く.openocdの実行プログラムは,実行
265パスに指定されたディレクトリにコピーまたはシンボリックリンクしておく.
266
267 % cd /usr/local/bin
268 % ln -s <OPENOCD_DIR>/bin/openocd .
269
270まず,GR-PEACHターゲット依存部のディレクトリにあるrenesas_rza1h_swd.cfg
271を,<OPENOCD_DIR>/scripts/targetsにコピーしておく.
272
273次に,GR-PEACHのUSBポートとPCを接続し,以下のコマンドでopenocdを起動する.
274
275 % setenv OPENOCD_SCRIPTS <OPENOCD_DIR>/scripts
276 % openocd -f interface/cmsis-dap.cfg -f target/renesas_rza1h_swd.cfg
277
278以下のコマンドでgdbを起動し,aspをロードした後,continueコマンドでプロ
279グラムの実行が開始される.
280
281 % arm-none-eabi-gdb asp -x <SRCDIR>/target/gr_peach_gcc/gdb_ram.ini
282 (gdb) continue
283
284<SRCDIR>/target/gr_peach_gcc/gdb_ram.iniを,カレントディレクトリの
285.gdbinitにコピーしておくことで,gdbの起動毎にスクリプトを指定する必要が
286なくなる.
287
2884.3 ドライバのインストール
289
290GR-PEACHのUSBポートとPCを接続しても,GR-PEACHがシリアルポートとして認識
291されない場合には,USBシリアルドライバをインストールする必要がある.
292
293Windows向けのドライバは,以下のURLにある.
294
295 https://developer.mbed.org/handbook/Windows-serial-configuration
296
297MacOS X用のUSBシリアルドライバは,例えば,以下のURLにあるものを使用する
298ことができる.
299
300 http://www.ftdichip.com/Drivers/VCP.htm
301
302
3035.リファレンス
304
3055.1 ディレクトリ構成・ファイル構成
306
307 target/gr_peach_gcc/
308 E_PACKAGE 簡易パッケージのファイルリスト
309 MANIFEST 個別パッケージのファイルリスト
310 Makefile.target Makefileのターゲット依存部
311 gdb_ram.ini GDBの起動スクリプト(RAM実行用)
312 gdb_rom.ini GDBの起動スクリプト(ROM実行用)
313 gr_peach.h ターゲットのハードウェア資源の定義
314 gr_peach_ram.ld 標準のリンカスクリプト(RAM実行用)
315 gr_peach_rom.ld 標準のリンカスクリプト(ROM実行用)
316 renesas_rza1h_swd.cfg OpenOCDの起動スクリプト
317 sf_boot.c ブートローダ(ROM実行用)
318 tSIOPortGRPeach.cdl シリアルインタフェースドライバのターゲット
319 依存部(GR-PEACH用)のコンポーネント記述
320 target.cdl コンポーネント記述ファイルのターゲット依存部
321 target_cfg1_out.h cfg1_out.cのリンクに必要なスタブの定義
322 target_kernel.cfg カーネル実装のコンフィギュレーションファイル
323 target_kernel.h kernel.hのターゲット依存部
324 target_kernel.trb kernel.trbのターゲット依存部
325 target_check.trb kernel_check.trbのターゲット依存部
326 target_kernel_impl.c カーネル実装のターゲット依存部
327 target_kernel_impl.h カーネル実装のターゲット依存部に関する定義
328 target_rename.def ターゲット依存部の内部識別名のリネーム定義
329 target_rename.h ターゲット依存部の内部識別名のリネーム
330 target_sil.h sil.hのターゲット依存部
331 target_stddef.h t_stddef.hのターゲット依存部
332 target_support.S カーネル実装のターゲット依存部(アセンブ
333 リ言語で記述した部分)
334 target_syssvc.h システムサービスのターゲット依存定義
335 target_test.h テストプログラムのターゲット依存定義
336 target_timer.cfg タイマドライバのコンフィギュレーションファイル
337 target_timer.h タイマドライバを使用するための定義
338 target_unrename.h ターゲット依存部の内部識別名のリネーム解除
339 target_user.txt ターゲット依存部のユーザーズマニュアル
340
3415.2 バージョン履歴
342
343 2016年5月15日 Release 3.1.0 最初の一般公開
344 2017年7月21日 Release 3.2.0
345 2018年4月19日 Release 3.3.0
346 2019年3月20日 Release 3.4.0
347 2019年10月6日 Release 3.5.0
348
349以上
Note: See TracBrowser for help on using the repository browser.