私はLinux上で実行されているすべてのタスクを解析するプログラムを作成しています。各タスクのinit_taskから読み込みます。読み込まれるtask_struct構造体は、状態、Oncpu ..私はまた、そのタスクの退避したレジスタを見つける必要があるしかしLinuxでプロセスの保存されたレジスタを取得する方法(ARMアーキテクチャ)
は、特に私はと呼ばれる構造体へのポインタを見つけたtask_structでも
R10、IP、SP、FPとPC
レジスタR0〜レジスタR4〜PCを保持するcpu_contextしたがって、問題は、レジスタR0〜R3を取得する方法がわからないことです。 私は手動タスクのスタックを解析しようとしましたが、私はすべての関連する値ので、ここで
が私の質問です発見していない:スタック内の
-where(またはメモリ内の他の場所で)が保存されています実行されていないタスクのレジスタ?
- 私は、構造体cpu_contextで見つかったR4からPCまでのレジスタの値を信頼しますか?
私はもちろんのLinuxカーネル2.6.35.7+は、ボード上で実行されているJTAGリンクでホストPCとリンクARMのCortex A9 MPCoreプロセッサを含むボード(2つのコア)、(これを使用してい
カーネルはARMアーキテクチャのためにコンパイルされました)
ホストPC上で私はデバッグにOPENOCDとGDBを使用しています。
おかげ