Renesas Synergy™

FAQ 103895 : IDコードの設定方法を詳しく説明してほしい。

M3T-NC30WAまたはM3T-NC308WAを使用したIDコードの設定方法としては、次の3通りがあります。

  1. ロードモジュールコンバータ(lmc30, lmc308)の -IDオプションを使用する
  2. アセンブラ指示命令の .IDを使用する
  3. アセンブラで書き込む

A. ロードモジュールコンバータ(lmc30, lmc308)の -IDオプションを使用する
ロードモジュールコンバータ(lmc30, lmc308)の -IDオプションを使用して IDコードを設定することができます。以下に3通りの例を紹介します。lmc30 (lmc308) についての詳細は「AS30 (AS308) ユーザーズマニュアル」の「lmc30 (lmc308) の操作方法」をご参照ください。

  1. -IDオプションの指定のみを行った場合、IDコードは下表のとおり "FFh" になります。
    [例] lmc30 -ID

  2. -IDオプションで直接 IDコードを指定した場合、IDコードは下表のようになります。
    [例] lmc30 -ID#1234567(IDコード:12345670000000)

  3. -IDオプションを使用していない場合、IDコードの格納アドレスに記述した値が IDコードになります。

↑設定一覧へ

B. アセンブラ指示命令の .IDを使用する
アセンブラ指示命令の .IDを用いてIDコードを設定することができます。詳細については「AS30(AS308)ユーザーズマニュアル」をご参照ください。

  1. .IDで直接IDコードを指定した場合、IDコードは下表のようになります。

    [例] M16C/Tiny M16C/60シリーズ
    .org 0FFFFCh
    RESET:
    .lword start
    .id "#1234567" ;IDコード 12345670000000を設定します。

    [例] M16C/80 M32C/80 M32C/90シリーズ
    .org 0FFFFFCh
    RESET:
    .lword start
    .id "#1234567" ;IDコード 12345670000000を設定します。

  2. .IDを使用していない場合、アセンブラでIDコードの格納アドレスに記述した値がIDコードになります。

↑設定一覧へ

C. アセンブラで書き込む
プログラム上で IDコードを書き込む方法について、以下に2通りの例を紹介します。

[例] IDコード:55555555555555h

 

  1. アドレス制御命令と論理和を使用した例
    ;----- vector table -----
    .section inter,romdata 
    .org 0FFFDCH 
    .lword int_und | (55000000h) ; UND
    .lword int_int0 | (55000000h) ; INTO
    .lword dummy ; BREAK
    .lword addr_int | (55000000h) ; ADDRESS MATCH
    .lword int_step | (55000000h) ; SET SINGLE STEP
    .lword int_wtc | (55000000h) ; WTC
    .lword int_dbc | (55000000h) ; DBC
    .lword int_nmi | (55000000h) ; NMI
    .lword reset | (55000000h) ; RESET

    ;----- program end -----
  2. アドレス制御命令を使用した例
    ;----- vector table -----
    .section inter,romdata 
    .org 0FFFDCH 
    .addr int_und ; UND
    .byte 55h 
    .addr int_int0 ; INTO
    .byte 55h 
    .lword dummy ; BREAK
    .addr addr_int ; ADDRESS MATCH
    .byte 55h 
    .addr int_step ; SET SINGLE STEP
    .byte 55h 
    .addr int_wtc ; WTC
    .byte 55h 
    .addr int_dbc ; DBC
    .byte 55h 
    .addr int_nmi ; NMI
    .byte 55h 
    .lword reset ; RESET

    ;----- program end -----

シリアルプログラマ(USB Flash Writer FoUSB、M16C Flash Starterなど)のGUIのID入力画面は、すでにフラッシュに書かれているIDと照合するための入力画面であり、フラッシュにIDを設定するための画面ではありません。
フラッシュにプログラムを書いた場合、IDは必ず設定されますのでご注意ください。

↑設定一覧へ

[R8Cファミリについては こちらをご参照ください。]

 

適用製品

M32C/88 (M32C/88T)
M32C/87 (M32C/87, M32C/87A, M32C/87B)
M32C/85 (M32C/85, M32C/85T)
M32C/84 (M32C/84, M32C/84T)
M32C/83 (M32C/83, M32C/83T)
M32C/80
M16C/62A
M16C/62A(M16C/62T)
M16C/62M
M16C/62N
M16C/62N(M3062GF8NFP, M3062GF8NGP)
M16C/62P (M16C/62P, M16C/62PT)
M16C/63
M16C/64A
M16C/64C
M16C/65
M16C/65C
M16C/6C
M16C/6N4, M16C/6N5
M16C/6NK, M16C/6NL, M16C/6NM, M16C/6NN
M16C/5L, M16C/56
M16C/5LD, M16C/56D
M16C/5M, M16C/57
M16C/30P
M16C/28 (M16C/28, M16C/28B)
M16C/26A (M16C/26A, M16C/26B, M16C/26T)
他にご質問がございましたら、リクエストを送信してください