RL78/G23 Fast Prototyping Boardを買いました

こんにちは。NoMaYです。

別スレッドでRL78 nextに関して長期に書いていたわけですし、買ったなら黙っているのもアレかな、と思いましたので投稿します。

RenesasさんからStrategy Updateが発表されましたね
japan.renesasrulz.com/cafe_rene/f/forum13/6192/renesas-strategy-update/37890#37890

ボードの形状は、まるっきりArduino、ですね。また、ボードのUMに書かれていたのですが、将来、Arduino IDEでもボードをサポートする予定らしいです。また、RL78/G13,14,11,10,12のようにCS+でシミュレータGUIが起動しましたね。まだ、空のコードしか作ってないのと、あと、CS+をインストールしてもRL78/G23シミュレータのリリースノートが含まれていなかったので、ちょっと五分五分の可能性?、というところですが、内蔵周辺機能のシミュレーションが出来るかも知れません。また、上のスレッドでもFujitaさんが書かれていましたが、従来のRX231によるオンボードエミュレータではなくて、USB−シリアル変換チップ(FT232RQ)によるオンボードエミュレータに変更されてました。これで、RFPでのプログラミングと、CS+/e2 studioでのデバッグと、ターミナルソフト(TeraTermなど)によるUART通信と、これら3つのことが出来るみたいです。(きっと、これらは排他使用かな、と思います。)

  • こんにちは。NoMaYです。

    ちなみに、外観は以下の通りです。また、USB−シリアル変換チップ(FT232RQ)によるオンボードエミュレータ回路は以下の通りです。(たぶん、RTS/DTRとRESETの間のSN74LVC1G126DCKは、単純化するのであれば、ダイオードで置き換えたり、もしくは極端には省略したり、してしまうことも可能ではないかと思います。)

    RL78/G23-64p Fast Prototyping Board ユーザーズマニュアル
    www.renesas.com/jp/ja/document/man/rl78g23-64p-fast-prototyping-board-users-manual
    画面コピー


    RL78/G23-64p Fast Prototyping Board 回路図
    www.renesas.com/jp/ja/document/sch/rl78g23-64p-fast-prototyping-board-schematics
    画面コピー


    [関連リンク]

    RL78/G23-64p Fast Prototyping Board 製品ページ
    www.renesas.com/jp/ja/products/microcontrollers-microprocessors/rl78-low-power-8-16-bit-mcus/rtk7rlg230clg000bj-rl78g23-64p-fast-prototyping-board

    RL78/G23 製品ページ
    www.renesas.com/jp/ja/products/microcontrollers-microprocessors/rl78-low-power-8-16-bit-mcus/rl78g23-new-generation-rl78-general-purpose-microcontrollers-further-refined-low-power-performance-and

    RL78/G23 ユーザーズマニュアル ハードウェア編
    www.renesas.com/jp/ja/document/man/rl78g23-users-manual-hardware
     

  • こんにちは。NoMaYです。

    ボードを買って最初にすることは、多くの場合、Lチカ/Blinkyですが、サンプルプログラムがありませんねwww

  • チョコです。

    RL78/G23のサンプルプログラムはすでにありますよ。

    この下側のが出力電流制御ポートの使い方で、「本アプリケーションノートでは、出力電流制御ポートの使用例を示しています。スイッチが押下される毎にP60とP61の出力電流を変化させ、LEDの輝度を変化させます。」となっています。

    LED1とLED2のドライブにP60とP61を使っているので、このポートはSCLとSDAなので、端子がでているので、オンボードじゃなさそうですが。(オンボードのLEDはP53とP52に接続されています。)

    こちらの方が面白そうですが。

  • チョコさん、こんにちは。NoMaYです。

    すみません、言葉足らずでしたね。RL78/G23のサンプルプログラムは色々とあります(あとSMSサンプルプログラムには力が入っているようです)けれど、RL78/G23 FPBのサンプルが無いのですよ。(特にLチカ/Blinkyが無いことに驚いてしまったのですよ。)

    もちろん自分で簡単に作れますけど(そして今日明日には作って投稿しますけど)、え~~~、イマドキ用意されて無いの~~~、と思ってしまったのです、、、

  • チョコです。

    そうですね、やたらとハードで実行させて、ソフトはほとんど動いてないですね。それが、RL78/G23の特徴なのでしょうが。

    ところで、「RL78/G23 複数スレーブ・アドレス対応I2C (スレーブ)」のアプリケーションノートを眺めていたら、「表 2-1 動作確認条件」の使用ボードに「78/G23 Fast Prototyping Board」と記載されており、「図 3-1 ハードウェア構成」にRTK7RLG230と書いた破線のブロックがあります。さらに、右側のLEDを制御している端子が「D0」~「D5」となっているので、間違いなくRL78/G23 FPBのサンプルですね。

    プロジェクトのプログラムは以下のような構成になっているようです。

    この中で、LEDのダイナミック点灯に関係しているのはTM07だけのようです。 Config_TAU0_7_user.cを眺めてみると、以下の部分がありました。

    使用する端子を定義していて、実際の処理部は以下のようになっていました。

    なんとなく、Arduinoを意識した処理になっています。ここらは、Lチカの参考になりそうです。

    さらに、プロジェクトを眺めていたら、IICA0の制御部がSmart Configuratorで生成したコードになっているのですが、「Config_IIA0_user.c」が面白い構造になっていました。

    「#ifndef USER_MODE」でSmart Configuratorが生成したコードを殺しているようです。ここに書かれていた210行目以降を見ると、以下のように「#ifdef USER_MODE」で始まるブロックになっていました。

    これは、Smart ConfiguratorがRL78/G23で拡張された複数スレーブ アドレスに対応できていないからではないかと思われます。Smart Configuratorが生成したコード部はプログラムにほとんどコメントがないですが、新たに作られた部分は結構コメントが記述されていて、理解の手助けになりそうです。複数スレーブ アドレス対応を少し調べてみようかと思います。

    以上

  • チョコさん、こんにちは。NoMaYです。

    実は、まずLチカ/Blinkyのタイトルのサンプルプログラムを探してみて、無かったのでそれに一番近そうな32bitインターバルタイマのサンプルプログラムを見て、RL78/G23 FPBでは無かった(LEDのポートが違った)ので、もう後は全部違うものかと思い込んでしまいました。(今思えば、さすがに早トチリ、でした。しまった、、、)

    さらに、改めて32bitインターバルタイマのサンプルプログラムを見てみると、基本的にはボードとしては、RL78/G23 FPBを前提にしていました。ただ、LEDを4つ使うデモだったので、全部ボード外のLEDを使うようになっていたようです、、、

    この勘違いは、私の大失態、ですね、、、(いや、でも、素朴にボードだけで出来るLチカ/Blinkyは無かったから、そこまで自分で言うことは無いかな、、、恥ずかしいことには変わりないですけど、、、)

  • チョコです。

    >RL78/G23 FPBでは無かった(LEDのポートが違った)ので

    一応、表 2-1 動作確認条件の使用ボードには「RL78/G23 Fast Prototyping Board」とはあるようですけど、ここにしかないのでしょうがないでしょうね。

    アプリケーションノートは基本的にデバイスに対するものですからね。

  • こんにちは。NoMaYです。

    RL78/G23シミュレータのリリースノートはウェブ上では公開されていましたね。内蔵周辺機能シミュレーションが出来ますね。

    ルネサス検索: r20ut4963
    www.renesas.com/jp/ja/search?keywords=r20ut4963
    RL78/G23用シミュレータ V1.00.00 リリースノート
    Release Note - (154 KB PDF)
    Document -
    Blinkyデモは、CC-RL(CS+/e2 studio)/ICCRL78(EWRL78/e2 studio)/LLVM-RL78(e2 studio)と作ってはありますが、またe2 studioが変な挙動を示してくれていて、気にしちゃいけない、気にしちゃいけない、気にしちゃいけない、と思おうとしましたが、誘惑に負けて、横道にそれて、歯止めがきかなくなり、出来たプログラムを投稿するまで、もう少し掛かりそうです。(その変な挙動そのものは、ささいなこと、だったのですけれども。)

  • こんにちは。NoMaYです。

    そのe2 studioの変な挙動ですけれど、普通にLLVM-RL78のプロジェクトを作ってRL78スマートコンフィグレータで生成したコードを、普通にランチバーからビルドしようとしたり、普通にランチバーからデバッガを起動しようとしたりすると、以下の警告ダイアログが毎回表示されてしまいます。(気にしちゃだめだ、気にしちゃだめだ、気にしちゃだめだ、単にe2 studioの日常風景じゃないか、気にしちゃだめだ、気にしちゃだめだ、気にしちゃだめだ。)

    画面コピー


    しかし、e2 studioだけでなくて、CS+も変ですね。ソースコードを全く変更していないのに、ビルドボタンで毎回ビルドされてしまいますね。理由は、プロジェクトのデフォルトの設定が、インクルードファイルが見付からない時は再コンパイル/再アセンブルする、になっていて、昔からの懸案事項の、条件コンパイルで除外されていても再コンパイル/再アセンブルされてしまう、というものですね。ひょっとして、RXスマートコンフィグレータ(もう少し具体的にはFITのBSPモジュール)が3コンパイラ対応になった時から、こうなってしまっているのではないのでしょうか。(3コンパイラ対応に関わった私としては、しまった!、注意が足りていなかった!、という心境です。) 初学者さんの中には、ビルドとリビルドの違いが分からなくなってしまっている人も、いたりするかもです、、、

  • こんにちは。NoMaYです。

    あのe2 studioの変な挙動ですけれど、.cprojectと*.launchファイルの内容をエディタで直接弄って調べた印象では、デバイスの名前が R5F で始まっているとランチバーでのビルドやデバッガ起動でのデバイス名チェックはデバイスの名前の末尾の何文字かを切って比較しているっぽいですね。今回、デバイスの名前が R7F で始まるようになってその処理が働かなくなったっぽいですね。更にややこしいのは、従来の RL78 のプロジェクトではそもそもデバイスの名前の末尾がカットされて.cprojectに入っていることですね。

    従来のRL78: RL78/G14 → (例) R5F104ML (そもそもデバイス名の末尾がここで切れている)
    従来のRX:   RX72N    → (例) R5F572NNHxFB (R5Fなのでランチバーでのデバイス名チェックで末尾の xFB は切ってチェックされる)

     

    今回のRL78: RL78/G23 → (例) R7F100GLGxFB (R7Fなのでランチバーでのデバイス名チェックで末尾の xFB が込みでチェックされてしまう)


    自分でも身に覚えのあるバグのタイプなのですけれども、誰にも気付かれずにリリースされてしまうとは、、、(何となくe2 studioではテストとか評価とかのフェーズ無しにリリースされているのだろうと思いますが(自分だけでなくそう思っている人は多いのでは)、さすがにこれが誰にも気付かれなかったというのは、、、)

    e² studio 2021-04 バグ一覧
    www2.renesas.eu/_custom/software/ree_eclipse/e2studio8/docs/releasenotes/2021_04/openissues.htm