まったく開発の進まないLua-TRON・・・
なんでなんでしょうか(´・ω・`)ションボリ
きっと動かしてデバッグする環境がないからいけないんだ!!
とか思ったので今日はqemuを使って動作環境を立ち上げてみる。
tachama氏からbeagleboard借りてる状態であることはこの際考えないことにする。
と言っても、この前金の蔵もくもく会の時にmaster_q氏に教えてもらったことの復習。
ホスト環境はMacbook Air。もちろんMacOSXだ。
某探検隊のようにMac使ってるのにMacOSXじゃない人達とは一線を画している(´・ω・`)
いたってノーマルなマカーだ。
マカーがノーマルじゃないなんて批判は受け付けない。
まずはインストール
とりあえず、qemuをインストールする。
ソースはwiki.qemu.orgから取得する。
2011/02/26時点での最新は、0.14.0。
パッチは知らん。
ソースを入手したらおもむろに展開して configure & コンパイル。
おっと、configureするときはtargetの指定を忘れてはいけない。
じゃないとエラい時間をとられることになる。必要なターゲットだけコンパイルすればえ〜んだ。
自分が指定したのは、--target-list=arm-softmmu 。
これだけあったらいいんだぜ、まる。
本当はSDLオプションも付けたかったけど、何故か今回はうまくいかなかったからはずした。
次はmakeして、あとは何も起こらないことを祈るばかりだ。
インストールの項目だけどインストールは必要ない。
arm-softmmuというディレクトリに、qemu-system-arm というのができている。
これがARMエミュレーションをするqemuだどん。
こいつをそのまま叩けばqemuが起動する。
次はデバッグ用の環境準備。
必要なgdbはどこぞからパクってくるヨロシ(´・ω・`)
今回はtoolchain系は全部devkit様から拝借している。Lua-TRON開発環境に認定!!
devkitがあればDSソフトもPSPソフトも作れちゃう!!何度でも美味しい!!
devkitのサイトからリンクが辿れなかったのでsourceforgeから落とす。
とりあえずはdevkitARMがあれば無問題。
だが、片っ端から落とすのがあるべきWEB乞食の姿なので、理想を求めて全部落とす。
devkitのインストールは簡単、落として来たファイルを適当なディレクトリに展開してパスを通せばおしまい。
で、環境ができた。
さてデバッグ確認。
./qemu -S -gdb tcp::12345 -kernel targetimage
とかする。
-S は起動直後にqemuを停止させるオプション。・・・らしい。
-gdb tcb::12345 はgdbとの接続に使用するポートを12345にするというオプション。好きな数字を割り当てればおk。-Sオプションと組み合わせることで、gdbからの接続待ちで停止する。・・・らしい。
-kernel オプションは使用するターゲットバイナリの指定だ。ヘルプを見るとLinuxオプションみたいなこと書いてあるけど気にするな。俺はしない。とりあえずチャレンジすればいいんだ。ここで指定するのはどうやらelf形式のファイルのようだ。・・・ソース斜め読みした感じでは。
で、もう一つコンソールをひらいてこちらではgdbを実行する。
コマンドは以下。
./arm-eabi-gdb targetimage
ちゃんとdevkit様からツールチェインをとって来てパスを通していれば実行できるハズ。
gdbコンソールでは、
(gdb) target remote localhost:12345
ってやるとあ〜ら不思議!!
qemu上で動いているカーネルのデバッグができちゃうじゃ、あ〜りませんかぁ〜、あ〜りませんか!?
できない・・・だと(´・ω・`)
何故落ちるんだ、qemu。
という訳で次回につづく。
――――――――
今日や明日のことでは無く、もっと未来の方へ向かう。そう、明後日の方向へ!!
0 件のコメント:
コメントを投稿