- Timestamp:
- Jun 2, 2015, 3:39:53 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_user.txt
-
Property svn:mime-type
set to
text/plain; charset=shift_jis
r93 r95 1 1 ===================================================================== 2 QB-R5F100LE-TB ^[Qbg˶2 QB-R5F100LE-TB ターゲット依存部 3 3 Last Modified: '15/6/2 4 4 ===================================================================== 5 5 6 Tv 7 8 QB-R5F100LE-TB ^[Qbg˶ÍCvZbTÉ RL78/G13 ðÚµ½C9 ijlTXGNgjNX»Ì QB-R5F100LE-TB {[hðT|[gµÄ¢éD 6 ○概要 7 8 QB-R5F100LE-TBターゲット依存部は,プロセッサに RL78/G13 を搭載した, 9 (株)ルネサスエレクトロニクス製の QB-R5F100LE-TB ボードをサポートしている. 10 10 http://japan.renesas.com/products/tools/introductory_tools/cpu_board/qb_r5f100le_tb/index.jsp 11 11 12 J[lÌgp\[X 13 14 J[lÍȺÌ\[Xðgp·éD 15 16 EROM 17 R[hCèCúlCÝxN^ðzu·éD 18 gpÊÍgp·éAPIÌÉ˶·éD 19 20 ERAM 21 f[^CX^bNðzu·éD 22 gpÊÍIuWFNgÉ˶·éD 23 24 E^C} 25 J[làÌeBbN̶¬É^C}EACEjbgÌ 26 jbg0 `l0 ðgp·éD 27 ^CeBbNÌüúyÑVXe̸xÍ¤É 1ms Æ·éD 28 29 EVA 30 VAhCoÉ UART0(VAEACjbgÌjbg0 31 `l{0,1}) ðgp·éD 32 vZbTÌ UART0 óM|[gÍ{[h CN2 Ì 12s(M) 33 ¨æÑ13s(óM)Æü³êÄ¢éD±ÌsðUARThCoICâ 34 USBVAÏ·W 35 [ðpµÄPCÆÚ±·é±ÆÅoÍð 36 mF·é±ÆªÅ«éD 37 38 ¼Ì^[QbgÖÌÚA 39 40 ^[Qbg˶Ågp·é^C}¨æÑVAÍCRL78/G13 Ì 41 à @\ÌÝðgp·é½ßCRL78 ̯lÌvZbTðp¢½Â«ÉÍ 42 eÕÉ|[eBOªÂ\Å éD|[eBOÉÖµÄÍCȺÌú»[`É 43 ^[QbgÌú»ðÇÁ·êÎæ¢D 44 45 Etarget_initialize() : target_config.c 46 ^[Qbg˶Ìú»iC¾êj 47 E_hardware_init_hook : target_support.asm 48 áxÌ^[Qbg˶Ìú» 49 X^[gAbvW 50 [ÌÅCÌú»ÌOÉÄÑo³êé 51 ùèÅÍX^[gAbvW 52 [©çp³êĨç¸C 53 RgAEg³êÄ¢éD 54 55 56 fobO« 57 58 fobO«ƵÄCE1 fobKÌgpðzèµÄ¢éD 59 60 61 RpC 62 63 ȺÌJ«ðp¢Ä®ìmFðsÁ½D 64 65 n 66 @lTXeNmW» RpC CA78K0R V1.70 67 68 J« 69 @lTXeNmW» J« Cube Suite+ V2.02.00 70 71 72 R\[oÍ 73 74 R\[oÍÉÍCUART0ðp¢éDÊMtH[}bgÍȺÌÊèD 75 76 E19200bps, Data 8bit, Parity none, Stop 1bit, Flow control none 77 78 79 AhX}bsO (¦1) 80 81 0x00000 - 0x0007F xN^e[u 128oCg 82 0x00080 - 0x000Bf calltÖÌe[upZOg 64oCg 83 0x000C0 - 0x000C3 IvVoCgÌæ 4oCg 84 0x000C4 - 0x000CD ZL 85 eBID 10oCg 86 0x000CE - 0x000D7 I`bvfobO@\ÌgpÌæ 10oCg 87 0x000D8 - 0x0ffff à FlashROM ñ63.8KB 88 @@CODE ; R[hpZOg(near) 89 @@BASE ; calltÖEèÝÖpZOg 90 @@LCODE ; CuER[hpZOg(near) 91 @@LBASE ; CuEcalltÖpZOg 92 @@CNST ; èf[^(near) 93 @@R_INIT ; nearú»f[^pZOg(úl è) 94 @@R_INIS ; ú»f[^pZOg(úl èsregÏ) 95 @@CODEL ; R[hpZOg(far) 96 @@LCODEL ; CuER[hpZOg(far) 97 @@CNSTL ; ROMf[^(far) 98 @@RLINIT ; farú»f[^pZOg(úl è) 99 100 0xF0000 - 0xF07FF 2nd SFRÌæ 2KB 101 102 0xF1000 - 0xF1FFF f[^tbV 103 104 0xF2000 - 0xFEEFF ~[Ìæ(0x2000-0xEEFFƯ¶l) 105 0xFEF00 - 0xFFEDF à RAM 3.9KB (¦2) 106 @@BITS ; boolean^Ï, bit^ÏpZOg, BSEGÌæ 107 @@INIT ; f[^ÌæpZOg(úl è, nearzu) 108 @@DATA ; f[^ÌæpZOg(úlȵ, nearzu) 109 @@INIS ; f[^ÌæpZOg(úl è sreg Ï) 110 @@DATS ; f[^ÌæpZOg(úlȵ sreg Ï) 111 @@INITL ; f[^ÌæpZOg(úl è, farzu) 112 @@DATAL ; f[^ÌæpZOg(úlȵ, farzu) 113 @@CODER ; RAMzu R[hpZOg 114 @@LCODER ; RAMzu CuER[hpZOg 115 @@CNSTR ; RAMzu ROMf[^pZOg(near) 116 @@CNSTLR ; RAMzu ROMf[^pZOg(far) 117 0xFFEE0 - 0xFFEFF ÄpWX^ 32oCg (¦2) 118 0xFFF00 - 0xFFFFF SFRÌæ (¦2) 119 120 (¦1) @@ÅnÜéZOgÍRpCÉæ趬³êéD 121 uCubeSuite+ V2.01.00 J«[U[Y}j 122 A RL78,78K0RR[fBOÒvÌ 123 u3. 5 ZOg¼êvð³Éµ½D 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 セグメント名一覧」を元にした. 124 118 http://documentation.renesas.com/doc/products/tool/doc/r20ut2774jj0100_qscd78.pdf 125 119 126 ( ¦2) V[gE_CNgEAhbVOÌæ(0xFFE20-0xFFF1F) Æêd¡·é127 128 eíÝèÌÏX 129 130 ô©Ìp[^ÍÏXÂ\ÉÈÁÄ¢éDÝèt@CÉÝèÂ\Ú 131 ÍÌæ¤ÉÈÁÄ¢éD 132 133 target.tfÌÝèÚ 120 (※2) ショート・ダイレクト・アドレッシング領域(0xFFE20-0xFFF1F) と一部重複する 121 122 ○各種設定の変更 123 124 幾つかのパラメータは変更可能になっている.設定ファイル毎に設定可能項目 125 は次のようになっている. 126 127 ●target.tfの設定項目 134 128 135 129 INTNO_FIX_KERNEL 136 ÅèIÉJ[lÇÌÝÆ·éÝÔ130 固定的にカーネル管理の割込みとする割込み番号 137 131 INTNO_FIX_NONKERNEL 138 ÅèIÉJ[lÇOÌÝÆ·éÝÔ132 固定的にカーネル管理外の割込みとする割込み番号 139 133 INHNO_FIX_KERNEL 140 ÅèIÉJ[lÇÌÝÆ·éÝnhÔ134 固定的にカーネル管理の割込みとする割込みハンドラ番号 141 135 INHNO_FIX_NONKERNEL 142 ÅèIÉJ[lÇOÌÝÆ·éÝnhÔ 143 144 145 target_config.h ÌÝèÚ 146 147 EDEFAULT_ISTKSZ 148 ñ^XNReLXgpX^bNTCYÌKèl 149 i½¾µCSSPÅͤLX^bNÌæÌùèTCYðÓ¡·éj 150 151 target_syssvc.h ÌÝèÚ 152 153 EBPS_SETTING 154 R\[Égp·éVA|[gÌ{[[g(KèÅÍ 19200) 155 ¦ »óÅͱÌ}NÍgpµÄ¢È¢D 156 157 CPUbNÅp¢éÝDæxTMIN_INTPRIÌè` 158 159 EC¾êpÌè`F 160 vZbTÉùèÌè`ÊuFprc_kernel.h 161 ^[Qbg˶Åè`·éêÌè`ÊuFtarget_config.hi»óÅÍ¢è`j 162 163 164 TvvWFNgÌÀsè 165 J«ªCXg[³êÄ¢é±ÆðOñÆ·éD 166 ȺÌà¾ÅÍpXÌæØè¶ÆµÄXbV 167 '/' ðgp·éD 168 169 0. ZIP³k³êÄ¢ét@CðKÈêÖWJ·éD 170 WJæÌpXÉÍú{ê¶âóÈÇðÜÜÈ¢ûªæ¢D 171 172 1. [NXy[Xt@CðJ 173 <WJætH_>/ssp/target/qb_r5c100le_cs/ssp_rl78/ssp_rl78.mtpj ð_uNbN·éD 174 CubeSuite+ ªCXg[³êÄ¢êÎCJ«ªN®·éD 175 176 2. sample1 vWFNgðANeBuvWFNgÉ·é 177 ùèÌÝèÅÍ·ÅÉANeBuÉÈÁÄ¢éD 178 179 3. j 180 [urh¨rhvWFNgvðIðµÄCsample1vWFNgðrh·é 181 ˶ÖWÌÝèÉæèæÉ libkernel, sys-cfg vWFNgÌrhªsíêC 182 »ÌãCsample1 vWFNgÌrhªÀ{³êéD 183 »µÄCAvP[V(sample1)CVXeCuCVXeT[rXC 184 yÑJ[lªN³êCÀst@Cª¶¬³êéD 185 186 4. vOÌÀsðmF·éD 187 188 TvÍVA|[gÌ@\ðOñƵĢéDvZbTÌ 189 UART0 |[gª{[hÌ CN2 12Ôs(TxD0)C13Ôs(RxD0)Éü³êĨèC 190 ±Ìs¨æÑ GNDÌsðUARThCoIC é¢ÍUSB-VAÏ·W 191 [ð 192 pµÄPCÉÚ±·éÆCVA©çÌoÍðmF·é±ÆªÅ«éD 193 194 ßÅÍCE1 ðpµ½tbV 195 ÖÌvO«ÝCyÑCÀsÌ 196 èÉ¢ÄLq·éD 197 198 5. tbV 199 ROM ÖÌvO«Ý 200 201 (1) E1ðPC¨æÑ^[Qbg{[hÉÚ±·éD 202 (2) j 203 [ufobO¨fobOc[Ö_E[hvðIð·éD 204 ¸s·éêCȺðmF·éD 205 EE1ÌhCoªCXg[³êÄ¢é©Ç¤©D 206 EE1Æ{[hÌÚ±ª³µ¢©Ç¤©D¸êĢȢ©Cü«Í³µ¢©D 207 E^[Qbg{[hÉd¹ª³êÄ¢é©Ç¤©D 208 ùèÌÝèÅ͵ȢÝèÆÈÁÄ¢éD 209 E1©çd¹·éêÍÌèÅÝèÏX·éD 210 (2-1)uvWFNgEc[vEBhEÌussp_rl78(vWFNg) 211 --> sample1(TuvWFNg) --> RL78_E1(Serial)vÚð 212 ENbNµCReLXgj 213 [ð\¦·éD 214 (2-2) ReLXgj 215 [©çuvpeBvðIð·éD 216 (2-3) uvpeBvEBhE©çuÚ±pÝèv^uðIð·éD 217 (2-4) u^[Qbg{[hÆÌÚ±vÌÚàÉ éC 218 uG~ 219 [^©çd¹·é(Åå200mA)vðuÍ¢vÉ·éD 220 (3) _E[hª®¹·éÆC^[QbgÍ sta_ker ÌæªÅÀsâ~·éD 221 (4) j 222 [ufobO¨ÀsvðIð·éÆCvOÌÀsðJn·éD 223 224 Ó 225 ENÉ墀 226 X^[gAbvW 227 [(start.asm)ÉÄRAMÌú»ðs¤½ßÉÍ 228 ZNVÌæªAhX¨æÑÅIAhXðméKvª éD 229 »êçÌAhXðæ¾·é½ß segment_s.asm ¨æÑ segment_e.asm ð 230 »ê¼êÀsW 231 [ÌæªÆöÉN·éKvª éD 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 162 0. ZIP圧縮されているファイルを適当な場所へ展開する. 163 展開先のパスには日本語文字や空白などを含まない方がよい. 164 165 1. ワークスペースファイルを開く 166 <展開先フォルダ>/ssp/target/qb_r5c100le_cs/ssp_rl78/ssp_rl78.mtpj をダブルクリックする. 167 CubeSuite+ がインストールされていれば,統合開発環境が起動する. 168 169 2. sample1 プロジェクトをアクティブプロジェクトにする 170 既定の設定ではすでにアクティブになっている. 171 172 3. メニュー「ビルド→リビルドプロジェクト」を選択して,sample1プロジェクトをビルドする 173 依存関係の設定により先に libkernel, sys-cfg プロジェクトのビルドが行われ, 174 その後,sample1 プロジェクトのビルドが実施される. 175 そして,アプリケーション(sample1),システムライブラリ,システムサービス, 176 及びカーネルがリンクされ,実行ファイルが生成される. 177 178 4. プログラムの実行を確認する. 179 180 サンプルはシリアルポートの機能を前提としている.プロセッサの 181 UART0 ポートがボードの CN2 12番ピン(TxD0),13番ピン(RxD0)に結線されており, 182 このピンおよび GNDのピンをUARTドライバICあるいはUSB-シリアル変換モジュール等を 183 利用してPCに接続すると,シリアルからの出力を確認することができる. 184 185 次節では,E1 を利用したフラッシュへのプログラム書き込み,及び,実行の 186 手順について記述する. 187 188 5. フラッシュ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 それぞれ実行モジュールの先頭と末尾にリンクする必要がある. 232 214 233 segment_s.asm Í sample1TuvWFNgÌNÝèÅÅÉN234 ³êéæ¤Ýè³êÄ¢éDêûÅ segment_e.asm Í libkernel.lib ÌöÉ235 N³êéæ¤Ýè³êÄ¢éD215 segment_s.asm は sample1サブプロジェクトのリンク順序設定で最初にリンク 216 されるよう設定されている.一方で segment_e.asm は libkernel.lib の末尾に 217 リンクされるよう設定されている. 236 218 237 ±êÍCsample1TuvWFNgÅ libkernel.lib ÌNð238 ÏX·é±ÆªÅ«È¢½ßCêI[uƵıÌæ¤ÉµÄ¢éD219 これは,sample1サブプロジェクトで libkernel.lib のリンク順序を 220 変更することができないため,一時的措置としてこのようにしている. 239 221 240 ¡ãɨ¢ÄCÊCuðÇÁIÉN·éêC241 libkernel.lib ªöÉN³êéæ¤NÌÝèðs¤Kvª éD242 öÉzu³êÈ¢êÍCÏZNVÌöAhXð³µæ¾Å«¸C243 RAM Ìú»ª³µsíêÈ¢D244 245 246 ÏXð 247 2014/08/21 EVKì¬248 2015/6/2 ESSP-1.3.0Î249 222 今後において,別ライブラリを追加的にリンクする場合, 223 libkernel.lib が末尾にリンクされるようリンク順序の設定を行う必要がある. 224 末尾に配置されない場合は,変数セクションの末尾アドレスを正しく取得できず, 225 RAMの初期化が正しく行われない. 226 227 228 ○変更履歴 229 2014/08/21 ・新規作成 230 2015/6/2 ・SSP-1.3.0対応 231 -
Property svn:mime-type
set to
Note:
See TracChangeset
for help on using the changeset viewer.