kubo
2018年5月14日 23時17分
お世話になります。久保と申します。
Armadillo-IoT G3とATDE6(Eclipse使用)を使ったリモートデバッグについてご教授いただければと思います。
G3側に、atp-getでgdbserverをインストールし起動後、ATDE側からarm-linux-gnueabihf-gdbを実行してリモートデバッグしようとしているのですが、arm-linux-gnueabihf-gdbがない?ようで実行できません。
G3の場合はarm-linux-gnueabihf-gdbを使用することで正しいのでしょうか?正しいようでしたらどのようにしてインストールするべきでしょうか?
お手数をおかけいたしますが、よろしくお願いいたします。
コメント
y.nakamura
kubo
kubo
y.nakamura
中村です。
> 解決しました。
> gdb-7.7.1をダウンロードして、targetをarm-linux-gnueabihfとしmakeでできました。
私も今やっていたところでした。
Eclpseは環境を作ってないので、コマンドラインです。
ソースは最新の8.1。
必要とする人もいるかもしれないので、
ビルド手順を書いておきます。
$ sudo apt-get install libexpat1-dev
$ wget http://ftp.gnu.org/gnu/gdb/gdb-8.1.tar.gz
$ tar xvzf gdb-8.1.tar.gz
$ cd gdb-8.1
$ ./configure --target=arm-linux-gnueabihf --with-expat
$ make
$ sudo make install
/usr/localの下にインストールされます。
configureの"--with-expat"がないと、
gdbを実行してターゲットに接続したときにXMLがどーのこーのと怒られ、
また、ターゲットのプログラムを走らせると
Remote 'g' packet reply is too long (expected 168 bytes, got 328 bytes):....
と出てうまく動作させることができませんでした。
(これで1~2時間くらい、はまってました)
私が使っているATDE6では、"--with-expat"のために
libexpat1-devのインストールする必要がありました。
--
なかむら
kubo
y.nakamura
中村です。
> 私が使っているATDE6では、--with-expaを付けなくても、なぜか問題でなかったので、今後問題でてくるようでしたら参考にさせていただきたいと思います。
もしかしたらgdbのバージョンの違いによるものかもしれません。
久保さんがコンパイルされたのはgdb-7.7.1とのことでしたが、
これはArmadillo-IoTG3にapt-getでインストールしたものと
バージョンを合わせたということかと思っています。
root@armadillo:~# dpkg --list | grep gdbserver
ii gdbserver 7.7.1+dfsg-5 armhf GNU Debugger (remote server)
私はそこらへんは何も考えずに最新のgdbソースを取ってきてしまいました。
最後に、
まぁどうでもいいことなのかもしれませんが・・・
私の最初の投稿で
>> 自分でクロスコンパイルする必要があるのでは?
>> と思っています。
と深く考えずに書いてしまいましたが、
ATDE6でtarget=arm-linux-gnueabihfとしてgdbをビルドするときのコンパイラは
クロスコンパイラではなくホスト(ATDE6)用コードを生成するgccなので、
(クロスコンパイラarm-linux-gnueabihf-gccを使ってarm上動作する
プログラムをビルド(生成)するということではないので)
「クロスコンパイル」という言い方は正しくはなかったかと。
--
なかむら
y.nakamura
2018年5月16日 12時56分
中村です。
> Armadillo-IoT G3とATDE6(Eclipse使用)を使ったリモートデバッグについてご教授いただければと思います。
...
> G3の場合はarm-linux-gnueabihf-gdbを使用することで正しいのでしょうか?正しいようでしたらどのようにしてインストールするべきでしょうか?
昨晩、少し調べてみました。
ATDE6でarm-linux-gnueabihf-gdbを動かせばいいと思うのですが、
gdb-arm-linux-gnueabihというようなパッケージはないみたいですね。
自分でクロスコンパイルする必要があるのでは?
と思っています。
ちなみに、800シリーズ用のATDE5には入れてくれていました。
http://lists.atmark-techno.com/pipermail/armadillo/2013-July/009033.html
--
なかむら