RL78/G23でRAMに保存したA/D変換値をCOM Port経由でPCに転送しcsvで保存したいです。

初めまして。Hibaと申します。
初めてのマイコンでRL78/G23-64p Fast Prototyping Boardを使用しています。
以下のサンプルコードを改変して、RAMに保存したA/D変換値をCOM Port経由でPCに転送しcsvで保存したく試用中です。

 サンプルコードをハードウエアデバッグすることは完了しましたが、A/D変換値を確認することができず詰まっております。
質問としましては、以下2点でございます。

①e2 studio上でRAMにに保存したA/D変換値を読む方法をご教示願いたいです?
②RAMに保存したA/D変換値をCOM Port経由でPCに転送することは可能でしょうか?

【環境】
・e2 studio(Windows11)
・ツールチェーンRenesas CCRL v1.11.00
・RL78/G23-64p Fast Prototyping Board

以上、よろしくお願いいたします。

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

    > ①e2 studio上でRAMに保存したA/D変換値を読む方法をご教示願いたいです?

    質問された意図とは違った答えになっているかも知れませんけれども、アプリケーションノートの配列変数なら以下の何れかで確認出来ますよ。

    (1) 式ウィンドウ
    (2) メモリブラウザウィンドウ
    (3) (ちょっと不便ですけれども)メモリウィンドウ

    > ②RAMに保存したA/D変換値をCOM Port経由でPCに転送することは可能でしょうか?

    可能ですよ。RL78/G23-64p Fast Prototyping Board上のUART⇔USB変換IC経由でPCのTeraTerm等に出力出来ます。そのボードに関して、e2 studioで使う場合の小技等も含めて、以下のスレッドに私が試した(それなりに長大な)記録があります。また、以下のサンプルプログラムではLLVM-RL78というフリーコンパイラ+FreeRTOSを使用していますけれども、e2 studioで使う場合の小技等に関しては、CC-RLでも大差無かった筈だったと記憶しています。

    RL78/G23 Fast Prototyping Boardを買いました
    community-ja.renesas.com/cafe_rene/forums-groups/mcu-mpu/rl78/f/forum18/7087/rl78-g23-fast-prototyping-board/39350#39350

    RL78 Fast Prototyping Board+LLVMRL78+Cplusplus sample program
    community-ja.renesas.com/cafe_rene/forums-groups/beginners/f/002-2095199602/7430/rl78-fast-prototyping-board-llvmrl78-cplusplus-sample-program
     

  • NoMaYさん、こんにちは。Hibaです。

    1点追加でご相談です。
    (1)式ウインドウを試してみたのですが、配列変数がうまく表示されていないようです。
    対処法をご教示いただくことは可能でしょうか?お忙しいところ大変恐縮です。

    > ①e2 studio上でRAMに保存したA/D変換値を読む方法をご教示願いたいです?

    質問された意図とは違った答えになっているかも知れませんけれども、アプリケーションノートの配列変数なら以下の何れかで確認出来ますよ。

    (1) 式ウィンドウ
    (2) メモリブラウザウィンドウ
    (3) (ちょっと不便ですけれども)メモリウィンドウ

    【使用サンプルコード】

    以下のコードをe2 studio上でハードウエアデバッグした。

    【検討したこと】

    ①ANI2に0Vを入力すると、&g_result_buffer[0]=28と表示

    ②ANI2に1Vを入力しても、&g_result_buffer[0]=28のまま。

    ③"Eneble Real-time Refresh"をクリックしても上記①②の症状は変わらず。

  • Hibaさん、こんにちは。NoMaYです。

    画面コピーを見て、まず気になったことですけれども、プログラムがリセット番地で止まっている、のですが、A/D変換(に限らずマイコンの大抵の機能というの)はマイコンのプログラムを動かしていないと機能しないですよ。

    マイコンのプログラムを止めていてもデバッガで確認できるものは、ポート入力とかポート出力とか程度です。

    ですので、頂いている画面コピーからですと、そもそも何も変わらないですよ、というリプライになってしまうのですけれども、何か他に提示されていない情報がありますでしょうか?

    まずは、そこを確認したいです。(そして、そこが確認出来たら/分かって貰えたら、普通は皆さんどうしているのか、ということへ進みたいです。)

    [メモ]

    すみません、自分用のメモです。置かせて下さい。

    ・ CS+であればリアルタイムメモリ表示機能(プログラム実行を数十クロック程ちまちま止めながらメモリとかレジスタとか表示させる機能)を安心して使えるのだけれども、e2 studioではその辺りどうなっているのか?(e2 studioのプログラマさん達は、Javaでプログラムが書けます、Eclipseのプラグインが書けます、といった条件で採用された人達だと思っているので、組み込みプログラムを実行中に数百ms止めることがNGなどということを全く理解していないと思っているので、今までは、さすがに恐ろしくてe2 studioで実機の場合に試したことが無い。)

    ・ ただし、RL78/G23のFPBの場合、FT232でデバッグ機能を制御しているので、E1やE2Liteで動くと思っていたことが必ずしも同じように動く筈だと思って良いとは限らない。(少なくともCS+であるとしても)リアルタイムメモリ表示機能は、その辺りどうなっているのか?

    シリアルポートを使用したRL78デバッグ機能 アプリケーションノート Rev.2.10
    www.renesas.com/jp/ja/document/apn/rl78-debugging-functions-using-serial-port-application-note

    3.8.3. 疑似RRM/疑似DMM機能について
    疑似RRM/疑似DMM機能を使用する場合、以下の点に注意してください。
    ・ モニタリング時にスタンバイモード(HALT,STOP)が解除されることがあります。
    ・ CPU動作クロックが停止している場合、疑似RRM/疑似DMM機能が動作しません。
    ・ モニタリングの対象数が多い場合、デバッガの応答性が遅くなります。
    ・ メモリ・パネルを使用せずに、ウォッチ・パネルを使用してモニタリングすることでデバッガ応答性への影響が少なくなります。
    ・ サブクロックで動作している場合は、疑似RRM/疑似DMM機能が動作しません。
    ・ RAMガード有効時でも疑似DMMでは書き換えが可能です。


    (少なくともCS+であるとしても)オシロで確認しつつ試してみないと分からないかも、、、(オシロが、、、)

    [追記]

    すみません、自分用のメモです。置かせて下さい。

    ・ そうでも無いかな、、、さすがに、この文面ならば、そこまで想定外の振る舞いの差異は無いかな、、、

Reply
  • Hibaさん、こんにちは。NoMaYです。

    画面コピーを見て、まず気になったことですけれども、プログラムがリセット番地で止まっている、のですが、A/D変換(に限らずマイコンの大抵の機能というの)はマイコンのプログラムを動かしていないと機能しないですよ。

    マイコンのプログラムを止めていてもデバッガで確認できるものは、ポート入力とかポート出力とか程度です。

    ですので、頂いている画面コピーからですと、そもそも何も変わらないですよ、というリプライになってしまうのですけれども、何か他に提示されていない情報がありますでしょうか?

    まずは、そこを確認したいです。(そして、そこが確認出来たら/分かって貰えたら、普通は皆さんどうしているのか、ということへ進みたいです。)

    [メモ]

    すみません、自分用のメモです。置かせて下さい。

    ・ CS+であればリアルタイムメモリ表示機能(プログラム実行を数十クロック程ちまちま止めながらメモリとかレジスタとか表示させる機能)を安心して使えるのだけれども、e2 studioではその辺りどうなっているのか?(e2 studioのプログラマさん達は、Javaでプログラムが書けます、Eclipseのプラグインが書けます、といった条件で採用された人達だと思っているので、組み込みプログラムを実行中に数百ms止めることがNGなどということを全く理解していないと思っているので、今までは、さすがに恐ろしくてe2 studioで実機の場合に試したことが無い。)

    ・ ただし、RL78/G23のFPBの場合、FT232でデバッグ機能を制御しているので、E1やE2Liteで動くと思っていたことが必ずしも同じように動く筈だと思って良いとは限らない。(少なくともCS+であるとしても)リアルタイムメモリ表示機能は、その辺りどうなっているのか?

    シリアルポートを使用したRL78デバッグ機能 アプリケーションノート Rev.2.10
    www.renesas.com/jp/ja/document/apn/rl78-debugging-functions-using-serial-port-application-note

    3.8.3. 疑似RRM/疑似DMM機能について
    疑似RRM/疑似DMM機能を使用する場合、以下の点に注意してください。
    ・ モニタリング時にスタンバイモード(HALT,STOP)が解除されることがあります。
    ・ CPU動作クロックが停止している場合、疑似RRM/疑似DMM機能が動作しません。
    ・ モニタリングの対象数が多い場合、デバッガの応答性が遅くなります。
    ・ メモリ・パネルを使用せずに、ウォッチ・パネルを使用してモニタリングすることでデバッガ応答性への影響が少なくなります。
    ・ サブクロックで動作している場合は、疑似RRM/疑似DMM機能が動作しません。
    ・ RAMガード有効時でも疑似DMMでは書き換えが可能です。


    (少なくともCS+であるとしても)オシロで確認しつつ試してみないと分からないかも、、、(オシロが、、、)

    [追記]

    すみません、自分用のメモです。置かせて下さい。

    ・ そうでも無いかな、、、さすがに、この文面ならば、そこまで想定外の振る舞いの差異は無いかな、、、

Children
  • NoMaYさん、こんにちは。Hibaです。ご返信ありがとうございます。

    画面コピーを見て、まず気になったことですけれども、プログラムがリセット番地で止まっている、のですが、A/D変換(に限らずマイコンの大抵の機能というの)はマイコンのプログラムを動かしていないと機能しないですよ。

    マイコンのプログラムを止めていてもデバッガで確認できるものは、ポート入力とかポート出力とか程度です。

    ですので、頂いている画面コピーからですと、そもそも何も変わらないですよ、というリプライになってしまうのですけれども、何か他に提示されていない情報がありますでしょうか?

    まずは、そこを確認したいです。(そして、そこが確認出来たら/分かって貰えたら、普通は皆さんどうしているのか、ということへ進みたいです。)

    基本的なことが理解できておらず、お手間をおかけして申し訳ないです。
    他に提示できる情報はありません。
    デバッグモードにしてもプログラムが自動で動くわけではない、ということを今回理解しました。
    「プログラムがリセット番地で止まっている」ことの確認を含めましてご教示いただけますと幸いです。

    以上、お忙しいところ恐縮ですがよろしくお願いいたします。

  • Hibaさん、こんにちは。NoMaYです。

    ひょっとして「デバッガ」というものを使用するのは初めてですか?

    [追記]

    もしそうなら、今の若い人でしたら、以下のウェブページにあるビデオを何本か見るのが良いかも知れません。

    RL78 Family Software & Tool Course
    www.renesas.com/jp/ja/software-tool/rl78-software-tool-course

    このコースでは、RL78ファミリを利用した開発を始める方のために、ルネサス開発環境の基本機能やソリューション開発支援機能をわかりやすいビデオでご紹介しています。お客様のスムーズな開発のスタートにぜひご活用ください。


  • NoMaYさん、こんにちは。Hibaです。
    ご返信ありがとうございます。

    「デバッガ」を触るのはArduino IDEを触っていたときに少し…という程度でほぼ初めてでございます。
    ご紹介いただきました動画を参考に、ADC値をリアルタイムで表示することに成功しました!
    (チュートリアルを見落としておりました。すみません。)
    他にも参考になりそうな動画がありましたので、こちらも視聴しながら開発を進めたいと思います。