[Armadillo:08453] Re: armadillo440でlinuxカーネル及びプリケーションをJTAGICEでデバッグしたい
h.kondo
email@hidden
2012年 12月 6日 (木) 19:38:54 JST
お世話になります。近藤です。
考え方が違っていたようですね。大変失礼しました。
アプリについては、正常系のデバッグはICEを使用しなくても可能だと認識
していましたが、メッセージを使用したプロセス間通信や複数プロセスの
微妙な動作タイミングにより発生する異常等をデバッグするにはICEを使用したほうが
わかりやすいのではないかと考えていました。
C-Sharkについて検討してみます。
竹之下です。
少し、考え方が違うかもしれませんね。
まず、アプリケーションのデバッグだけであれば、ICEは必ずしも必要ではありません。
gdbを使ったデバッグをする場合、
ターゲット(Armadillo)上でgdbserverを動かし、デバッグしたいアプリのプロセスに
"アタッチ"します。
その後、ホスト(PC)上でgdb(クライアント)を動かして、gdbserverとの間でやり取りを
しながらデバッグします。
LinuxはマルチプロセスのOSなので、事前にどの仮想アドレスでプロセスが動作するか
分かりませんので、上記"アタッチ"という作業が必要になります。
JTAG ICEのメーカーの一つである、Computexさんではアプリケーションデバッガとして
C-Sharkというものを提供しています。(これを使う場合、やっぱりアプリケーションのデバッグ
にはICEは不要です。)
http://www.computex.co.jp/products/c_shark/index.htm
C-Sharkでは、ターゲットで動くサーバーがcsided、クライアント側がCSIDE C-Sharkと
なっているようですが、基本的な構成はgdbを使った場合と同じです。
(上記ページのデバッグ構成図をご参照ください。)
※C-Sharkの評価版が入ったDVDがArmadilloの開発セットに同梱されています。
ICEを使ったデバッグというのも出来るはずですので、お使いのJTAG ICEのマニュアル等を
ご確認ください。
(2012/12/06 18:00), h.kondo wrote:
> お世話になります。近藤です。
>
> 基本的な内容ですみません。
>
> 「atmark-dist/user」以下に複数のアプリを追加しています。
> それぞれのコンパイルオプションに「-g」を付けています。
> その際に生成されるデバッグ情報を使用するという考え方でよいのでしょうか。
>
> 最初に起動されるアプリ「XXX.bin」の先頭でブレークしたいのですが、
> 「romfs.image.gz」をFLASHROMに書き込み、「XXX.bin」のデバッグ情報を
> ICEに読み込んで先頭にブレーク設定しているのですが、意図しないところで
> ブレークしてしまいます。
>
> 考え方が根本的に違うでしょうか。
>
> よろしくお願いします。
>
>
> 竹之下です。
>
>> また、そもそもJTAGICEでのデバッグ方法は上記のやり方で可能でしょうか?
> JTAG ICEを使えば、通常はカーネルもユーザーランドアプリもデバッグできる
> はずです。使用方法は、それぞれのJTAG ICEのマニュアルに記載されていると
> 思いますので、それをご覧ください。
>
>> できそうなところまでは来たのですが、ユーザランドのデバッグ情報を
>> 作成することができません。(もしくは、できているけどどれかわかりません。)
>>
> コンパイル時に -g オプションを付けることで、デバッグ情報を付加することが
> できます。
>
> なお、アプリのデバッグだけであれば、gdbを使うという方法もあります。
>
> 「gcc gdb」というキーワードで検索してみると、色々と情報が出てくると思います。
>
>
> (2012/12/06 11:49), h.kondo wrote:
>> 近藤と申します。初めて投稿します。
>> よろしくお願いします。
>>
>> 件名の通り、armadillo440でlinuxを使用し、JTAGICEでデバッグしようとしています。
>> 目的は、自作アプリケーションをステップ単位でデバッグすることです。
>>
>> カーネル及び、ユーザランドをFLASHROMに書き込み、
>> カーネルデバッグ情報をICEにロードして起動し、カーネルをステップ単位で実行
>> できそうなところまでは来たのですが、ユーザランドのデバッグ情報を
>> 作成することができません。(もしくは、できているけどどれかわかりません。)
>>
>>
>> 自作アプリケーションをステップ単位でデバッグしたいのですが、
>> ユーザランドビルド時の設定を変更すればできるのでしょうか?
>>
>> また、そもそもJTAGICEでのデバッグ方法は上記のやり方で可能でしょうか?
>>
>> よろしくお願いします。
>>
>> _______________________________________________
>> armadillo mailing list
>> email@hidden
>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>>
>
--
Koyo Takenoshita
_______________________________________________
armadillo mailing list
email@hidden
http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
armadillo メーリングリストの案内