FIT R_SCI_RXモジュールでprintfをfrom inside interrupt routine内から行えるかどうか考えてみるスレッド

こんにちは。NoMaYです。

最近、以下のスレッドに関わったのですが、そういえばFITのR_SCI_RXモジュールでは送信リングバッファを使えますので、仕組み上は、割り込みルーチン内からでもprintfを使うことが出来ても良さそうな気がします。ということで、いつものように、ちょっと好奇心からスレッドを立ててみました。いつものように、ぼちぼちと続きます。

Config_ICUでのIRQの設定について
community-ja.renesas.com/cafe_rene/forums-groups/beginners/f/002-2095199602/9604/config_icu-irq

本当は、割り込みルーチン内からデバッグコンソールへ出力する方法を考えたいところですけれども、以下の理由で今回は保留です。

(1) 割り込み駆動方式でデバッグコンソールへ文字書き込みする方法が無い(少なくとも公開されている情報では出来ない)
(2) ポーリング方式でデバッグコンソールへ文字書き込みする方法では割り込みルーチン内で使うには性能上の懸念がある

[追記]

こんなことを考えたのも、以前に別スレッドにURLを書いた個人事業主?さんが、こういう記事を執筆されていましたのを、たまたま見掛けたからかも知れません。

RAファミリprintfデバッグ3方法
2022年10月7日 WithHappy
happytech.jp/wordpress/2022/10/07/ra-family-printf-debug-3-method/
 

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

    脱線ついでのその6ですけれども、e2 studioでトレースデータの時間表示のモードを差分表示から積算表示にしてみたところ、期待値と異なる値が表示されている箇所はトレース機能の時間カウンタがラップアラウンドする箇所っぽいです。どうも時間カウンタは20ビット幅ではないかと推測されるのですが、そうだと仮定して手元で手計算してみると、以下の通り、期待値と同じ値が得られました。私はe2 studioの計算ミス不具合のような気がします。

    正しい?(と推測される)手計算の結果 (時間カウンタは20ビット幅だと推測される(最大値は(2^20-1)=(1048576-1)))

    上側の赤枠箇所: (1048576 +  81478) - 1010053 = 120001
    下側の赤枠箇所: (1048576 + 113523) - 1042098 = 120001

    e2 studionoが表示している計算結果

    上側の赤枠箇所: 計算式不明(推測不能) = 1059334 (前の投稿の画面コピーを参照して下さい)
    下側の赤枠箇所: 計算式不明(推測不能) = 1059634 (前の投稿の画面コピーを参照して下さい)

    以下、e2 studioの画面コピーです。


     

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

    脱線ついでのその6ですけれども、e2 studioでトレースデータの時間表示のモードを差分表示から積算表示にしてみたところ、期待値と異なる値が表示されている箇所はトレース機能の時間カウンタがラップアラウンドする箇所っぽいです。どうも時間カウンタは20ビット幅ではないかと推測されるのですが、そうだと仮定して手元で手計算してみると、以下の通り、期待値と同じ値が得られました。私はe2 studioの計算ミス不具合のような気がします。

    正しい?(と推測される)手計算の結果 (時間カウンタは20ビット幅だと推測される(最大値は(2^20-1)=(1048576-1)))

    上側の赤枠箇所: (1048576 +  81478) - 1010053 = 120001
    下側の赤枠箇所: (1048576 + 113523) - 1042098 = 120001

    e2 studionoが表示している計算結果

    上側の赤枠箇所: 計算式不明(推測不能) = 1059334 (前の投稿の画面コピーを参照して下さい)
    下側の赤枠箇所: 計算式不明(推測不能) = 1059634 (前の投稿の画面コピーを参照して下さい)

    以下、e2 studioの画面コピーです。


     

Children
No Data