50uSec毎に更新される変数の値すべてを確認したい

RL78を使い始めて半年ほどたった初心者です。

CS+の基本的な使い方がやっとわかってきたところです。

 

1点質問させてください。

現在、約50マイクロ秒毎にループさせて変数を更新させているのですが、この変数が更新されていく値をすべて見たいです。

見たい時間は0.5秒くらいで、CSV等のテキストファイル形式で値を確認したいです。

現在はこの変数をウォッチ機能や解析グラフで見ることはできており、ファイル保存もできているのですが、最速でも100mSecの間隔でしか見れないので、間が抜けてしまっている状態です。

マイクロ秒単位で更新される変数をすべて確認する設定、方法、アイディア等ありますでしょうか?

 

使用環境は以下です。

マイコン:RL78 F13/F14

デバックツール:E1エミュレータ

統合環境:CS+for CA,CX (無料版)

 

 

 

  • fujiさん>マイクロ秒単位で更新される変数をすべて確認する設定、方法、アイディア等ということでシリアルで外部に出力させるなんかどうでしょうか?DMACを使用してやればデータ更新毎に自動で転送されるので50マイクロ秒等は十分送信可能だと思います。
  • > 約50マイクロ秒毎にループさせて変数を更新させているのですが、この変数が更新されていく値をすべて見たいです。
    > 見たい時間は0.5秒くらい

    要素数10000個の配列を用意して順に格納し、あとからメモリダンプでも何でもで確認されれば良いのでは。
  • fujiさん、こんにちは。NoMaYと申します。

    これまでの皆様のアドバイスでやれそうでしょうか?

  • Fujiさん
    リアルタイムでなくてもよいなら、その変数にアクセスブレークを設定すれば、変数が変更されるたびにブレークがかかります。
    これを1万回くりかえせば、すべての変化点を確認できますよ~。

    自動でみたいなら、アクションイベントのPrintfイベントを設定すれば出力パネルに表示できるので、それでもいいかもしれませんね。

    リアルタイムならIKUZOさんFujitaさん方法でRAMに格納するのがよさそうですね♪

  • IKUZO様
    ご回答ありがとうございます。
    DMACを使用するには何かインストールするのでしょうか?
    私のCS+(CA,CX)のコード生成のことろにはDMAコントローラのような項目がないのですが・・・
  • fujita nozomu様
    ご回答ありがとうございます。
    なるほど、これであれば、漏れがなく変数の変化を見れますね!
    配列を用意して、ループがくる毎に変数を順番に配列に入れていく方法で試したところ、漏れなく変数が見れました!とりあえず、いま確認したかったことは解決しました。

    この処理用のコードを追記しなければならないので、将来的にはDMACを使いこなしたいと考えております。
  • Kirin様
    ご回答ありがとうございます。
    アクセスブレークの機能を試しました。すごく便利に使える機能ですね!
    今の私の環境ではずばりの手法ではないですが、 教えていただきありがとうございます。必ず使います!

    アクションイベントのPrintfイベントも試しましたが、意味が理解できていないです。
    まず、「アクションイベントの登録」後のアクションイベントのパネル内にある、「アドレス」は何を入れればよいでしょうか?
    今回、適当な数字を入れてみまたところ、イベントパネルに「Printfイベント0001」と表示されましたが、なにができているのかさっぱりわかりません。便利な機能の予感がするのですが・・・
  • Fujiさんこんばんわ
    アクションイベントのアドレスは、変数のアドレスですね。
    詳しくはCS+のヘルプに書いてあります。とおもいきやヘルプがバグってますね~。変数アドレスが正解です♪
  • Kirin様
    ご回答ありがとうございます。
    変数のアドレスを設定して、動作を試してみます。アクションイベントも便利そうなので習得したいと思います。