PF部第19回資料 poor man's JTAG

D
poor man’s JTAG	
     2012年4月1日
    第19回PF部勉強会
本日の発表内容	
★自己紹介
★お金をあまり掛けずにAndroid Kernelのデバッグ
 •PCとターゲットボードだけ
 •安価なJTAGボードを使って
自己紹介	
★東の羊

★twitter @pakuqi

★Blog 電脳羊(http://xiangcai.at.webry.info/)

→Androidが動作するボードの話題が多いです。

BeagleBoard, BeagleBoard xM, PandaBoard, Snowball

★2011年4月からAndroid関連の部署に異動して1年経ちました
今回の発表のきっかけ	
PF部の第3回勉強会、通称Init祭りで@tetsu_kobaさんによる
「自社製品デバッガーの説明」がありました。
Initで止めて処理を追っかけたり
http://www.yokohama.android-pf.org/study/20101204

いいなーと思いながら、お約束の「でも、お高いんでしょ?」

@tetsu_kobaさんも個人で買うもんじゃないので会社で
買ってもらって下さい
orz
その後	
Pandaboardに関する調べものをしてた時に、以下の動画を
偶然見つけました。
http://www.youtube.com/watch?v=8wK9q3XqnFY
Howto: BeagleBoard and PandaBoard with the TinCanTools
Flyswatter (OpenOCD) JTAG Debugger
TinCanTools Flyswatter 	
http://www.tincantools.com/
オーダー	
オーダーはTinCanToolsのサイトから行います。Registerから必要情報を入力して
登録してからクレジットカードで支払います。
実際のオーダー	
下にあるようにFlyswatter2本体(SKU600)が$89、JTAGの20ピンから14ピンへの変換
(SKU620)が$22、送料が$31.90
送料は3つから選べて2番目に早いの(PriorityMail)にしました。1週間くらいで届きました。
安いだけじゃない	


   オプションの変換コネクタとケーブル
   必要だけど最初からBeagleBoardに
   対応してる!!
OpenOCDも対応	
     OpenOCD(後で説明します)も
     BeagleBoard
     BeagleBoard-xM
     PandaBoard
     対応!!
Linaro Connect Q4.11	
Linaro Connect Q4.11でTinCan Toolsの中の人がデモしてるの発見!!
http://www.youtube.com/watch?v=FhMhH5kEcGw
Android Builders Summit
                2012	
前回のPF部でABS 2012の資料斜め読みしましたが、以下のプレゼンがありました
Using OpenOCD JTAG in Android Kernel Debugging

スライド
https://events.linuxfoundation.org/images/stories/pdf/lf_abs12_anderson.pdf
ビデオ
http://video.linux.com/videos/using-openocd-jtag-in-android-kernel-debugging

ビデオ(01:51:54)見ましたが
●前振りが長い
●途中で音声が切れてる(@tetsu_kobaさんによるとマイクのトラブルらしいです)
●デバッガーは動かしてるけど、実際にデバッグはしてなさそう
本日の発表	
—  大貧民コース(PCとターゲットボードのみ)
—  貧民コース(安価なJTAGボード:Flyswatter2を使用)
—  大富豪コース(対象外)
     PARTNER-Jet買って下さい(^^;
PCとターゲットのみ	
●ハードウエア構成
  PCとターゲートボード(PandaBoard)をシリアルケーブルで
  接続します。	




              シリアル
              ケーブル
PCとターゲットのみ	
●ソフトウエア構成(概略)
  gdbを使ってデバッグします。ターゲットボードのカーネルにStub
  (gdbの通信相手)のkgdbを組み込みます。
  gdbのFrontendとしてDDD(Data Display Debugger)を使います




  gdbの
 Frontend	
                                 Kernel
                              Stub
      DDD	
    gdb	
                              kgdb
PCとターゲットのみ	
●ソフトウエア構成(詳細)
  先ほどの図ですと、gdbがシリアルケーブルを使うのでPCから
  Consoleを使った操作や表示が出来なくなります。
  そのため、間にagent-proxyを入れると両方とも有効に出来ます
  詳細は以下のようになります	

              target remote localhost:4441	
                                               Target	

DDD	
         gdb	
                               agent-proxy	
      Kernel
                                               Stub
                                               kgdb	
  Console	
                telnet localhost 4444
環境構築の概要	
●カーネル側
kgdb:Linuxカーネル2.2.26から統合されました。
カーネルコンフィグで有効にすれば使えるようになります。(後述)

●PC側
gdb:Androidのprebuiltを使います
prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-
eabi-gdb

DDD(Data Display Debugger)Ver3.3.11
 システム→システム管理→Synapticパッケージマネージャ

agent-proxy	
 $ git clone git://git.kernel.org/pub/scm/utils/kernel/
kgdb/agent-proxy.git
kgdbの有効化	
(1)環境変数設定
export ANDROID_ROOT=$PWD
export ARCH=arm
export CROSS_COMPILE=$ANDROID_ROOT/prebuilt/linux-x86/toolchain/arm-
eabi-4.4.3/bin/arm-eabi-

(2)カーネルソース取得
$ mkdir kernel
$ cd kernel/
$ git clone https://android.googlesource.com/kernel/omap
$ cd omap
$ git checkout -b android-omap-panda-3.0 origin/android-omap-panda-3.0

(3)コンフィグファイルの作成
$ make panda_defconfig
kgdbの有効化	
(4)kgdbを有効にする
$ make menuconfig
メニュー画面が表示されるので、「Kernel hackingの中に入る」
Compile the kernel with debug infoを有効

「KGDB: kernel degugger」を有効にしてサブメニューの「KGDB: user kgdb
over the serial console (NEW)」を有効にする
kgdbの有効化	
(5)カーネルのビルド
$ make uImage modules -j8

(6)カーネルをSDカードにコピー

(7)ブートパラメータの追加

ブートローダがカーネルに渡すカーネルパラメータにkgdbocを追加します。	
kgdboc=[シリアルデバイスファイル],[ボーレート]
という形式で指定します。	
PandaBoardだと	
kgdboc=ttyO2,115200
になります。
PC側の処理	
(1)agent-proxyの起動
$ agent-proxy 4440^4441 0 /dev/ttyUSB0,115200 &
Agent Proxy 1.95 Started with: 4440^4441 0 /dev/ttyUSB0,115200
Agent Proxy running. pid: 2641

(2)コンソールの表示:TELNETでアクセスするとプロンプトが表示
$ telnet localhost 4440
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
root@android:/ #

(3)DDD起動
$ ddd --debugger arm-eabi-gdb
vmlinuxがあるディレクトリででDDDを起動します。                	
	

(4)デバッグイメージの読み込み
DDDのGDB Consoleで
(gdb) file vmlinux
PC側の処理	
(4)ターゲットボードのkgdbへ接続
DDDのGDB Consoleで
(gdb) target remote localhost:4441
※
通常は(gdb) target remote /dev/ttyUSB0とコンソールを指定して接続しますが、
agent-proxyが起動しているので上記のように接続します。
ターゲットに接続すると自動的にターゲット側がkgdbモードに切り替わります。
コンソール上にメッセージが表示されます。




(5)デバッグ例
printkにブレークポイントを張る	
(gdb) b printk
(gdb) c
でブレークポイントに止まります。     	
	
DDD上で変数の中を見たり、ステップ実行が出来ます
安価なJTAGボードFlyswatter2
        を使用	
●ハードウエア構成
  PCとターゲートボード(PandaBoard)をシリアルケーブルと
  JTAGで接続します。	

                                リボンケーブル
                                  14ピン	
    USBケーブル	



                Flyswatter2	




                シリアルケーブル
実物	

                                       Flyswatter2


                       20ピンから14ピンへ変換


JTAG接続:14ピン




              シリアル接続
安価なJTAGボード:
                  Flyswatter2を使用	
 ●ソフトウエア構成(詳細)
  先ほどの図と似ています。agent-proxyの代わりにOpenOCD
  が間に入っています。	
                                                         リボン
                target remote localhost:3333	
          ケーブル	

DDD	
         gdb	
                                          Target	

                       OpenOCD	
        Flyswatter2	
             Kernel
   telnet
   client	
                             config	
  telnet localhost 4444 	
                         シリアル
                                                   ケーブル	

   Console
                 minicom /dev/ttyUSB0
環境構築の概要	
差分のみ示します
●PC側
OpenOCD
TinCanToolsのサイトにビルド手順があります。それに従ってやれば構築出来ます。
 詳細はブログを参照ください。
 http://xiangcai.at.webry.info/201203/article_3.html

補足
OpenOCDはデーモンとして起動して特定のポートで接続を受け付けます。
3333:gdb
4444:telnet

OpenOCD自体への操作はTelnetで接続してコマンドラインで行います。
デバッガ:gdbからの操作をJTAGコマンドに変換してJTAGを通じてデバッグ操
作を可能にします。
Flyswatter2はシリアルの口を持っているので、minicomでttyUSB0などに接
続すればAndroidのコンソールでの操作や表示が見れます。
デバッグ操作	
実際のデバッグ操作です。詳細はブログに書いたのでそちらを参考にして下さい
http://xiangcai.at.webry.info/201204/article_1.html
ここでは概略を説明します。

(1)Flyswatter2とPandaboardの電源を入れます。

(2)minicomを起動してコンソールを表示させます。

(3)OpenOCDを起動します。	
$ sudo ./openocd -f interface/flyswatter2.cfg -f board/ti_pandaboard.cfg

OpenOCDを起動するにはJTAGとターゲットボードの情報記載したConfigファイルを指定
する必要がありますが、Flyswatter2, Pandaboardは標準で対応しているのでOpenOCD
のインストールディレクトリにあるものを指定します。

起動ログを次ページに示します。
最後にPolling succeeded againと表示されればOKです。
デバッグ操作	
Open On-Chip Debugger 0.5.0 (2011-11-13-22:03)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.berlios.de/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'jtag'
15000 kHz
RCLK - adaptive
Using dbgbase = 0x80000000
force hard breakpoints
trst_only separate trst_push_pull
Info : max TCK change to: 30000 kHz
Info : RCLK (adaptive clock speed)
Info : JTAG tap: omap4430.jrc tap/device found: 0x3b95c02f (mfg: 0x017, part: 0xb95c,
ver: 0x3)
Info : JTAG tap: omap4430.dap enabled
Polling target failed, GDB will be halted. Polling again in 100ms
Polling target failed, GDB will be halted. Polling again in 300ms
Info : JTAG tap: omap4430.m30_dap enabled
Polling target failed, GDB will be halted. Polling again in 700ms
Info : JTAG tap: omap4430.m31_dap enabled
Info : omap4430.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : omap4430.m30: hardware has 6 breakpoints, 4 watchpoints
Info : omap4430.m31: hardware has 6 breakpoints, 4 watchpoints
Polling succeeded again
デバッグ操作	
(4)TelnetでOpenOCDに接続します。コマンドプロンプト”>”で入力出来ます。	
$ telnet localhost 4444
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Open On-Chip Debugger
>

(5)Telnet上でコマンド「halt」を実行します。	
> halt
target state: halted
target halted in ARM state due to debug-request, current mode: Supervisor
cpsr: 0x200000d3 pc: 0xc00637f0
MMU: enabled, D-Cache: enabled, I-Cache: enabled
デバッグ操作	
(6)DDDの実行	
$ ddd --debugger arm-eabi-gdb

GDB Consoleでコマンドを実行	
(gdb) file vmlinux
(gdb) target remote localhost:3333
→接続先はOpenOCDです。

(7)デバッガでのブレークポイント設定
(gdb) b sys_mkdir

DDDの画面を次ページに示します。
デバッグ操作
デバッグ操作	
(8)Telnet上でコマンド「resume」を実行します。	
> resume

(9)DDDのGDB Consoleで「c」を実行します。

(10)コンソールで$ mkdir tmpを実行します。	
	
(13)DDDのブレークポイントに止まります。	
pathnameとして“tmp”が表示されています。
→次のページ参照

変数の内容を見たり、ステップ実行などが出来ます。
デバッグ操作
まとめ	
※Kernelデバッグって大変そう
※高価な機材が必要
みたいなイメージがあるかと思いますが、比較的安価で気軽に出来ることが分
かりました。

デバッグ以外にも学習のために実際に動かしてブレークポイントを張ってス
テップ実行しながら、想定通りに動いていることが確認できるとカーネルへの
理解が深まると思います。
今後の予定	
★OpenOCD、JTAGの使い方に習熟する
今は何となく使ってる感じなので

★デバイスドライバー組み込んでデバッグ
まずはHello Worldレベルのものをカーネルに組み込んでデバッグ出来
るか
事前に調べた感じでは、ごにょごにょしないといけないらしい

★Insight、Eclipseを使ったデバッグ
今回はgdbのFrontendとしてDDDを使いました。
GUIなデバッグ環境としてInsightというものがありますが、コンパイルで
エラーになってまだ構築できていないので続きを

また、DDDもInsightも開発が止まっているっぽいので、Eclipse上で操
作が出来ると良いかなと(こっちはこれから調べます)
参考情報	
●電脳羊
http://xiangcai.at.webry.info/201203/article_1.html
http://xiangcai.at.webry.info/201203/article_2.html
http://xiangcai.at.webry.info/201203/article_3.html
http://xiangcai.at.webry.info/201203/article_4.html
http://xiangcai.at.webry.info/201204/article_1.html

●@IT MONOist
実践しながら学ぶ Android USBガジェットの仕組み(1):
http://monoist.atmarkit.co.jp/mn/articles/1107/22/news001.html

●TinCanTools
http://www.tincantools.com/wiki/Flyswatter2
http://www.tincantools.com/wiki/Flyswatter2_Pandaboard_How_To
http://www.tincantools.com/wiki/GDB_Debugger
1 de 36

Recomendados

V6 unix vol.2 in okinawa por
V6 unix vol.2 in okinawaV6 unix vol.2 in okinawa
V6 unix vol.2 in okinawamagoroku Yamamoto
2.7K visualizações108 slides
Adk2012 por
Adk2012Adk2012
Adk2012magoroku Yamamoto
5.8K visualizações103 slides
DPDK QoS por
DPDK QoSDPDK QoS
DPDK QoSMasaru Oki
2.4K visualizações11 slides
Lagopus as open flow hybrid switch 実践編 por
Lagopus as open flow hybrid switch 実践編Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編Masaru Oki
1K visualizações18 slides
Rust-DPDK por
Rust-DPDKRust-DPDK
Rust-DPDKMasaru Oki
3.9K visualizações35 slides
Lagopus, raw socket build por
Lagopus, raw socket buildLagopus, raw socket build
Lagopus, raw socket buildMasaru Oki
2.5K visualizações12 slides

Mais conteúdo relacionado

Mais procurados

10分で作るクラスライブラリ por
10分で作るクラスライブラリ10分で作るクラスライブラリ
10分で作るクラスライブラリ_norin_
3.1K visualizações28 slides
Xeon dとlagopusと、pktgen dpdk por
Xeon dとlagopusと、pktgen dpdkXeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdkMasaru Oki
3.4K visualizações29 slides
Dpdk pmd por
Dpdk pmdDpdk pmd
Dpdk pmdMasaru Oki
5.9K visualizações14 slides
OpenFlowで覚えるネットワーク por
OpenFlowで覚えるネットワークOpenFlowで覚えるネットワーク
OpenFlowで覚えるネットワークM Hagiwara
4.3K visualizações52 slides
素晴らしきメガデモの世界 por
素晴らしきメガデモの世界素晴らしきメガデモの世界
素晴らしきメガデモの世界eagle0wl
12.6K visualizações41 slides
C#でOpenCL with OpenTK + Cloo por
C#でOpenCL with OpenTK + ClooC#でOpenCL with OpenTK + Cloo
C#でOpenCL with OpenTK + Clooaokomoriuta
4.1K visualizações34 slides

Mais procurados(20)

10分で作るクラスライブラリ por _norin_
10分で作るクラスライブラリ10分で作るクラスライブラリ
10分で作るクラスライブラリ
_norin_3.1K visualizações
Xeon dとlagopusと、pktgen dpdk por Masaru Oki
Xeon dとlagopusと、pktgen dpdkXeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdk
Masaru Oki3.4K visualizações
Dpdk pmd por Masaru Oki
Dpdk pmdDpdk pmd
Dpdk pmd
Masaru Oki5.9K visualizações
OpenFlowで覚えるネットワーク por M Hagiwara
OpenFlowで覚えるネットワークOpenFlowで覚えるネットワーク
OpenFlowで覚えるネットワーク
M Hagiwara4.3K visualizações
素晴らしきメガデモの世界 por eagle0wl
素晴らしきメガデモの世界素晴らしきメガデモの世界
素晴らしきメガデモの世界
eagle0wl12.6K visualizações
C#でOpenCL with OpenTK + Cloo por aokomoriuta
C#でOpenCL with OpenTK + ClooC#でOpenCL with OpenTK + Cloo
C#でOpenCL with OpenTK + Cloo
aokomoriuta4.1K visualizações
Lagopus Switch Usecases por Sakiko Kawai
Lagopus Switch UsecasesLagopus Switch Usecases
Lagopus Switch Usecases
Sakiko Kawai1.8K visualizações
V6 unix in okinawa por magoroku Yamamoto
V6 unix in okinawaV6 unix in okinawa
V6 unix in okinawa
magoroku Yamamoto8.4K visualizações
SDN Lab環境でのRobotFramework実践活用 por Toshiki Tsuboi
SDN Lab環境でのRobotFramework実践活用SDN Lab環境でのRobotFramework実践活用
SDN Lab環境でのRobotFramework実践活用
Toshiki Tsuboi4.4K visualizações
Tremaで試すFirewall por M Hagiwara
Tremaで試すFirewallTremaで試すFirewall
Tremaで試すFirewall
M Hagiwara7.3K visualizações
Lagopus performance por Masaru Oki
Lagopus performanceLagopus performance
Lagopus performance
Masaru Oki2.4K visualizações
Interrupt Affinityについて por Takuya ASADA
Interrupt AffinityについてInterrupt Affinityについて
Interrupt Affinityについて
Takuya ASADA13.2K visualizações
Osc2012 tokyo fall_home_san_nayamaguti por Noriyuki Yamaguchi
Osc2012 tokyo fall_home_san_nayamagutiOsc2012 tokyo fall_home_san_nayamaguti
Osc2012 tokyo fall_home_san_nayamaguti
Noriyuki Yamaguchi1.6K visualizações
AutoDock_doc_japanese_ver.1.0 por Satoshi Kume
AutoDock_doc_japanese_ver.1.0AutoDock_doc_japanese_ver.1.0
AutoDock_doc_japanese_ver.1.0
Satoshi Kume1.4K visualizações
Lagopus 0.2.2 por Masaru Oki
Lagopus 0.2.2Lagopus 0.2.2
Lagopus 0.2.2
Masaru Oki1.1K visualizações
HTTP2 時代の Web - web over http2 por Jxck Jxck
HTTP2 時代の Web - web over http2HTTP2 時代の Web - web over http2
HTTP2 時代の Web - web over http2
Jxck Jxck48.1K visualizações
PEZY-SC programming overview por Ryo Sakamoto
PEZY-SC programming overviewPEZY-SC programming overview
PEZY-SC programming overview
Ryo Sakamoto770 visualizações
Unixカーネルの設計 7 プロセスの制御 por Norito Agetsuma
Unixカーネルの設計 7 プロセスの制御Unixカーネルの設計 7 プロセスの制御
Unixカーネルの設計 7 プロセスの制御
Norito Agetsuma5.3K visualizações
Free bsd jail入門 por Tsubasa Nomura
Free bsd jail入門Free bsd jail入門
Free bsd jail入門
Tsubasa Nomura9.7K visualizações

Similar a PF部第19回資料 poor man's JTAG

Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介 por
Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介
Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介IBM Analytics Japan
2K visualizações28 slides
Open-FCoE_osc2011tokyofall_20111119 por
Open-FCoE_osc2011tokyofall_20111119Open-FCoE_osc2011tokyofall_20111119
Open-FCoE_osc2011tokyofall_20111119metamd
2.1K visualizações45 slides
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料) por
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)NTT DATA Technology & Innovation
1.3K visualizações62 slides
Cuda por
CudaCuda
CudaShumpei Hozumi
1.7K visualizações45 slides
Android デバッグ小ネタ por
Android デバッグ小ネタAndroid デバッグ小ネタ
Android デバッグ小ネタl_b__
19.9K visualizações17 slides
BlueZで遊んでみる - BLE大阪勉強会 por
BlueZで遊んでみる - BLE大阪勉強会BlueZで遊んでみる - BLE大阪勉強会
BlueZで遊んでみる - BLE大阪勉強会Shinji Kobayashi
25.3K visualizações28 slides

Similar a PF部第19回資料 poor man's JTAG(20)

Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介 por IBM Analytics Japan
Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介
Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介
IBM Analytics Japan2K visualizações
Open-FCoE_osc2011tokyofall_20111119 por metamd
Open-FCoE_osc2011tokyofall_20111119Open-FCoE_osc2011tokyofall_20111119
Open-FCoE_osc2011tokyofall_20111119
metamd2.1K visualizações
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料) por NTT DATA Technology & Innovation
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
NTT DATA Technology & Innovation1.3K visualizações
Cuda por Shumpei Hozumi
CudaCuda
Cuda
Shumpei Hozumi1.7K visualizações
Android デバッグ小ネタ por l_b__
Android デバッグ小ネタAndroid デバッグ小ネタ
Android デバッグ小ネタ
l_b__19.9K visualizações
BlueZで遊んでみる - BLE大阪勉強会 por Shinji Kobayashi
BlueZで遊んでみる - BLE大阪勉強会BlueZで遊んでみる - BLE大阪勉強会
BlueZで遊んでみる - BLE大阪勉強会
Shinji Kobayashi25.3K visualizações
Rubyで創るOpenFlowネットワーク - LLまつり por Yuya Rin
Rubyで創るOpenFlowネットワーク - LLまつりRubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
Yuya Rin18.4K visualizações
Pdp11 on-fpga por magoroku Yamamoto
Pdp11 on-fpgaPdp11 on-fpga
Pdp11 on-fpga
magoroku Yamamoto2.7K visualizações
NVIDIA Japan Seminar 2012 por Takuro Iizuka
NVIDIA Japan Seminar 2012NVIDIA Japan Seminar 2012
NVIDIA Japan Seminar 2012
Takuro Iizuka1.5K visualizações
node-gypを使ったネイティブモジュールの作成 por shigeki_ohtsu
node-gypを使ったネイティブモジュールの作成node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成
shigeki_ohtsu20.8K visualizações
Datadog Agent on CloudRunによるGCPトレービリティ向上 por Ryo Sasaki
Datadog Agent on CloudRunによるGCPトレービリティ向上Datadog Agent on CloudRunによるGCPトレービリティ向上
Datadog Agent on CloudRunによるGCPトレービリティ向上
Ryo Sasaki367 visualizações
about DakotagUI por Etsuji Nomura
about DakotagUIabout DakotagUI
about DakotagUI
Etsuji Nomura674 visualizações
GPGPUによるパーソナルスーパーコンピュータの可能性 por Yusaku Watanabe
GPGPUによるパーソナルスーパーコンピュータの可能性GPGPUによるパーソナルスーパーコンピュータの可能性
GPGPUによるパーソナルスーパーコンピュータの可能性
Yusaku Watanabe1.4K visualizações
Cq tse-fm3セミナー資料 por Masaki Muranaka
Cq tse-fm3セミナー資料Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料
Masaki Muranaka2.3K visualizações
griffon plugin を 実際に作ってみよう #jggug por kimukou_26 Kimukou
griffon plugin を 実際に作ってみよう #jgguggriffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
kimukou_26 Kimukou1K visualizações
NetBSD/evbarm on Raspberry Pi por tokudahiroshi
NetBSD/evbarm on Raspberry PiNetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry Pi
tokudahiroshi2.3K visualizações
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣 por 三七男 山本
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
三七男 山本379 visualizações
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料) por NTT DATA Technology & Innovation
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
NTT DATA Technology & Innovation1.9K visualizações
Maxwell と Java CUDAプログラミング por NVIDIA Japan
Maxwell と Java CUDAプログラミングMaxwell と Java CUDAプログラミング
Maxwell と Java CUDAプログラミング
NVIDIA Japan6.2K visualizações

PF部第19回資料 poor man's JTAG