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です。どうすれば設定できますか?
まず最初に、コンパイラ、アセンブラ、リンカのように、ARM用にコンパイルされます。しかし、あなたが持っているものを具体的に教えない限り、それを超えている可能性があります。古い武器ではCPUIDがありません。新しい武器では検出できません。あなたのコマンドラインは何ですか、アーキテクチャを指定するオプションがありましたか? –
私はそのように言うことを知っていると思います。 –
またはそれをもう一つ別の方法で言う。ツールチェインのように、人間は知っているが、ツールはそうではないかもしれないので、人間はツールを指示する。 –