Ignore:
Timestamp:
Jun 2, 2015, 3:39:53 PM (9 years ago)
Author:
nmir-saito
Message:

ファイルの mime-type 変更

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  
    11=====================================================================
    2            QB-R5F100LE-TB ƒ^[ƒQƒbƒgˆË‘¶•”
     2           QB-R5F100LE-TB ターゲット依存部
    33                                  Last Modified: '15/6/2
    44=====================================================================
    55
    6 ›ŠT—v
    7 
    8 QB-R5F100LE-TBƒ^[ƒQƒbƒgˆË‘¶•”‚́CƒvƒƒZƒbƒT‚É RL78/G13 ‚𓋍ڂµ‚½C
    9 iŠ”jƒ‹ƒlƒTƒXƒGƒŒƒNƒgƒƒjƒNƒX»‚Ì QB-R5F100LE-TB ƒ{[ƒh‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚éD
     6○概要
     7
     8QB-R5F100LE-TBターゲット依存部は,プロセッサに RL78/G13 を搭載した,
     9(株)ルネサスエレクトロニクス製の QB-R5F100LE-TB ボードをサポートしている.
    1010http://japan.renesas.com/products/tools/introductory_tools/cpu_board/qb_r5f100le_tb/index.jsp
    1111
    12 ›ƒJ[ƒlƒ‹‚ÌŽg—pƒŠƒ\[ƒX
    13 
    14 ƒJ[ƒlƒ‹‚͈ȉº‚̃Šƒ\[ƒX‚ðŽg—p‚·‚éD
    15 
    16 EROM
    17         ƒR[ƒhC’萔C‰Šú’lCŠ„ž‚݃xƒNƒ^‚ð”z’u‚·‚éD
    18         Žg—p—Ê‚ÍŽg—p‚·‚éAPI‚̐”‚Ɉˑ¶‚·‚éD
    19 
    20 ERAM
    21         ƒf[ƒ^CƒXƒ^ƒbƒN‚ð”z’u‚·‚éD
    22         Žg—p—ʂ̓IƒuƒWƒFƒNƒg”‚Ɉˑ¶‚·‚éD
    23 
    24 Eƒ^ƒCƒ}
    25         ƒJ[ƒlƒ‹“à•”‚̃eƒBƒbƒN‚̐¶¬‚Ƀ^ƒCƒ}EƒAƒŒƒCEƒ†ƒjƒbƒg‚Ì
    26         ƒ†ƒjƒbƒg0 ƒ`ƒƒƒlƒ‹0 ‚ðŽg—p‚·‚éD
    27         ƒ^ƒCƒ€ƒeƒBƒbƒN‚ÌŽüŠú‹y‚уVƒXƒeƒ€Žž‚̐¸“x‚Í‹¤‚É 1ms ‚Æ‚·‚éD
    28 
    29 EƒVƒŠƒAƒ‹
    30         ƒVƒŠƒAƒ‹ƒhƒ‰ƒCƒo‚É UART0(ƒVƒŠƒAƒ‹EƒAƒŒƒCƒ†ƒjƒbƒg‚̃†ƒjƒbƒg0
    31         ƒ`ƒƒƒlƒ‹{0,1}) ‚ðŽg—p‚·‚éD
    32         ƒvƒƒZƒbƒT‚Ì UART0 ‘—ŽóMƒ|[ƒg‚̓{[ƒh CN2 ‚Ì 12ƒsƒ“(‘—M)
    33         ‚¨‚æ‚Ñ13ƒsƒ“(ŽóM)‚ÆŒ‹ü‚³‚ê‚Ä‚¢‚éD‚±‚̃sƒ“‚ðUARTƒhƒ‰ƒCƒoIC‚â
    34         USBƒVƒŠƒAƒ‹•ÏŠ·ƒ‚ƒWƒ
    35 [ƒ‹“™‚ð—˜—p‚µ‚ÄPC‚Ɛڑ±‚·‚邱‚Ƃŏo—Í‚ð
    36         Šm”F‚·‚邱‚Æ‚ª‚Å‚«‚éD
    37 
    38 ›‘¼‚̃^[ƒQƒbƒg‚ւ̈ڐA
    39 
    40 ƒ^[ƒQƒbƒgˆË‘¶•”‚ÅŽg—p‚·‚éƒ^ƒCƒ}‚¨‚æ‚уVƒŠƒAƒ‹‚́CRL78/G13 ‚Ì
    41 “à‘ ‹@”\‚Ì‚Ý‚ðŽg—p‚·‚邽‚߁CRL78 ‚Ì“¯—l‚̃vƒƒZƒbƒT‚ð—p‚¢‚½ŠÂ‹«‚É‚Í
    42 —eˆÕ‚Ƀ|[ƒeƒBƒ“ƒO‚ª‰Â”\‚Å‚ ‚éDƒ|[ƒeƒBƒ“ƒO‚ÉŠÖ‚µ‚ẮCˆÈ‰º‚̏‰Šú‰»ƒ‹[ƒ`ƒ“‚É
    43 ƒ^[ƒQƒbƒg–ˆ‚̏‰Šú‰»‚ð’ljÁ‚·‚ê‚΂悢D
    44 
    45   Etarget_initialize() : target_config.c
    46             ƒ^[ƒQƒbƒgˆË‘¶•”‚̏‰Šú‰»iCŒ¾Œêj
    47   E_hardware_init_hook : target_support.asm
    48             ’჌ƒxƒ‹‚̃^[ƒQƒbƒgˆË‘¶‚̏‰Šú‰»
    49             ƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ
    50 [ƒ‹‚Ì’†‚ŁCƒƒ‚ƒŠ‚̏‰Šú‰»‚Ì‘O‚ɌĂяo‚³‚ê‚é
    51             Šù’è‚ł̓Xƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ
    52 [ƒ‹‚©‚ç—˜—p‚³‚ê‚Ä‚¨‚炸C
    53             ƒRƒƒ“ƒgƒAƒEƒg‚³‚ê‚Ä‚¢‚éD
    54 
    55 
    56 ›ƒfƒoƒbƒOŠÂ‹«
    57 
    58 ƒfƒoƒbƒOŠÂ‹«‚Æ‚µ‚āCE1 ƒfƒoƒbƒK‚ÌŽg—p‚ð‘z’肵‚Ä‚¢‚éD
    59 
    60 
    61 ›ƒRƒ“ƒpƒCƒ‰
    62 
    63 ˆÈ‰º‚ÌŠJ”­ŠÂ‹«‚ð—p‚¢‚Ä“®ìŠm”F‚ðs‚Á‚½D
    64 
    65 ˆ—Œn
    66 @ƒ‹ƒlƒTƒXƒeƒNƒmƒƒW» ƒRƒ“ƒpƒCƒ‰ CA78K0R V1.70
    67 
    68 “‡ŠJ”­ŠÂ‹«
    69 @ƒ‹ƒlƒTƒXƒeƒNƒmƒƒW» “‡ŠJ”­ŠÂ‹« Cube Suite+ V2.02.00
    70 
    71 
    72 ›ƒRƒ“ƒ\[ƒ‹o—Í
    73 
    74 ƒRƒ“ƒ\[ƒ‹o—͂ɂ́CUART0‚ð—p‚¢‚éD’ʐMƒtƒH[ƒ}ƒbƒg‚͈ȉº‚Ì’Ê‚èD
    75 
    76   E19200bps, Data 8bit, Parity none, Stop 1bit, Flow control none
    77 
    78 
    79 ›ƒAƒhƒŒƒXƒ}ƒbƒsƒ“ƒO (¦1)
    80 
    81   0x00000 - 0x0007F     ƒxƒNƒ^ƒe[ƒuƒ‹                  128ƒoƒCƒg
    82   0x00080 - 0x000Bf     calltŠÖ”‚̃e[ƒuƒ‹—pƒZƒOƒƒ“ƒg  64ƒoƒCƒg
    83   0x000C0 - 0x000C3     ƒIƒvƒVƒ‡ƒ“ƒoƒCƒg—Ìˆæ              4ƒoƒCƒg
    84   0x000C4 - 0x000CD     ƒZƒLƒ
    85 ƒŠƒeƒBID                   10ƒoƒCƒg
    86   0x000CE - 0x000D7     ƒIƒ“ƒ`ƒbƒvƒfƒoƒbƒO‹@”\‚ÌŽg—p—̈æ 10ƒoƒCƒg
    87   0x000D8 - 0x0ffff     “à‘ FlashROM  –ñ63.8KB
    88                             @@CODE      ; ƒR[ƒh•”—pƒZƒOƒƒ“ƒg(near)
    89                             @@BASE      ; calltŠÖ”EŠ„‚荞‚݊֐”—pƒZƒOƒƒ“ƒg
    90                             @@LCODE     ; ƒ‰ƒCƒuƒ‰ƒŠEƒR[ƒh•”—pƒZƒOƒƒ“ƒg(near)
    91                             @@LBASE     ; ƒ‰ƒCƒuƒ‰ƒŠEcalltŠÖ”—pƒZƒOƒƒ“ƒg
    92                             @@CNST      ; ’萔ƒf[ƒ^(near)
    93                             @@R_INIT    ; near‰Šú‰»ƒf[ƒ^—pƒZƒOƒƒ“ƒg(‰Šú’l‚ ‚è)
    94                             @@R_INIS    ; ‰Šú‰»ƒf[ƒ^—pƒZƒOƒƒ“ƒg(‰Šú’l‚ ‚èsreg•Ï”)
    95                             @@CODEL     ; ƒR[ƒh•”—pƒZƒOƒƒ“ƒg(far)
    96                             @@LCODEL    ; ƒ‰ƒCƒuƒ‰ƒŠEƒR[ƒh•”—pƒZƒOƒƒ“ƒg(far)
    97                             @@CNSTL     ; ROMƒf[ƒ^(far)
    98                             @@RLINIT    ; far‰Šú‰»ƒf[ƒ^—pƒZƒOƒƒ“ƒg(‰Šú’l‚ ‚è)
    99 
    100   0xF0000 - 0xF07FF     2nd SFR—Ìˆæ  2KB
    101 
    102   0xF1000 - 0xF1FFF     ƒf[ƒ^ƒtƒ‰ƒbƒVƒ
    103 ƒƒ‚ƒŠ
    104   0xF2000 - 0xFEEFF     ƒ~ƒ‰[—̈æ(0x2000-0xEEFF‚Æ“¯‚¶’l)
    105   0xFEF00 - 0xFFEDF     “à‘ RAM  3.9KB (¦2)
    106                             @@BITS      ; booleanŒ^•Ï”, bitŒ^•Ï”—pƒZƒOƒƒ“ƒg, BSEG—̈æ
    107                             @@INIT      ; ƒf[ƒ^—̈æ—pƒZƒOƒƒ“ƒg(‰Šú’l‚ ‚è, near”z’u)
    108                             @@DATA      ; ƒf[ƒ^—̈æ—pƒZƒOƒƒ“ƒg(‰Šú’l‚È‚µ, near”z’u)
    109                             @@INIS      ; ƒf[ƒ^—̈æ—pƒZƒOƒƒ“ƒg(‰Šú’l‚ ‚è sreg •Ï”)
    110                             @@DATS      ; ƒf[ƒ^—̈æ—pƒZƒOƒƒ“ƒg(‰Šú’l‚È‚µ sreg •Ï”)
    111                             @@INITL     ; ƒf[ƒ^—̈æ—pƒZƒOƒƒ“ƒg(‰Šú’l‚ ‚è, far”z’u)
    112                             @@DATAL     ; ƒf[ƒ^—̈æ—pƒZƒOƒƒ“ƒg(‰Šú’l‚È‚µ, far”z’u)
    113                             @@CODER     ; RAM”z’u ƒR[ƒh•”—pƒZƒOƒƒ“ƒg
    114                             @@LCODER    ; RAM”z’u ƒ‰ƒCƒuƒ‰ƒŠEƒR[ƒh—pƒZƒOƒƒ“ƒg
    115                             @@CNSTR     ; RAM”z’u ROMƒf[ƒ^—pƒZƒOƒƒ“ƒg(near)
    116                             @@CNSTLR    ; RAM”z’u ROMƒf[ƒ^—pƒZƒOƒƒ“ƒg(far)
    117   0xFFEE0 - 0xFFEFF         ”Ä—pƒŒƒWƒXƒ^ 32ƒoƒCƒg (¦2)
    118   0xFFF00 - 0xFFFFF         SFR—̈æ (¦2)
    119 
    120 (¦1) @@‚ÅŽn‚Ü‚éƒZƒOƒƒ“ƒg‚̓Rƒ“ƒpƒCƒ‹‚É‚æ‚萶¬‚³‚ê‚éD
    121   uCubeSuite+ V2.01.00 “‡ŠJ”­ŠÂ‹«ƒ†[ƒU[ƒYƒ}ƒjƒ
    122 ƒAƒ‹ RL78,78K0RƒR[ƒfƒBƒ“ƒO•Òv‚Ì
    123   u3. 5 ƒZƒOƒƒ“ƒg–¼ˆê——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 セグメント名一覧」を元にした.
    124118  http://documentation.renesas.com/doc/products/tool/doc/r20ut2774jj0100_qscd78.pdf
    125119
    126 (¦2) ƒVƒ‡[ƒgEƒ_ƒCƒŒƒNƒgEƒAƒhƒŒƒbƒVƒ“ƒO—̈æ(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の設定項目
    134128
    135129INTNO_FIX_KERNEL
    136         ŒÅ’è“I‚ɃJ[ƒlƒ‹ŠÇ—‚ÌŠ„ž‚Ý‚Æ‚·‚銄ž‚ݔԍ†
     130        固定的にカーネル管理の割込みとする割込み番号
    137131INTNO_FIX_NONKERNEL
    138         ŒÅ’è“I‚ɃJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚Ý‚Æ‚·‚銄ž‚ݔԍ†
     132        固定的にカーネル管理外の割込みとする割込み番号
    139133INHNO_FIX_KERNEL
    140         ŒÅ’è“I‚ɃJ[ƒlƒ‹ŠÇ—‚ÌŠ„ž‚Ý‚Æ‚·‚銄ž‚݃nƒ“ƒhƒ‰”ԍ†
     134        固定的にカーネル管理の割込みとする割込みハンドラ番号
    141135INHNO_FIX_NONKERNEL
    142         ŒÅ’è“I‚ɃJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚Ý‚Æ‚·‚銄ž‚݃nƒ“ƒhƒ‰”ԍ†
    143 
    144 
    145 œtarget_config.h ‚̐ݒ荀–Ú
    146 
    147 EDEFAULT_ISTKSZ
    148         ”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg—pƒXƒ^ƒbƒNƒTƒCƒY‚Ì‹K’è’l
    149         i‚½‚¾‚µCSSP‚Å‚Í‹¤—LƒXƒ^ƒbƒN—̈æ‚ÌŠù’èƒTƒCƒY‚ðˆÓ–¡‚·‚éj
    150 
    151 œtarget_syssvc.h ‚̐ݒ荀–Ú
    152 
    153 EBPS_SETTING
    154         ƒRƒ“ƒ\[ƒ‹‚ÉŽg—p‚·‚éƒVƒŠƒAƒ‹ƒ|[ƒg‚̃{[ƒŒ[ƒg(‹K’è‚Å‚Í 19200)
    155         ¦ Œ»ó‚Å‚Í‚±‚̃}ƒNƒ‚ÍŽg—p‚µ‚Ä‚¢‚È‚¢D
    156 
    157 œCPUƒƒbƒN‚Å—p‚¢‚銄ž‚Ý—Dæ“xTMIN_INTPRI‚Ì’è‹`
    158 
    159 ECŒ¾Œê—p‚Ì’è‹`F
    160         ƒvƒƒZƒbƒT‚ÉŠù’è‚Ì’è‹`ˆÊ’uFprc_kernel.h
    161         ƒ^[ƒQƒbƒgˆË‘¶‚Å’è‹`‚·‚éê‡‚Ì’è‹`ˆÊ’uFtarget_config.hiŒ»ó‚Å‚Í–¢’è‹`j
    162 
    163 
    164 ›ƒTƒ“ƒvƒ‹ƒvƒƒWƒFƒNƒg‚ÌŽÀsŽè‡
    165    ŠJ”­ŠÂ‹«‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚邱‚Æ‚ð‘O’ñ‚Æ‚·‚éD
    166    ˆÈ‰º‚Ìà–¾‚ł̓pƒX‚Ì‹æØ‚蕶Žš‚Æ‚µ‚ăXƒ‰ƒbƒVƒ
    167  '/' ‚ðŽg—p‚·‚éD
    168 
    169 0. ZIPˆ³k‚³‚ê‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚ð“K“–‚ȏꏊ‚Ö“WŠJ‚·‚éD
    170    “WŠJæ‚̃pƒX‚É‚Í“ú–{Œê•¶Žš‚â‹ó”’‚È‚Ç‚ðŠÜ‚Ü‚È‚¢•û‚ª‚æ‚¢D
    171 
    172 1. ƒ[ƒNƒXƒy[ƒXƒtƒ@ƒCƒ‹‚ðŠJ‚­
    173         <“WŠJæƒtƒHƒ‹ƒ_>/ssp/target/qb_r5c100le_cs/ssp_rl78/ssp_rl78.mtpj ‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚éD
    174         CubeSuite+ ‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚ê‚΁C“‡ŠJ”­ŠÂ‹«‚ª‹N“®‚·‚éD
    175 
    176 2. sample1 ƒvƒƒWƒFƒNƒg‚ðƒAƒNƒeƒBƒuƒvƒƒWƒFƒNƒg‚É‚·‚é
    177         Šù’è‚̐ݒè‚Å‚Í‚·‚łɃAƒNƒeƒBƒu‚É‚È‚Á‚Ä‚¢‚éD
    178 
    179 3. ƒƒjƒ
    180 [uƒrƒ‹ƒh¨ƒŠƒrƒ‹ƒhƒvƒƒWƒFƒNƒgv‚ð‘I‘ð‚µ‚ÄCsample1ƒvƒƒWƒFƒNƒg‚ðƒrƒ‹ƒh‚·‚é
    181         ˆË‘¶ŠÖŒW‚̐ݒè‚É‚æ‚èæ‚É libkernel, sys-cfg ƒvƒƒWƒFƒNƒg‚̃rƒ‹ƒh‚ªs‚í‚êC
    182         ‚»‚ÌŒãCsample1 ƒvƒƒWƒFƒNƒg‚̃rƒ‹ƒh‚ªŽÀŽ{‚³‚ê‚éD
    183         ‚»‚µ‚āCƒAƒvƒŠƒP[ƒVƒ‡ƒ“(sample1)CƒVƒXƒeƒ€ƒ‰ƒCƒuƒ‰ƒŠCƒVƒXƒeƒ€ƒT[ƒrƒXC
    184         ‹y‚уJ[ƒlƒ‹‚ªƒŠƒ“ƒN‚³‚êCŽÀsƒtƒ@ƒCƒ‹‚ª¶¬‚³‚ê‚éD
    185 
    186 4. ƒvƒƒOƒ‰ƒ€‚ÌŽÀs‚ðŠm”F‚·‚éD
    187 
    188         ƒTƒ“ƒvƒ‹‚̓VƒŠƒAƒ‹ƒ|[ƒg‚Ì‹@”\‚ð‘O’ñ‚Æ‚µ‚Ä‚¢‚éDƒvƒƒZƒbƒT‚Ì
    189         UART0 ƒ|[ƒg‚ªƒ{[ƒh‚Ì CN2 12”Ôƒsƒ“(TxD0)C13”Ôƒsƒ“(RxD0)‚ÉŒ‹ü‚³‚ê‚Ä‚¨‚èC
    190         ‚±‚̃sƒ“‚¨‚æ‚Ñ GND‚̃sƒ“‚ðUARTƒhƒ‰ƒCƒoIC‚ ‚é‚¢‚ÍUSB-ƒVƒŠƒAƒ‹•ÏŠ·ƒ‚ƒWƒ
    191 [ƒ‹“™‚ð
    192         —˜—p‚µ‚ÄPC‚ɐڑ±‚·‚é‚ƁCƒVƒŠƒAƒ‹‚©‚ç‚̏o—Í‚ðŠm”F‚·‚邱‚Æ‚ª‚Å‚«‚éD
    193 
    194         ŽŸß‚ł́CE1 ‚ð—˜—p‚µ‚½ƒtƒ‰ƒbƒVƒ
    195 ‚ւ̃vƒƒOƒ‰ƒ€‘‚«ž‚݁C‹y‚сCŽÀs‚Ì
    196         Žè‡‚ɂ‚¢‚Ä‹Lq‚·‚éD
    197 
    198 5. ƒtƒ‰ƒbƒVƒ
    199 ROM ‚ւ̃vƒƒOƒ‰ƒ€‘‚«ž‚Ý
    200 
    201 (1) E1‚ðPC‚¨‚æ‚у^[ƒQƒbƒgƒ{[ƒh‚ɐڑ±‚·‚éD
    202 (2) ƒƒjƒ
    203 [uƒfƒoƒbƒO¨ƒfƒoƒbƒOƒc[ƒ‹‚Öƒ_ƒEƒ“ƒ[ƒhv‚ð‘I‘ð‚·‚éD
    204     Ž¸”s‚·‚éê‡CˆÈ‰º‚ðŠm”F‚·‚éD
    205     EE1‚̃hƒ‰ƒCƒo‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚é‚©‚Ç‚¤‚©D
    206     EE1‚ƃ{[ƒh‚̐ڑ±‚ª³‚µ‚¢‚©‚Ç‚¤‚©D‚¸‚ê‚Ä‚¢‚È‚¢‚©CŒü‚«‚͐³‚µ‚¢‚©D
    207     Eƒ^[ƒQƒbƒgƒ{[ƒh‚É“dŒ¹‚ª‹Ÿ‹‹‚³‚ê‚Ä‚¢‚é‚©‚Ç‚¤‚©D
    208         Šù’è‚̐ݒè‚Å‚Í‹Ÿ‹‹‚µ‚È‚¢Ý’è‚Æ‚È‚Á‚Ä‚¢‚éD
    209         E1‚©‚ç“dŒ¹‹Ÿ‹‹‚·‚éê‡‚ÍŽŸ‚̎菇‚Őݒè•ÏX‚·‚éD
    210         (2-1)uƒvƒƒWƒFƒNƒgEƒcƒŠ[vƒEƒBƒ“ƒhƒE‚́ussp_rl78(ƒvƒƒWƒFƒNƒg)
    211                --> sample1(ƒTƒuƒvƒƒWƒFƒNƒg) --> RL78_E1(Serial)v€–Ú‚ð
    212                ‰EƒNƒŠƒbƒN‚µCƒRƒ“ƒeƒLƒXƒgƒƒjƒ
    213 [‚ð•\Ž¦‚·‚éD
    214         (2-2) ƒRƒ“ƒeƒLƒXƒgƒƒjƒ
    215 [‚©‚çuƒvƒƒpƒeƒBv‚ð‘I‘ð‚·‚éD
    216         (2-3) uƒvƒƒpƒeƒBvƒEƒBƒ“ƒhƒE‚©‚çuÚ‘±—pÝ’èvƒ^ƒu‚ð‘I‘ð‚·‚éD
    217         (2-4) uƒ^[ƒQƒbƒgƒ{[ƒh‚Ƃ̐ڑ±v‚̍€–Ú“à‚É‚ ‚éC
    218               uƒGƒ~ƒ
    219 ƒŒ[ƒ^‚©‚ç“dŒ¹‹Ÿ‹‹‚·‚é(Å‘å200mA)v‚ðu‚Í‚¢v‚É‚·‚éD
    220 (3) ƒ_ƒEƒ“ƒ[ƒh‚ªŠ®—¹‚·‚é‚ƁCƒ^[ƒQƒbƒg‚Í sta_ker ‚̐擪‚ÅŽÀs’âŽ~‚·‚éD
    221 (4) ƒƒjƒ
    222 [uƒfƒoƒbƒO¨ŽÀsv‚ð‘I‘ð‚·‚é‚ƁCƒvƒƒOƒ‰ƒ€‚ÌŽÀs‚ðŠJŽn‚·‚éD
    223 
    224 ›’ˆÓŽ–€
    225 EƒŠƒ“ƒN‡˜‚ɂ‚¢‚Ä
    226         ƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ
    227 [ƒ‹(start.asm)‚É‚ÄRAM‚̏‰Šú‰»ˆ—‚ðs‚¤‚½‚ß‚É‚Í
    228         ƒZƒNƒVƒ‡ƒ“‚̐擪ƒAƒhƒŒƒX‚¨‚æ‚эŏIƒAƒhƒŒƒX‚ð’m‚é•K—v‚ª‚ ‚éD
    229         ‚»‚ê‚ç‚̃AƒhƒŒƒX‚ðŽæ“¾‚·‚邽‚ß segment_s.asm ‚¨‚æ‚Ñ segment_e.asm ‚ð
    230         ‚»‚ꂼ‚êŽÀsƒ‚ƒWƒ
    231 [ƒ‹‚̐擪‚Æ––”ö‚ɃŠƒ“ƒN‚·‚é•K—v‚ª‚ ‚é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
     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        それぞれ実行モジュールの先頭と末尾にリンクする必要がある.
    232214       
    233         segment_s.asm ‚Í sample1ƒTƒuƒvƒƒWƒFƒNƒg‚̃Šƒ“ƒN‡˜Ý’è‚ōŏ‰‚ɃŠƒ“ƒN
    234         ‚³‚ê‚é‚悤Ý’肳‚ê‚Ä‚¢‚éDˆê•û‚Å segment_e.asm ‚Í libkernel.lib ‚Ì––”ö‚É
    235         ƒŠƒ“ƒN‚³‚ê‚é‚悤Ý’肳‚ê‚Ä‚¢‚éD
     215        segment_s.asm は sample1サブプロジェクトのリンク順序設定で最初にリンク
     216        されるよう設定されている.一方で segment_e.asm は libkernel.lib の末尾に
     217        リンクされるよう設定されている.
    236218       
    237         ‚±‚ê‚́Csample1ƒTƒuƒvƒƒWƒFƒNƒg‚Å libkernel.lib ‚̃Šƒ“ƒN‡˜‚ð
    238         •ÏX‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢‚½‚߁CˆêŽž“I‘[’u‚Æ‚µ‚Ä‚±‚̂悤‚É‚µ‚Ä‚¢‚éD
     219        これは,sample1サブプロジェクトで libkernel.lib のリンク順序を
     220        変更することができないため,一時的措置としてこのようにしている.
    239221       
    240         ¡Œã‚É‚¨‚¢‚āC•Êƒ‰ƒCƒuƒ‰ƒŠ‚ð’ljÁ“I‚ɃŠƒ“ƒN‚·‚éê‡C
    241         libkernel.lib ‚ª––”ö‚ɃŠƒ“ƒN‚³‚ê‚é‚悤ƒŠƒ“ƒN‡˜‚̐ݒè‚ðs‚¤•K—v‚ª‚ ‚éD
    242         ––”ö‚É”z’u‚³‚ê‚È‚¢ê‡‚́C•Ï”ƒZƒNƒVƒ‡ƒ“‚Ì––”öƒAƒhƒŒƒX‚𐳂µ‚­Žæ“¾‚Å‚«‚¸C
    243         RAM‚̏‰Šú‰»‚ª³‚µ‚­s‚í‚ê‚È‚¢D
    244 
    245 
    246 ›•ÏX—š—ð
    247 2014/08/21  EV‹Kì¬
    248 2015/6/2    ESSP-1.3.0‘Ήž
    249 
     222        今後において,別ライブラリを追加的にリンクする場合,
     223        libkernel.lib が末尾にリンクされるようリンク順序の設定を行う必要がある.
     224        末尾に配置されない場合は,変数セクションの末尾アドレスを正しく取得できず,
     225        RAMの初期化が正しく行われない.
     226
     227
     228○変更履歴
     2292014/08/21  ・新規作成
     2302015/6/2    ・SSP-1.3.0対応
     231
Note: See TracChangeset for help on using the changeset viewer.