こんにちは。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つのことが出来るみたいです。(きっと、これらは排他使用かな、と思います。)
チョコです。
やっと、ボードを入手して、環境を構築しました。
コード生成に慣れていたので、SCは慣れるまで少しかかりそうです。
SCでは、コード生成ではできなかった割り込みで使用するレジスタバンクを設定できるようです。
最低限のプログラムでLチカを作ってみました。
タイマを2本使って、250msと500msのインターバル・タイマを設定し、そこでLEDを反転させるだけです。
main関数も初期化後は…
NoMaYさん
シェルティです、こんにちは。
情報展開ありがとうございます。
今回ArduinoライブラリのRL78/G23-64p Fast Prototyping Board向けの移植を担当しました。
クイックスタートガイドではLEDチカチカまでですが、ArduinoライブラリとしてはIICやUARTなど頻出の機能をひととおりサポートしています。ペリフェラル制御やBSPはスマートコンフィグレータで生成しています…
こんにちは。NoMaYです。RL78スマートコンフィグレータのBSPモジュールはV1.00が日付違いで2種類ある?iodefine.hも内容が違う、、、日付が25.11.2020のもの(改行はUNIX形式)
* Copyright (C) 2020 Renesas Electronics Corporation. All rights reserved.***********************************************************************************************************************//************************************************************************************************************************ File Name : r_bsp.h* H/W Platform : GENERIC_RL78_G23* Description : ***********************************************************************************************************************//************************************************************************************************************************ History : DD.MM.YYYY Version Description* : 25.11.2020 1.00 First Release
* Copyright (C) 2020 Renesas Electronics Corporation. All rights reserved.***********************************************************************************************************************//************************************************************************************************************************ File Name : iodefine.h* Description : ***********************************************************************************************************************//************************************************************************************************************************ History : DD.MM.YYYY Version Description* : 25.11.2020 1.00 First Release
日付が08.03.2021のもの(改行はWin形式)
* Copyright (C) 2021 Renesas Electronics Corporation. All rights reserved.***********************************************************************************************************************//************************************************************************************************************************ File Name : r_bsp.h* H/W Platform : GENERIC_RL78_G23* Description : ***********************************************************************************************************************//************************************************************************************************************************ History : DD.MM.YYYY Version Description* : 08.03.2021 1.00 First Release
* Copyright (C) 2021 Renesas Electronics Corporation. All rights reserved.***********************************************************************************************************************//************************************************************************************************************************ File Name : iodefine.h* Description : ***********************************************************************************************************************//************************************************************************************************************************ History : DD.MM.YYYY Version Description* : 08.03.2021 1.00 First Release
[追記]画面コピー
こんにちは。NoMaYです。e2 studioの次期バージョンは2021年8月以降の予定だそうですので、あのe2 studioのLLVM-RL78でのランチバーの変な挙動をどうしたものかなぁ、と、、、(あんなのe2 studioの日常風景、気にしたら負け、と思いつつも、、、)以下は内容に関しては全然別の内容の話題です。(たまたま時期が記載されていたので。)【注意事項】オンチップデバッギングエミュレータ E2エミュレータ、E2エミュレータLite (RA接続時)www.renesas.com/jp/ja/document/tnn/notes-chip-debugging-emulators-e2-emulator-e2-emulator-lite-when-connected-ra「1.4 恒久対策e2 studioの次期バージョンで改修予定です。(2021年8月以降を予定)」
こんにちは。NoMaYです。> RL78スマートコンフィグレータのBSPモジュールはV1.00が日付違いで2種類ある?iodefine.hも内容が違う、、、ひと晩が過ぎて、状況を把握出来るようになりました。古い日付のものは、ウェブからダウンロードしたRL78/G23のサンプルプログラム「RL78/G23 複数スレーブ・アドレス対応I2C (スレーブ)」に含まれていたものでした。これを土台にしてCC-RL版のBlinkyを作り始めたのですが、LLVM-RL78の件で横道にそれているうちに完全に忘れてました。
こんにちは。NoMaYです。もうRL78/G23はE1ではサポートされていなかったのですね、、、以下、CS+の画面コピー
こんにちは。NoMaYです。RL78/G23 FPBのBlinkyの動作はRX-TBの公式サンプルプログラムと同じにしました。CS+のRL78シミュレータで以下のGUI画面を作成してボード無しでもCS+で試せるようにするつもりです(なお今回はCS+&CC-RLのみのつもりです)。以下、CS+の画面コピー
こんにちは。NoMaYです。ICCRL78(IARコンパイラ)に関してですが、無償評価版として公開されているEWRL78 V4.20.1では、まだRL78/G23には対応していないですね。ルネサスさんがウェブ公開しているRL78/G23のアプリケーションノートにEWRL78 V4.20.1で動作確認したというサンプルプログラムが含まれていますが、おそらくIARさんからデバイス依存情報定義ファイルを提供してもらってのことではないかと私は思うのです。なので(デバイス依存情報定義ファイルが無いので)、ちょっとだけ通常と違うプロジェクトの作り方をして、EWRL78 V4.20.1(およびe2 studio 2021-04)でビルド出来るようにしています。(まだ投稿していませんが。)あと、EWRL78 V4.20.1ですが、まだRL78/G23 FPBのUSB−シリアル変換チップ(FT232RQ)によるオンボードエミュレータ回路には対応していないですね。なので、ルネサスさんがウェブ公開しているRL78/G23のアプリケーションノートのサンプルプログラムでも、動作確認したボードはRL78/G23 FPBということになっていますが、EWRL78のプロジェクトファイルの設定を覗くとE2Liteエミュレータになっていますね。(外付けしたE2Liteエミュレータということですね。) また、その場合でも(E2Liteエミュレータでも)、デバイス依存情報定義ファイルが無いとデバッガが起動しません。ですので、EWRL78 V4.20.1に関しては、ビルド出来るようにするところまでしか出来ませんでした。他方、e2 studio 2021-04ではデバッグ出来るようにしています。(まだ投稿していませんが。)
こんにちは。NoMaYです。> もうRL78/G23はE1ではサポートされていなかったのですね、、、そういえばフル機能ICEのIECUBEも無くなってしまってますね、、、今後は全製品にトレース機能が付くのかな、、、(USB−シリアル変換チップ(FT232RQ)によるオンボードエミュレータ回路の場合でもトレース機能は使えますね、、、)以下、CS+の画面コピー(再掲載)
こんにちは。NoMaYです。コンパイル時のワーニング設定は、今回は以下で投稿するつもりです。コード生成されたソース中でのワーニングをどう取るかは後で考えることにします。(なお、プロジェクトの赤バッテンマークは気にしないで下さい。エラーが出てないのに表示されるようになってしまっていて、きっとワークスペースを作り直せば消える、と思っているので放置しています。気にしない、気にしない、気にしない、e2 studioを使う場合の極意ですね、、、)●LLVM-RL78の場合画面コピー●ICCRL78の場合ワーニング設定で抑止しているワーニングは以下のようなものです。
Remark[Pa091]: operator operates on value promoted to int (with possibly unexpected result)Remark[Pe177]: function XXXX was declared but never referenced
前者は以下のようなコードで発生します。
LED2 = ~LED2;
なお、LED2は以下のように定義しています。
#define LED2 (P5_bit.no2)
画面コピー●CC-RLの場合画面コピーなお、リンク時のワーニング設定は、かふぇルネにも以前に投稿されていた、CC-RL V1.10で変なワーニングが出るケースがある、ということへの予防措置として以下を設定してあります。(そのワーニングを抑止しようとしたら、副作用で別のワーニングが出るようになり、一緒に抑止しようとして抑止対象が増えてしまってこうなりました。)画面コピー
こんにちは。NoMaYです。LLVM-RL78が生成したコードを見ていて、効率が悪そうだなぁ、と感じたのでGNURL78でもビルドしてみました。RL78スマートコンフィグレータはGNURL78をサポートしていないのですが、生成されたコード(BSPモジュールのソース)を書き換えて、ビルド出来るようにしました。(そのソースも投稿するつもりです。) 案の定、GNURL78の方がサイズが小さかったです。(なお、余談ですが、USB−シリアル変換チップ(FT232RQ)によるオンボードエミュレータ回路によるデバッグは、わりとレスポンスが悪いです。)●LLVM-RL78の場合画面コピー●GNURL78の場合画面コピー●CC-RLの場合(集計対象がLLVM-RL78やGNURL78と若干異なりますので厳密な比較にはなりませんが、、、)画面コピー
RXに続いてRL78のソフト周り(BSP含め)全般見てます。シェルティはRAへはセキュリティ実装やネットワーク実装にフォーカスしたゲスト参加な体です。
RL78/G23やLLVM、ツール類に関するフィードバックありがとうございます。頂いた内容を精査し製品仕様に反映していきます。また色々相談させていただけますと幸いです。気付いた点は引き続きここに書いていただければこれもまた幸いです。
以上です