横浜Androidプラットフォーム部第19回勉強会
- tetsu_koba
- 4390
- 0
- 3
- 0
#yapf LinaroのAndrewさんが新しいもののデモやってたので、そちらにした。ABS2012でビデオあった。前フリが長くて途中で音声が切れている。デバッガは動いているが、デバッグはしていない。やり方がわからない。
2012-04-01 13:22:00今回の発表のきっかけは #yapf 第3回。でも @tetsu_koba さんとこのは個人で買うには高いので…とか。たまたまTinCan Toolsという$49.95なJTAGを見つけましたんで。Linaro Connect Q4.11で中の人が発表してたりとか。
2012-04-01 13:22:08RT @l_b__: .@pakuqiさんの「Poorman's JTAG」始まってます。 ( #yapf live at http://t.co/fpOcvUdJ)
2012-04-01 13:23:37#yapf PCとターゲットのみ。gdbだけでもできるが、DDDをフロントエンドにして操作するとわかりやすい。gdbがシリアル使うのでコンソールが使えない。agent-proxyを入れて調停させる。
2012-04-01 13:23:53gdbを使ってデバッグする。がシリアルポートをつかってしまうのでagent-proxyを 使ってgdbとConsole両方つかえるようにする #yapf
2012-04-01 13:24:01必要なものはPCとターゲットのみ。ソフト的にはgdbでデバッグします。ただ単につなぐとシリアルケーブル使うのでPCからconsoleできない。間にagent-proxyを入れるとgdbもconsoleも同時に使えます #yapf
2012-04-01 13:24:05#yapf kernelにはkgdb。2.2.26から統合。PCにはgdb。これはAOSPに入っている。DDDはパッケージマネージャで導入。agent-proxyは独自に取得してmake。
2012-04-01 13:24:56カーネル側はkgdbがLinux2.2.26から統合されたので有効にするだけです。gdbはAndroidのprebuiltで。 #yapf
2012-04-01 13:25:02kgdbを有効にするにはmake menuconfigでkernel hacking->compile the kernel with debug infoを有効にしてあげる。 #yapf
2012-04-01 13:26:18PC側で agent-proxy 4440^4441 0 /dev/ttyUSB0,115200 &とかすると agent-proxyが有効になります。telnet localhost 4440でコンソールに繋がります。 #yapf
2012-04-01 13:27:37ddd --debugger arm-eabi-gdbでdddを起動してfile vmlinuxとかやってカーネルを選択。target remote localhost:4441とするとagent-proxyを介してkgdbに接続できます。 #yapf
2012-04-01 13:28:26あとは適当にbreakpointを設定してやったりすればおk。余計なハード無しでカーネルデバッグできます #yapf
2012-04-01 13:29:16gdb で毎回必要なおまじないは .gdbinitに書いておくとよい。 ( #yapf live at http://t.co/H7U7llBg)
2012-04-01 13:29:25#yapf ソフトウエア的な構成図。agent-proxyの代わりにOpenOCDがいる。OpenOCDの操作をtelnetでやる。
2012-04-01 13:30:34#yapf デバッグ操作。ブログに書いたから、そっち見て。OpenOCDにはターゲットなどを渡すのがめんどくさいが、Pandaは標準対応なのですでに設定があるのが楽。
2012-04-01 13:32:5104/01(日) [参加10人]http://t.co/PTVkYEnQ 【横浜Androidプラットフォーム部第19回懇親会】 #yapf
2012-04-01 13:33:17