1

私がコンパイルしたGCC(v4.7.2)、BinUtils(v2.22)、Newlib(v1.20)、およびGDB(v7.5)を使用して、いくつかのCortex-M4(Freescale K60)デバイスを使用してきました。私は、GDB がハード例外から解放できないことにいつも悩まされてきました。

最近、FreeScale の CodeWarrior を使用する機会がありました。ここで、バイナリをデバッグ用にロードし (ツールでコンパイル)、例外を巻き戻すことができました。CodeWarrior は内部で GDB v7.4.1 を実行しているようです。GDB 用に見逃したパッチ、または設定オプションはありますか?

GDB のビルドに使用されるスクリプトは次のとおりです。 TOOLCHAIN=gdb-7.5 mkdir -p BUILD/gdb cd BUILD/gdb ../../${TOOLCHAIN}/configure --prefix=${PREFIX} --target=${ TARGET} --enable-interwork --enable-multilib --with-expat=yes --with-python --without-auto-load-safe-path 2>&1 | ティーconfigure.out make all install cd ../../

ありがとう!

4

1 に答える 1

1

GDB は、正しいFeatureを持つTarget Description XML を使用して、ターゲットが実際には Cortex M プロファイルであることを伝えると、Cortex M プロファイル例外のアンワインドを実行できます。

これはコマンドを介して実行できますset target tdesc <filename>が、新しい gdb サーバー (OpenOCD など) では既に実行されているはずです。

于 2015-02-19T20:29:52.720 に答える