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

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

prototoolに関連するプロジェクトをnewlibからmuslを使うよう変更・更新
ntshellをnewlibの下位の実装から、muslのsyscallの実装に変更・更新
以下のOSSをアップデート
・mruby-1.3.0
・musl-1.1.18
・onigmo-6.1.3
・tcc-0.9.27
以下のOSSを追加
・openssl-1.1.0e
・curl-7.57.0
・zlib-1.2.11
以下のmrbgemsを追加
・iij/mruby-digest
・iij/mruby-env
・iij/mruby-errno
・iij/mruby-iijson
・iij/mruby-ipaddr
・iij/mruby-mock
・iij/mruby-require
・iij/mruby-tls-openssl

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/plain;charset=UTF-8
File size: 15.3 KB
Line 
1
2 TOPPERS/ASP3カーネル
3 GR-PEACH依存部 ユーザーズマニュアル
4
5 対応バージョン: Release 3.1
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: target_user.txt 1145 2017-02-06 04:26:43Z coas-nagasima $
49----------------------------------------------------------------------
50
51○ライセンスに関する注意事項
52
53GR-PEACHターゲット依存部には,ROM実行のためのブートローダ(sf_boot.c)
54を含んでいるが,このソフトウェアはルネサスエレクトロニクスが開発したも
55のであり,ライセンス条件もルネサスエレクトロニクス独自のものである.
56TOPPERSライセンスでないため注意すること.
57
58○目次
59
60
611.GR-PEACHターゲット依存部の概要
62
63GR-PEACHターゲット依存部(GNU開発環境向け)は,TOPPERS/ASP3カーネルを,
64ルネサス RZ/A1Hを搭載したGR-PEACHボード上で動作させる環境を構築するため
65のものである.
66
671.1 対応するターゲットシステムとターゲット略称
68
69GR-PEACHターゲット依存部(GNU開発環境向け)の動作確認は,実機を用いて行っ
70ている.GR-PEACHに関する情報は,以下のウェブサイトにある.
71
72 http://gadget.renesas.com/ja/product/peach.html
73
74プログラムをフラッシュメモリに書き込んで実行する方法(ROM実行)と,デバッ
75ガによりRAMにダウンロードして実行する方法(RAM実行)をサポートしている.
76
77ターゲット略称等は次の通り.
78
79 ターゲット略称:gr_peach_gcc
80 システム略称:gr_peach
81 開発環境略称:gcc
82
831.2 ターゲット依存部の構成
84
85GR-PEACHターゲット依存部(GNU開発環境向け)は,チップ依存部としてRZ/A1
86チップ依存部(GNU開発環境向け)を,コア依存部としてARMコア依存部(GNU開
87発環境向け)を使用している.
88
89ターゲット依存部(targetディレクトリ)およびターゲット依存部の共通部
90(archディレクトリ)のディレクトリは次の通り.
91
92 target/
93 gr_peach_gcc/ GR-PEACHターゲット依存部
94
95 arch/
96 arm_gcc/common/ ARMコア依存部
97 arm_gcc/rza1/ RZ/A1チップ依存部
98 arm_gcc/doc/ ARM依存部に関するドキュメント
99 gcc/ GCC開発環境依存部
100 tracelog/ トレースログ記録のサンプルコード
101
1021.3 依存している個別パッケージのバージョン番号
103
104GR-PEACHターゲット依存部(バージョン 3.1.0)の個別パッケージが依存して
105いる個別パッケージと,動作確認を行ったバージョンは次の通り.
106
107 個別パッケージの名称 バージョン 個別パッケージファイル名
108 ------------------------------------------------------------------
109 ターゲット非依存部 3.1.0 asp3-3.1.0.tar.gz
110
1111.4 開発環境/デバッグ環境と動作確認条件
112
113開発環境として,以下のURLからプリビルド版をダウンロードすることができる
114GCC ARM Embeddedを用いている.
115
116 https://launchpad.net/gcc-arm-embedded/
117
118動作確認を行ったバージョンは次の通り.
119
120 gcc: version 4.8.3 20140228
121 binutils(objcopy,objdump):2.23.2.20140228
122
123デバッグ環境として,オンボードのCMSIS-DAPから,OpenOCDを経由して,GDBを
124用いる環境で動作確認を行っている.動作確認を行ったデバッグ環境のバージョ
125ンは次の通り.
126
127 gdb: 7.6.0.20140228-cvs
128 openocd: 0.10.0-dev-00287-g85cec24
129
130古いバージョンのOpenOCDでは正しく動作しないことが報告されているため,注
131意が必要である.
132
133GUIベースの開発環境/デバッグ環境として,Atollic TrueStudioを用いること
134ができる.
135
1361.5 メモリマップ
137
138ROM実行の場合は,以下のメモリマップを想定している.
139
140 0x18000000 - 0x1fffffff:シリアルフラッシュメモリ(128MB)
141 0x20000000 - 0x209fffff:内蔵SRAM(10MB)
142 0x3fe00000 - 0x3fffffff:I/O領域(2MB),予約領域を含む
143 0xe8000000 - 0xffffffff:I/O領域(384MB),予約領域を含む
144
145内蔵SRAM領域の先頭の16KBは,ブートローダを置くために使用する.
146
147RAM実行の場合は,以下のメモリマップを想定している.
148
149 0x20000000 - 0x200fffff:内蔵SRAM(1MB)… ROM領域として使用
150 0x20100000 - 0x209fffff:内蔵SRAM(9MB)
151 0x3fe00000 - 0x3fffffff:I/O領域(2MB),予約領域を含む
152 0xe8000000 - 0xffffffff:I/O領域(384MB),予約領域を含む
153
154プログラムおよび定数データ領域は,内蔵SRAM領域の先頭の1MBに置く想定とし
155て,(定数でない)データ領域は,その後に配置する.
156
157メモリマップを変更する場合には,target_kernel_impl.cとgr_peach_rom.ld
158(または,pr_peach_ram.kd)を修正する必要がある.
159
160
1612.ターゲット定義事項の規定
162
163GR-PEACHターゲット依存部は,ARMコア依存部とRZ/A1チップ依存部を用いて実
164装されている.ARMコア依存部およびRZ/A1チップ依存部におけるターゲット定
165義事項の規定については,「ARM依存部 ユーザーズマニュアル」を参照するこ
166と.それらの規定以外に,GR-PEACHターゲット定義の事項はない.
167
168
1693.ドライバ関連の情報
170
1713.1 タイマドライバ
172
173高分解能タイマは,RZ/A1Hが持つ2チャンネルのOSタイマの内の1つを用いて実
174現している.また,もう1つのOSタイマを用いて,オーバランタイマを実現して
175いる.
176
1773.2 シリアルインタフェースドライバ
178
179シリアルインタフェースドライバは,RZ/A1Hが持つ8ポートのFIFO内蔵シリアル
180コミュニケーションインタフェースをサポートしている.
181
182USB経由でホストと接続できるポートは,SCIFのチャネル2(チャネル番号は0か
183ら始まるので,ポート3に相当)である.一方,sample1.cdlでは,ログタスク
184およびサンプルプログラムが使うポートがポート1となっているため,ポート1
185とポート3を入れ換えている.すなわち,シリアルインタフェースドライバのポー
186ト1がSCIFのチャネル2,ポート2がチャネル1,ポート3がチャネル0,ポート4が
187チャネル3,…に対応している.
188
189 ボーレート:115200bps
190 データ:8ビット
191 パリティ:なし
192 ストップビット:1ビット
193 フロー制御:なし
194
195この対応を変更するには,tSIOPortGRPeach.cdlを修正する必要がある.
196
1973.3 システムログの低レベル出力
198
199システムログの低レベル出力は,シリアルインタフェースドライバのポート1と
200同じチャネル(すなわち,SCIFのチャネル2)に対して,ポーリングにより文字
201を出力する方法で実現している.
202
203用いるポートを変更する場合には,target.cdlを修正する必要がある.
204
205
2064.システム構築手順と実行手順
207
208GR-PEACH用のASP3カーネルおよびサンプルプログラムを構築する手順は,基本
209的には,「TOPPERS/ASP3カーネル ユーザーズマニュアル」の「3.クイックス
210タートガイド」の章に記述されている通りであるが,ROM実行かRAM実行かによっ
211て,構築手順と実行手順に違いがある.
212
2134.1 ROM実行の場合の構築手順と実行手順
214
215カーネルの構築前に,GR-PEACHターゲット依存部のMakefile.targetを編集し,
216以下の行を有効にする(コメントアウトする).
217
218 EXECUTE_ON = ROM
219
220ROM実行する場合には,バイナリ形式が必要であるため,サンプルプログラムの
221構築後に,以下のコマンドを実行する.
222
223 % make asp.bin
224
225GR-PEACHのUSBポートとPCを接続すると,GR-PEACHがドライブとして認識される
226ため,そのドライブにasp.binを書き込むことで,GR-PEACHのフラッシュメモリ
227にプログラムが書き込まれる.
228
229書き込み後,リセットボタンを押すことにより,プログラムの実行が開始され
230る.
231
2324.2 RAM実行の場合の構築手順と実行手順
233
234カーネルの構築前に,GR-PEACHターゲット依存部のMakefile.targetを編集し,
235以下の行を有効にする(コメントアウトする).
236
237 EXECUTE_ON = RAM
238
239以下,ASP3カーネルを置いたディレクトリを<SRCDIR>,OpenOCDをインストール
240したディレクトリを<OPENOCD_DIR>と書く.openocdの実行プログラムは,実行
241パスに指定されたディレクトリにコピーまたはシンボリックリンクしておく.
242
243 % cd /usr/local/bin
244 % ln -s <OPENOCD_DIR>/bin/openocd .
245
246まず,GR-PEACHターゲット依存部のディレクトリにあるrenesas_rza1h_swd.cfg
247を,<OPENOCD_DIR>/scripts/targetsにコピーしておく.
248
249次に,GR-PEACHのUSBポートとPCを接続し,以下のコマンドでopenocdを起動する.
250
251 % setenv OPENOCD_SCRIPTS <OPENOCD_DIR>/scripts
252 % openocd -f interface/cmsis-dap.cfg -f target/renesas_rza1h_swd.cfg
253
254以下のコマンドでgdbを起動し,aspをロードした後,continueコマンドでプロ
255グラムの実行が開始される.
256
257 % arm-none-eabi-gdb asp -x <SRCDIR>/target/gr_peach_gcc/gdb_ram.ini
258 (gdb) continue
259
260<SRCDIR>/target/gr_peach_gcc/gdb_ram.iniを,カレントディレクトリの
261.gdbinitにコピーしておくことで,gdbの起動毎にスクリプトを指定する必要が
262なくなる.
263
2644.3 ドライバのインストール
265
266GR-PEACHのUSBポートとPCを接続しても,GR-PEACHがシリアルポートとして認識
267されない場合には,USBシリアルドライバをインストールする必要がある.
268
269Windows向けのドライバは,以下のURLにある.
270
271 https://developer.mbed.org/handbook/Windows-serial-configuration
272
273MacOS X用のUSBシリアルドライバは,例えば,以下のURLにあるものを使用する
274ことができる.
275
276 http://www.ftdichip.com/Drivers/VCP.htm
277
278
2795.リファレンス
280
2815.1 ディレクトリ構成・ファイル構成
282
283 target/gr_peach_gcc/
284 E_PACKAGE 簡易パッケージのファイルリスト
285 MANIFEST 個別パッケージのファイルリスト
286 Makefile.target Makefileのターゲット依存部
287 gdb_ram.ini GDBの起動スクリプト(RAM実行用)
288 gdb_rom.ini GDBの起動スクリプト(ROM実行用)
289 gr_peach.h ターゲットのハードウェア資源の定義
290 gr_peach_ram.ld 標準のリンカスクリプト(RAM実行用)
291 gr_peach_rom.ld 標準のリンカスクリプト(ROM実行用)
292 renesas_rza1h_swd.cfg OpenOCDの起動スクリプト
293 sf_boot.c ブートローダ(ROM実行用)
294 tPutLogGRPeach.c システムログの低レベル出力
295 tPutLogGRPeach.cdl システムログの低レベル出力のコンポーネント記述
296 tSIOPortGRPeach.cdl シリアルインタフェースドライバのターゲット
297 依存部(GR-PEACH用)のコンポーネント記述
298 tSIOPortGRPeachMain_inline.h シリアルインタフェースドライバの
299 ターゲット依存部(GR-PEACH用)
300 target.cdl コンポーネント記述ファイルのターゲット依存部
301 target_cfg1_out.h cfg1_out.cのリンクに必要なスタブの定義
302 target_kernel.cfg カーネル実装のコンフィギュレーションファイル
303 target_kernel.h kernel.hのターゲット依存部
304 target_kernel.trb kernel.trbのターゲット依存部
305 target_check.trb kernel_check.trbのターゲット依存部
306 target_kernel_impl.c カーネル実装のターゲット依存部
307 target_kernel_impl.h カーネル実装のターゲット依存部に関する定義
308 target_rename.def ターゲット依存部の内部識別名のリネーム定義
309 target_rename.h ターゲット依存部の内部識別名のリネーム
310 target_sil.h sil.hのターゲット依存部
311 target_stddef.h t_stddef.hのターゲット依存部
312 target_support.S カーネル実装のターゲット依存部(アセンブ
313 リ言語で記述した部分)
314 target_syssvc.h システムサービスのターゲット依存定義
315 target_test.h テストプログラムのターゲット依存定義
316 target_timer.cfg タイマドライバのコンフィギュレーションファイル
317 target_timer.h タイマドライバを使用するための定義
318 target_unrename.h ターゲット依存部の内部識別名のリネーム解除
319 target_user.txt ターゲット依存部のユーザーズマニュアル
320
3215.2 バージョン履歴
322
323 2016年5月15日 Release 3.1.0 最初の一般公開
324
325以上
Note: See TracBrowser for help on using the repository browser.