RL78 SmartConfiguratorで気になった点とか改善する案とか報告してみるスレッド

こんにちは。NoMaYです。

いま2つ気になっています。

(1) ICCRL78とLLVM-RL78(とGNURL78)でワーニングレベルを上げるとワーニングがとてもたくさん出る
(2) RL78スマートコンフィグレータGUI上でオンチップデバッグトレースを使用する設定にしても予約RAM領域を空けていない

Parents
  • こんにちは。NoMaYです。

    2022年7月のツールアップデートで以下のスマートコンフィグレータに関しては、コンポーネント毎に初期化関数のみ生成するかしないか選択出来るようになりましたね。他方、RL78とRH850の単体スマートコンフィグレータは未実装ですね。

    実装済
    ・e2 studioプラグイン版RXスマートコンフィグレータ
    ・e2 studioプラグイン版RL78スマートコンフィグレータ
    ・単体RXスマートコンフィグレータ

    未実装
    ・単体RL78スマートコンフィグレータ
    ・単体RH850スマートコンフィグレータ

    対象外(現時点で存在しない)
    ・e2 studioプラグイン版RH850スマートコンフィグレータ

    以下、画面コピーです。

    e2 studio 2022-07のリリースノート
    www2.renesas.eu/_custom/software/ree_eclipse/e2studio8/docs/releasenotes/2022_07/releasenote.pdf#page=33


    実装済:e2 studioプラグイン版RXスマートコンフィグレータ


    実装済:e2 studioプラグイン版RL78スマートコンフィグレータ


    実装済:単体RXスマートコンフィグレータ


    未実装:単体RL78スマートコンフィグレータ


    未実装:単体RH850スマートコンフィグレータ

     

  • チョコです。

    コード生成が改版されたので、RL78/G13のコード生成で簡易IICを使おうとしました。すると、データの読み出しが、できませんでした。データ読み出しは、書き込みモードでスレーブ・アドレスを送信し、レジスタ・アドレスを送信して、リスタートして、読み出しモードでスレーブ・アドレスを送信し、データを読み出す基本的な使い方です。

    下の波形は、レジスタ・アドレスを設定するためのスタート・コンディションからスレーブアドレスを送信したところです。

    次に、レジスタ・アドレスを送信したところです。

    引き続いて、リスタートして読み出しでのスレーブ・アドレスを送信したところです。

    全くリスタートになっていません。

    そこで、「R_IIC00_StartCondition」関数を確認してみると以下のようになっていました。

    やっていることは、SDAを立ち下げて、SCLを立ち下げているだけです。これでは、SCLがハイの状態ならスタート・コンディションになりますが、通信を終わって(ストップ・コンディションを発行していない状態)では、SCLはローのままで、かつSOEもセットされたままなので、スタート・コンディションにはなりません。

    これは、重大なバグです

    本来であれば、SOEレジスタをクリアしてSOレジスタをアクセス可能にし、SCL(SO)がローならばSDAを立ち上げ、SCLを立ち上げてからSDAの立ち下げ(スタート・コンディション)、SCLの立ち下げ(送信準備)、SOEをセットしてSAUの送信可能にすべきです。

    SCではなく、コード生成ですが、SCの変更内容が反映されているようだったので、SCも同じかと思って投稿しました。

    以上

Reply
  • チョコです。

    コード生成が改版されたので、RL78/G13のコード生成で簡易IICを使おうとしました。すると、データの読み出しが、できませんでした。データ読み出しは、書き込みモードでスレーブ・アドレスを送信し、レジスタ・アドレスを送信して、リスタートして、読み出しモードでスレーブ・アドレスを送信し、データを読み出す基本的な使い方です。

    下の波形は、レジスタ・アドレスを設定するためのスタート・コンディションからスレーブアドレスを送信したところです。

    次に、レジスタ・アドレスを送信したところです。

    引き続いて、リスタートして読み出しでのスレーブ・アドレスを送信したところです。

    全くリスタートになっていません。

    そこで、「R_IIC00_StartCondition」関数を確認してみると以下のようになっていました。

    やっていることは、SDAを立ち下げて、SCLを立ち下げているだけです。これでは、SCLがハイの状態ならスタート・コンディションになりますが、通信を終わって(ストップ・コンディションを発行していない状態)では、SCLはローのままで、かつSOEもセットされたままなので、スタート・コンディションにはなりません。

    これは、重大なバグです

    本来であれば、SOEレジスタをクリアしてSOレジスタをアクセス可能にし、SCL(SO)がローならばSDAを立ち上げ、SCLを立ち上げてからSDAの立ち下げ(スタート・コンディション)、SCLの立ち下げ(送信準備)、SOEをセットしてSAUの送信可能にすべきです。

    SCではなく、コード生成ですが、SCの変更内容が反映されているようだったので、SCも同じかと思って投稿しました。

    以上

Children
No Data