e2 studio v7.5.0のStack Analysis ViewはGNURXでは1箇所でも関数ポインタで関数呼び出しするとERRORになって使えませんね

こんにちは。NoMaYです。

e2 studio 7.5.0+RXスマートコンフィグレータplugin 7.5.0+GNURX 2019q2(4.8.4.201902)で作業していてスタック解析ビューの致命的な(だと私は思う)制限事項に気付きました。1箇所でも関数ポインタで関数呼び出しする箇所があると、以下の画面コピーの通り(原因が大変分かり難い)エラーになってしまうのですが、そもそもR_BSPモジュールにそういう箇所が存在していますので、実務的には全く使えない、ということになりますね。(ちなみに、FreeRTOS Kernelのソースにもそういう箇所が存在していますし、FITの各モジュールでのコールバック関数の呼び出しも関数ポインタを使用した関数呼び出しですね。)

現象再現プロジェクトのファイル一式
issue_20191007.zip    162KB

e2 studioのスタック解析ビューはGNURXでは関数ポインタで関数呼び出ししているとエラーになる


素朴に関数呼び出ししているのであればスタック解析ビューにスタック情報が表示される

 

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

    この不具合が修正されたというe2 studio v7.6.0を実際に動かしてみると、確かにGNURXでもスタック解析ビューにスタック情報が表示されるようになりました。ただ、以前に作成したCC-RX版FreeRTOSプロジェクトと現在手元で作成中のGNURX版FreeRTOSプロジェクトを較べると、違和感を感じるほどにスタックサイズが小さいです。もちろん、1つの理由としてすぐに思い浮かぶのが、今回、試しにnewlib-nanoのpre-buildを使ってビルドしたのですが、このライブラリの分は計上されていないと思います。もう1つは、予感として、引数や戻り番地の分が計上されていないかも知れない、という気がします。後日、調べてみようと思います。

    以下、画面コピーです。

    e2 studio v7.6.0でGNURXでもスタック解析ビューにスタック情報が表示されるようになった


    以前にCC-RXでスタック解析ビューにスタック情報を表示させた時はスタック使用量がもっと多かったのだが、、、

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

    この不具合が修正されたというe2 studio v7.6.0を実際に動かしてみると、確かにGNURXでもスタック解析ビューにスタック情報が表示されるようになりました。ただ、以前に作成したCC-RX版FreeRTOSプロジェクトと現在手元で作成中のGNURX版FreeRTOSプロジェクトを較べると、違和感を感じるほどにスタックサイズが小さいです。もちろん、1つの理由としてすぐに思い浮かぶのが、今回、試しにnewlib-nanoのpre-buildを使ってビルドしたのですが、このライブラリの分は計上されていないと思います。もう1つは、予感として、引数や戻り番地の分が計上されていないかも知れない、という気がします。後日、調べてみようと思います。

    以下、画面コピーです。

    e2 studio v7.6.0でGNURXでもスタック解析ビューにスタック情報が表示されるようになった


    以前にCC-RXでスタック解析ビューにスタック情報を表示させた時はスタック使用量がもっと多かったのだが、、、

Children
No Data