Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page

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では関数ポインタで関数呼び出ししているとエラーになる


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

 

  • NoMaY さん
    ほや です。こんにちは。

    既知の問題として挙がっていますね。
    IDE-28579
    : Stack Analysis doesn't work in the case of function pointers
    https://www2.renesas.eu/_custom/software/ree_eclipse/e2studio7/docs/releasenotes/7.5.0/openissues.htm

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

    情報有難う御座います。このページをブラウザのお気に入りメニューに登録しないといけないですね、、、

    バグ内容

    [GCCRX, GCCRL, GNU ARM Embedded] In a project that has function pointers, the Stack Analysis view cannot work correctly and not display information.


    [GCCRX, GCCRL, GNU ARM Embedded] (私の訳です)関数ポインタの使われているプロジェクトではスタック解析ビューは正しく動作せず情報を表示しません。


    回避策

    Add options to display stack information as warning message in Stack Analysis view to the specified files (except file has function pointers) which you want to see the stack size and rebuild, stack size information for functions in these files can display in Stack Analysis view.


    (意訳すると)関数ポインタの使われているソースを見つけてスタック情報を生成させないようにファイル単位でスタック情報生成オプションを外して下さい(付加しないようにして下さい)。
    (原文は、スタック情報を見たいファイル(ただし関数ポインタの使われていないソースであること)にだけスタック情報生成オプションを付加して下さい、かな。)


    思うに、原文の方法では甚だ、私の意訳の方法でもやっぱり、必要スタックサイズを見積もりたいのだけれど、というニーズには厳しいかな、という気がしました。

  • こんにちは。NoMaYです。

    e2 studio v7.6.0がリリースされましたが、バグリストを見ると、修正されたようでした。(ちなみに、さっそくこのページもブラウザのお気に入りメニュー/ブックマークメニューに登録しました。)

    e²studio 7.6 Known Issues List
    List generated on 02/10/2019 17:40:14
    www2.renesas.eu/_custom/software/ree_eclipse/e2studio7/docs/releasenotes/7.6.0/openissues.htm

    IDE-28579

    Stack Analysis doesn't work in the case of function pointers

    Stack Analysis View

    [GCCRX, GCCRL, GNU ARM Embedded] In a project that has function pointers, the Stack Analysis view cannot work correctly and not display information. [Workaround] Add options to display stack information as warning message in Stack Analysis view to the specified files (except file has function pointers) which you want to see the stack size and rebuild, stack size information for functions in these files can display in Stack Analysis view. This issue is fixed by e2 studio 7.6.


    [思い付き]

    このページですが、e2 studioのヘルプメニューから開けるようになっていたら便利かも、、、

    [追記]

    オイオイwww


    IDE-29941

    e2 GDB Server stopped working when setting Eventpoints

    GDB server RX

    When you terminate a debug session after running it for a long time (more than 45 minutes), GDB server sometimes crash.


  • こんにちは。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でスタック解析ビューにスタック情報を表示させた時はスタック使用量がもっと多かったのだが、、、

Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page