KGDBを使って、Android組み込みボードをリモートデバッグしよう!【後編】〜USBガジェットドライバをデバッグする(3)〜:実践しながら学ぶ Android USBガジェットの仕組み(5)(2/4 ページ)
KGDBを使ってAndroid搭載の組み込みボードをリモートデバッグする。【後編】第3弾の今回は、「ターゲットボードのカーネルを変更し、グラフィカルなデバッガでデバッグする」について解説する。
Step2:U-Boot上でUSBデータ転送待ち状態にする
ターゲットボードにUSB経由でデータ転送するためには、ボードに組み込まれているブートローダ(U-Boot)を使用します。
まずは、ターゲットボードを起動し、U-Bootのコマンドプロンプトを表示させましょう。
次に、ターゲットボードとホストPCをUSB接続し、U-BootのUSBデータ転送用のコマンド「dnw」を実行します(注1)。
本コマンドを実行すると、ターゲットボード側は、ホストPC側からのデータ転送待ち状態になります。このときホストPC側では、USB接続の通知が行われます。
つまり、このタイミングで今回作成したUSBデバイスドライバのprobe処理が行われ、デバイスファイルが出来上がるという手はずです。それでは、確認してみましょう。
$stat /dev/androidbulk0
いかがですか。USBデバイスファイルが作られていますね。
Step3:ホストPCからカーネルイメージを転送する
これで、ターゲットボードの準備が整いました。ホストPC側から「dnw」コマンドを使って、カーネルイメージを転送してみましょう。
$sudo ./dnw zImage /dev/androidbulk0
すると、ターゲットボード上では、以下のようにダウンロード成功のメッセージが出力されます。
チェックサムも無事通りましたので、これでターゲットボードのメモリ領域に書き込まれたわけです。
後は、このカーネルイメージ(メモリの“c0008000”から始まる領域)を、以下のようにしてNAND Flashへコピーするだけです。
$nand write c0008000 900000 300000
最後にターゲットボードをリセットして、再起動させれば完了です。リセットすると、以下のようにkgdboe(KGDB over Ethernet)のログが出力されるはずです。これでカーネルの書き換えは成功です。
関連キーワード
組み込みAndroid開発 | 実践しながら学ぶ Android USBガジェットの仕組み | USB | Android | 組み込み | Androidケータイ | アプリケーション開発 | Androidがもたらす組み込み開発の新たな可能性 | 組み込み開発 | 作りながら理解するファイルシステムの仕組み
Copyright © ITmedia, Inc. All Rights Reserved.