コード生成の設定順序

CubeSuite+のコード生成では、クロック発生回路の“端子割り当て設定タブ”で、はじめに必ず設定してください。この設定は1度行うと変更できませんと、赤コメントが表示されます。今回は、この理由とコード生成の周辺機能の設定順序について示します。

周辺機能ピンの確定必要性
周辺機能ピンの確定必要性

RL78マイコンは、1つのピンに複数の周辺機能のI/Oピンを割付け可能です。これらI/Oピンには、再配置が可能なものもあります。例えば、64ピンパッケージのRL78/G13の割込みINTP10ピンは、P52P76のどちらかにでも割付け可能です。コード生成ツール(以下Cgと略す)は、GUIで周辺機能を簡単に設定できますが、対象となる周辺機能がどのピンを使うかが決まっていないと、ピンの競合判断ができません。そこで、最初に、周辺機能ピンの確定が必要になります。これを行うのが、“端子割り当て設定タブ”で、はじめに必ず…が表示される理由です。

Cgのクロック発生回路の次には、上から順にポート、割り込み、シリアル…と続きます。これは、使用頻度の高い機能順だろうと思います。しかし設定する時は、ポートを最後にすることをお勧めします。理由は、Cgが競合判断を行うからです。

ポートでは、各ポートの入出力や内臓プルアップの設定などができます。但し、デフォルトでは、全て“使用しない”となっています。この“使用しない”とは、“単純なI/Oポートとしては使用しないという意味”です。例えば、端子割り当てタブでPIOR0ビット=1にして、INTP10P76に確定したとしましょう。ポートの“ポート7”タブでのP76は、他のポートと同じ表示です。しかし、割り込みを先に設定した場合には、P76赤!マークが付きます。このマークにカーソルを合わせると、「P76INTP10で使われています。」というメッセージが表示されます。Cgが競合ありと判断したのです。

コード生成ツールの競合判断
コード生成ツールの競合判断

このように、ポート設定を周辺機能の後に行うと、既に使用済みのI/Oピンには、赤!マークが付きますので、デフォルトのままにできます。このマーク付きのピンを、どうしてもI/Oポートとして使いたい場合には、周辺機能を無効にするか、または最初のピン確定を変える必要があります。ピン確定は1度しかできませんので、新たなプロジェクト作成となります。

コード生成(設計ツール)の設定順序をまとめます。

(1) クロック発生回路>端子割り当て設定タブで、再配置可能な周辺機能の使用ピンを確定。

(2) ポート以外の使用周辺機能を設定。未使用周辺は、デフォルト無効なので、そのままでOK

(3) ポート>ポートnタブで、競合なしピンを設定。競合ピンをI/Oピンとして使う場合は、使用周辺機能を無効にするか、新プロジェクト作成が必要。

他の周辺機能に比べ、ポートは、ピン配置の自由度が高いので、最後に設定するのが良いでしょう。Cgでは、クロック発生回路のすぐ下にありますので、先に設定しがちですが、これを先にすると、周辺機能に赤!マークが付いて設定できなくなります。