特設 第 1章 ビギナほど超重要! フリー・デバッガ入門 ありのままのプログラムをデバッグ OK! 安くてうれしい プロなみJTAGデバッグを個人でも! オープンソース OpenOCD 入門 村井 和夫 パソコン ポート番号:4444 CPUボード CPU JTAG/ SWD TCP OpenOCD JTAG インター フェース 経路1 USB GDBのコマンドをOpenOCDの コマンドに変換する ターミナル・ ソフト 使い方①:直接OpenOCDの コマンドで操作する GDBの操作はターミナル・ソフトから行う GDBサーバ TCP 経路2 GDB 使い方②:GDB経由で動かす (特集で手順を紹介) ポート番号:3333 図 1 プロなみ JTAG デバッグが個人でも! 汎用オープンソース・デバッガ・ソフトウェア OpenOCD のはたらき JTAGデバッグが個人でもできる時代に ● ありのままのプログラムをデバッグするのは 簡単じゃなかった… JTAG や SWD のように CPU のハードウェア支援機 能を使ったデバッグでは,プロセッサを停止させた り,ターゲット・プログラムに常駐コードを必要とし たりすることはありません.ターゲット・プログラム が実際に動く環境のままプログラムを動作させて, JTAG ポートを CPU のプローブのように使って外部 から制御します.そのため,ROM 化されたソフト ウェアでもデバッグできるなど,実際のプログラムを 動作させる環境と同じ環境でデバッグできます. 企業の製品開発では,ソフトウェアを効率よく開発 するために,このようなハードウェア支援のあるデ バッグ環境を使用します。 しかしこれには,通常高価な CPU メーカ専用のデ バッグ装置を必要で,個人ユーザには手が届きにくい ものでした. ● なんと JTAG が OK! オープンソースのデバッ ガ・ソフト OpenOCD 登場 OpenOCD(On Chip Debuger)は,JTAG/SWD な どの CPU や SoC 上のデバッグ端子を使ったオープン ソースのデバッガ・ソフトウェアです.これにより, 個人でもハードウェア支援を使ったデバッグが手軽に できるようになりました.はたらきを図 1 に示します. OpenOCDは,ドイツUniversity of Applied Sciences Augsburg の Dominic Rath 氏の論文の一部として開 96 発 さ れ ま し た. 当 初 は,ARM7/ARM9 の JTAG デ バッガとして作成されましたが,その後,オープン ソ ー ス・ コ ミ ュ ニ テ ィ に よ っ て 開 発 が 進 み, 現 在 SWD や CMSIS-DAP など,多様なインターフェース や CPU がサポートされるようになっています. ● JTAG アダプタの違いは OpenOCD で吸収し てくれる USB-JTAG の イ ン タ ー フ ェ ー ス に は い ろ い ろ な ハードウェア(アダプタ)が使われます.従来は,ア ダプタによって個別のソフトウェアが必要でした. OpenOCD では,主だった JTAG インターフェース・ アダプタに対応して,その違いを吸収してくれます. ● さらに…ARMチップの違いは標準CMSIS-DAP で吸収してくれる しかし,これでもアダプタごとに個別の対応が必要 に な っ て し ま い ま す. そ こ で,ARM は 標 準 規 格 CMSIS の 中 で,USB か ら デ バ ッ グ す る た め の 規 格 CMSIS-DAP を 取 り 決 め ま し た. こ れ に 準 拠 し た JTAG インターフェース・アダプタであれば,パソコ ン上の OpenOCD からは,CMSIS インターフェース を指定するだけで同じように利用できます. OpenOCD の使い方 ● OpenOCD の役割 OpenOCD は,JTAG インターフェース・アダプタ を使って,いろいろな CPU のデバッグができるよう なソフトウェアです. 2015 年 3 月号
© Copyright 2024