source: ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_user.txt@ 95

Last change on this file since 95 was 95, checked in by nmir-saito, 9 years ago

ファイルの mime-type 変更

  • Property svn:mime-type set to text/plain; charset=shift_jis
File size: 9.2 KB
Line 
1=====================================================================
2 QB-R5F100LE-TB ターゲット依存部
3 Last Modified: '15/6/2
4=====================================================================
5
6○概要
7
8QB-R5F100LE-TBターゲット依存部は,プロセッサに RL78/G13 を搭載した,
9(株)ルネサスエレクトロニクス製の QB-R5F100LE-TB ボードをサポートしている.
10http://japan.renesas.com/products/tools/introductory_tools/cpu_board/qb_r5f100le_tb/index.jsp
11
12○カーネルの使用リソース
13
14カーネルは以下のリソースを使用する.
15
16・ROM
17 コード,定数,初期値,割込みベクタを配置する.
18 使用量は使用するAPIの数に依存する.
19
20・RAM
21 データ,スタックを配置する.
22 使用量はオブジェクト数に依存する.
23
24・タイマ
25 カーネル内部のティックの生成にタイマ・アレイ・ユニットの
26 ユニット0 チャネル0 を使用する.
27 タイムティックの周期及びシステム時刻の精度は共に 1ms とする.
28
29・シリアル
30 シリアルドライバに UART0(シリアル・アレイユニットのユニット0
31 チャネル{0,1}) を使用する.
32 プロセッサの UART0 送受信ポートはボード CN2 の 12ピン(送信)
33 および13ピン(受信)と結線されている.このピンをUARTドライバICや
34 USBシリアル変換モジュール等を利用してPCと接続することで出力を
35 確認することができる.
36
37○他のターゲットへの移植
38
39ターゲット依存部で使用するタイマおよびシリアルは,RL78/G13 の
40内蔵機能のみを使用するため,RL78 の同様のプロセッサを用いた環境には
41容易にポーティングが可能である.ポーティングに関しては,以下の初期化ルーチンに
42ターゲット毎の初期化を追加すればよい.
43
44 ・target_initialize() : target_config.c
45 ターゲット依存部の初期化(C言語)
46 ・_hardware_init_hook : target_support.asm
47 低レベルのターゲット依存の初期化
48 スタートアップモジュールの中で,メモリの初期化の前に呼び出される
49 既定ではスタートアップモジュールから利用されておらず,
50 コメントアウトされている.
51
52
53○デバッグ環境
54
55デバッグ環境として,E1 デバッガの使用を想定している.
56
57
58○コンパイラ
59
60以下の開発環境を用いて動作確認を行った.
61
62処理系
63 ルネサステクノロジ製 コンパイラ CA78K0R V1.70
64
65統合開発環境
66 ルネサステクノロジ製 統合開発環境 Cube Suite+ V2.02.00
67
68
69○コンソール出力
70
71コンソール出力には,UART0を用いる.通信フォーマットは以下の通り.
72
73 ・19200bps, Data 8bit, Parity none, Stop 1bit, Flow control none
74
75
76○アドレスマッピング (※1)
77
78 0x00000 - 0x0007F ベクタテーブル 128バイト
79 0x00080 - 0x000Bf callt関数のテーブル用セグメント 64バイト
80 0x000C0 - 0x000C3 オプションバイト領域 4バイト
81 0x000C4 - 0x000CD セキュリティID 10バイト
82 0x000CE - 0x000D7 オンチップデバッグ機能の使用領域 10バイト
83 0x000D8 - 0x0ffff 内蔵FlashROM 約63.8KB
84 @@CODE ; コード部用セグメント(near)
85 @@BASE ; callt関数・割り込み関数用セグメント
86 @@LCODE ; ライブラリ・コード部用セグメント(near)
87 @@LBASE ; ライブラリ・callt関数用セグメント
88 @@CNST ; 定数データ(near)
89 @@R_INIT ; near初期化データ用セグメント(初期値あり)
90 @@R_INIS ; 初期化データ用セグメント(初期値ありsreg変数)
91 @@CODEL ; コード部用セグメント(far)
92 @@LCODEL ; ライブラリ・コード部用セグメント(far)
93 @@CNSTL ; ROMデータ(far)
94 @@RLINIT ; far初期化データ用セグメント(初期値あり)
95
96 0xF0000 - 0xF07FF 2nd SFR領域 2KB
97
98 0xF1000 - 0xF1FFF データフラッシュメモリ
99 0xF2000 - 0xFEEFF ミラー領域(0x2000-0xEEFFと同じ値)
100 0xFEF00 - 0xFFEDF 内蔵RAM 3.9KB (※2)
101 @@BITS ; boolean型変数, bit型変数用セグメント, BSEG領域
102 @@INIT ; データ領域用セグメント(初期値あり, near配置)
103 @@DATA ; データ領域用セグメント(初期値なし, near配置)
104 @@INIS ; データ領域用セグメント(初期値あり sreg 変数)
105 @@DATS ; データ領域用セグメント(初期値なし sreg 変数)
106 @@INITL ; データ領域用セグメント(初期値あり, far配置)
107 @@DATAL ; データ領域用セグメント(初期値なし, far配置)
108 @@CODER ; RAM配置 コード部用セグメント
109 @@LCODER ; RAM配置 ライブラリ・コード用セグメント
110 @@CNSTR ; RAM配置 ROMデータ用セグメント(near)
111 @@CNSTLR ; RAM配置 ROMデータ用セグメント(far)
112 0xFFEE0 - 0xFFEFF 汎用レジスタ 32バイト (※2)
113 0xFFF00 - 0xFFFFF SFR領域 (※2)
114
115(※1) @@で始まるセグメントはコンパイルにより生成される.
116 「CubeSuite+ V2.01.00 統合開発環境ユーザーズマニュアル RL78,78K0Rコーディング編」の
117 「3. 5 セグメント名一覧」を元にした.
118 http://documentation.renesas.com/doc/products/tool/doc/r20ut2774jj0100_qscd78.pdf
119
120(※2) ショート・ダイレクト・アドレッシング領域(0xFFE20-0xFFF1F) と一部重複する
121
122○各種設定の変更
123
124幾つかのパラメータは変更可能になっている.設定ファイル毎に設定可能項目
125は次のようになっている.
126
127●target.tfの設定項目
128
129INTNO_FIX_KERNEL
130 固定的にカーネル管理の割込みとする割込み番号
131INTNO_FIX_NONKERNEL
132 固定的にカーネル管理外の割込みとする割込み番号
133INHNO_FIX_KERNEL
134 固定的にカーネル管理の割込みとする割込みハンドラ番号
135INHNO_FIX_NONKERNEL
136 固定的にカーネル管理外の割込みとする割込みハンドラ番号
137
138
139●target_config.h の設定項目
140
141・DEFAULT_ISTKSZ
142 非タスクコンテキスト用スタックサイズの規定値
143 (ただし,SSPでは共有スタック領域の既定サイズを意味する)
144
145●target_syssvc.h の設定項目
146
147・BPS_SETTING
148 コンソールに使用するシリアルポートのボーレート(規定では 19200)
149 ※ 現状ではこのマクロは使用していない.
150
151●CPUロックで用いる割込み優先度TMIN_INTPRIの定義
152
153・C言語用の定義:
154 プロセッサに既定の定義位置:prc_kernel.h
155 ターゲット依存で定義する場合の定義位置:target_config.h(現状では未定義)
156
157
158○サンプルプロジェクトの実行手順
159 開発環境がインストールされていることを前提とする.
160 以下の説明ではパスの区切り文字としてスラッシュ '/' を使用する.
161
1620. ZIP圧縮されているファイルを適当な場所へ展開する.
163 展開先のパスには日本語文字や空白などを含まない方がよい.
164
1651. ワークスペースファイルを開く
166 <展開先フォルダ>/ssp/target/qb_r5c100le_cs/ssp_rl78/ssp_rl78.mtpj をダブルクリックする.
167 CubeSuite+ がインストールされていれば,統合開発環境が起動する.
168
1692. sample1 プロジェクトをアクティブプロジェクトにする
170 既定の設定ではすでにアクティブになっている.
171
1723. メニュー「ビルド→リビルドプロジェクト」を選択して,sample1プロジェクトをビルドする
173 依存関係の設定により先に libkernel, sys-cfg プロジェクトのビルドが行われ,
174 その後,sample1 プロジェクトのビルドが実施される.
175 そして,アプリケーション(sample1),システムライブラリ,システムサービス,
176 及びカーネルがリンクされ,実行ファイルが生成される.
177
1784. プログラムの実行を確認する.
179
180 サンプルはシリアルポートの機能を前提としている.プロセッサの
181 UART0 ポートがボードの CN2 12番ピン(TxD0),13番ピン(RxD0)に結線されており,
182 このピンおよび GNDのピンをUARTドライバICあるいはUSB-シリアル変換モジュール等を
183 利用してPCに接続すると,シリアルからの出力を確認することができる.
184
185 次節では,E1 を利用したフラッシュへのプログラム書き込み,及び,実行の
186 手順について記述する.
187
1885. フラッシュROM へのプログラム書き込み
189
190(1) E1をPCおよびターゲットボードに接続する.
191(2) メニュー「デバッグ→デバッグツールへダウンロード」を選択する.
192 失敗する場合,以下を確認する.
193 ・E1のドライバがインストールされているかどうか.
194 ・E1とボードの接続が正しいかどうか.ずれていないか,向きは正しいか.
195 ・ターゲットボードに電源が供給されているかどうか.
196 既定の設定では供給しない設定となっている.
197 E1から電源供給する場合は次の手順で設定変更する.
198 (2-1)「プロジェクト・ツリー」ウィンドウの「ssp_rl78(プロジェクト)
199 --> sample1(サブプロジェクト) --> RL78_E1(Serial)」項目を
200 右クリックし,コンテキストメニューを表示する.
201 (2-2) コンテキストメニューから「プロパティ」を選択する.
202 (2-3) 「プロパティ」ウィンドウから「接続用設定」タブを選択する.
203 (2-4) 「ターゲットボードとの接続」の項目内にある,
204 「エミュレータから電源供給する(最大200mA)」を「はい」にする.
205(3) ダウンロードが完了すると,ターゲットは sta_ker の先頭で実行停止する.
206(4) メニュー「デバッグ→実行」を選択すると,プログラムの実行を開始する.
207
208○注意事項
209・リンク順序について
210 スタートアップモジュール(start.asm)にてRAMの初期化処理を行うためには
211 セクションの先頭アドレスおよび最終アドレスを知る必要がある.
212 それらのアドレスを取得するため segment_s.asm および segment_e.asm を
213 それぞれ実行モジュールの先頭と末尾にリンクする必要がある.
214
215 segment_s.asm は sample1サブプロジェクトのリンク順序設定で最初にリンク
216 されるよう設定されている.一方で segment_e.asm は libkernel.lib の末尾に
217 リンクされるよう設定されている.
218
219 これは,sample1サブプロジェクトで libkernel.lib のリンク順序を
220 変更することができないため,一時的措置としてこのようにしている.
221
222 今後において,別ライブラリを追加的にリンクする場合,
223 libkernel.lib が末尾にリンクされるようリンク順序の設定を行う必要がある.
224 末尾に配置されない場合は,変数セクションの末尾アドレスを正しく取得できず,
225 RAMの初期化が正しく行われない.
226
227
228○変更履歴
2292014/08/21 ・新規作成
2302015/6/2 ・SSP-1.3.0対応
231
Note: See TracBrowser for help on using the repository browser.