0

残念ながら、STM32F4 開発ボードの開発に CrossWorks を使用する必要があり、CrossWorks を使用してプロジェクトをビルドおよび実行する場合にのみ発生する問題に直面しています。

LwIP を使用して UDP サーバーを作成していますが、TrueSTUDIO を使用すると問題なく動作しています。ただし、CrossWorks で実行すると、ethernetif_input() にハード フォールトが発生します。これは、パケットの読み取り準備が整ったときに呼び出されます。失敗する特定のポイントは、パケット バッファ間でパケット情報を移動中に memcpy() を呼び出したときです。

何が変わったのかわかりません。まったく同じコードで、同じターゲット向けにビルドされており、CrossWorks では壊れています。誰かがこの問題のどの部分についても洞察を持っていることを願っています...これに関して何か考えがあれば、それは素晴らしいことです.

ありがとうございます。詳細が必要な場合はお知らせください。

4

1 に答える 1

0

CrossWorks がヒープとスタックのサイズを自動的に小さく設定していることがわかりました。デフォルトは 128 バイトで、プログラムがそれをオーバーランしたため、ハード フォールトが発生しました。私はそれをぶつけました、そして私たちは皆元気です。

于 2012-11-12T03:09:58.500 に答える