DTC ベクタベースレジスタ(DTCVBR)の設定方法

こんにちは

RX65Nマイコンを使用しており,SCI通信の送信データをDTCで送ろうと思っています。

そこでタイトルなのですが基本設定の中でベクターベースアドレスの設定に関する考え方が分からず,マニュアルを見てもその単語の意味が理解できません。

どのように設定したらよろしいのでしょうか?

  • KYOさん、こんにちは。NoMaYと申します。

    この部分でしょうか?もしRXスマートコンフィグレータを使わないのであれば、そしてCC-RXを使うのであれば、ソース上で#pragma section ○○○でセクション指定して、そのセクションをリンカのセクション設定にて1Kバイト境界に配置する、ということをした変数配列を用意して、その配列変数のアドレスをレジスタに書き込むことになります。

    RX65Nグループ、RX651グループ ユーザーズマニュアル ハードウェア編
    R01UH0590JJ0230 Rev.2.30 Pages 2763 2019.06.20
    www.renesas.com/jp/ja/document/mah/rx65n-group-rx651-group-users-manualhardware-rev230#page=758

    20.2.9 DTC ベクタベースレジスタ(DTCVBR)

    DTCVBR レジスタは、DTC ベクタの配置アドレスを算出するためのベースアドレスを設定するレジスタです。上位4 ビットへの書き込みは無視され、b27 の値が拡張されて設定されます。また、下位10 ビットは予約ビットで、値は“0” 固定です。書く場合、“0” を書いてください。
    0000 0000h ~ 07FF FC00h、およびF800 0000h ~ FFFF FC00h の範囲で、1K バイト単位で設定可能です。


    他方、RXスマートコンフィグレータを使うとして、CGコンポーネントを使うとして、そしてCC-RXを使うのであれば、以前、以下のスレッドに投稿した ソースがありますので見てみて下さい。(SCIでは無くてRSPIですが、この辺の扱いは同じです。) RXスマートコンフィグレータのGUI上でアドレスを指定すると、そのアドレスが設定されます。

    なお、RXスマートコンフィグレータを使うとして、FITのSCIモジュール+DTCモジュールを使うのであれば、FITが面倒見てくれます。

    DTCを用いたRSPI通信時の割り込みについて
    community-ja.renesas.com/cafe_rene/forums-groups/beginners/f/002-2095199602/5669/dtc-rspi/31567#31567
    issue_20190307.zip

    [追記]

    なお、FITのSCIモジュール+DTCモジュールに関しては、以下と同様の使い難い部分がありまして、悩ましいですけれども。

    SCI 非同期通信設定でのDMACAについて
    community-ja.renesas.com/cafe_rene/forums-groups/mcu-mpu/rx/f/forum5/8456/sci-dmaca/43344#43344
     

  • NoMaYさん回答ありがとうございます。

     

    w2studiでRXスマートコンフィグレータを用いての使用のつもりでしたが,

    追記の部分が引っかかるため,従来どおり割込み処理で対応することにしました。

    (そもそも問題となっていなかったのですが試しにやってみよう程度の気持ちでしたので)