2017-04-12 9 views
0

Texas Instruments Hercules(Cortex-R4F)プロセッサでgdb(arm-none-eabi)を使用しています。私はGDBにGDBはARMアーキテクチャをどのように決定するのですか

target remote ip:port 

を実行した後、リモートGDBサーバー

としてテキサス・インスツルメントのXDSエージェントを使用している、GDBはXDS GDBSERVERで接続します。私はそれは私にCPUのレジスタを示し、レジスタ

info all-registers 

を印刷することができますが、私を導くもF7とFPAレジスタは、CPUが浮動小数点コプロセッサ(FPA)を持っていると結論します。しかし、そうではありません。プロセッサにはvfpv3があります。したがって、GDBは誤ったレジスタ定義を使用しているため、問題が発生します。

私は

set debug remote 1 

を設定することにより、XDS GDBサーバーから送信されたパケット内の情報を見つけることを試みたが、すべての情報を見つけることができませんでした。 GDBは使用するレジスタ定義をどのように決定するのですか?

アップデート: 私はセットアーキテクチャのコマンドが見つかりました:

set architecture 

>Requires an argument. Valid arguments are arm, armv2, armv2a, armv3, armv3m, armv4, armv4t, armv5, armv5t, armv5te, xscale, ep9312, iwmmxt, iwmmxt2, arm_any, auto. 

のCortex-R4FはVFPv3のとのARMv7です。どうすれば設定できますか?

+0

まず最初に、コンパイラ、アセンブラ、リンカのように、ARM用にコンパイルされます。しかし、あなたが持っているものを具体的に教えない限り、それを超えている可能性があります。古い武器ではCPUIDがありません。新しい武器では検出できません。あなたのコマンドラインは何ですか、アーキテクチャを指定するオプションがありましたか? –

+0

私はそのように言うことを知っていると思います。 –

+0

またはそれをもう一つ別の方法で言う。ツールチェインのように、人間は知っているが、ツールはそうではないかもしれないので、人間はツールを指示する。 –

答えて

1

TIのXDSエージェントはGDBServerとして動作しています。

しかし、それは、そのようなqXferとしてパケットに応答しない:機能:読み...私は手動で適用最後にターゲット

の情報を取得する:これは正しい機能を設定します

set tdesc filename /gdb/binutils-gdb/gdb/features/arm/arm-with-vfpv3.xml 

Corter-R4fでは、私にブレークポイントやコール関数などを設定させることができます。

ああ、私たちは今、他の問題を発見しています。 TIのXDS GDBserverエージェントはあまり安定していないようです。

関連する問題