TOPPERS/ASPのビルドからデバッグまで~OpenOCDの導入


前項でビルドした「asp.exe」をターゲットに転送、書き込み、およびデバッグするためにはデバッガを使用する必要があります。

今回は、デバッガとして「OpenOCD」を使用します。


Cygwinのソフトウェアパッケージの追加

OpenOCDをCygwin上でビルドします。

そのためには、Cygwinに以下のソフトウェアパッケージを追加する必要があります。


・autobuild

・autoconf

・autoconf-archive

・automake

・libtool

・libusb1.0

・libusb1.0-devel

・pkg-config

・usbutils


ソフトウェアパッケージの追加は、再度setup-x86_64.exeを起動し、「TOPPERS/ASPのビルドからデバッグまで~Cygwinの導入」と同じ手順で行います。


OpenOCDのビルドとインストール

Cygwinに必要なソフトウェアパッケージを追加した後は、OpenOCDのビルド作業を行います。

まずは、デスクトップの「Cygwin64 Terminal」ショートカットをダブルクリックしてCygwinのターミナルを起動します。

以下のコマンドを入力して、Cygwinのルートディレクトリに「build」という作業用ディレクトリを作成し、その中に移動します。


$ mkdir -p /build

$ cd /build/


次に、OpenOCDのソースコードを取得します。

それには以下のコマンドを入力します。


$ git clone https://git.code.sf.net/p/openocd/code openocd


<補足>

OpenOCDのビルドに関しては、コンパイラのバージョンや環境の相違などの要因でビルドが上手くいかないことが多いです。

場合によってはソースコードの修正が必要な場合があります。

そこで、この記事の通りに作業を行えば必ずビルドが通るという、修正済みの「野良バージョン」を用意しました。

このソースコードを取得する場合は、以下のコマンドを入力してください。


$ git clone https://github.com/RyutaroMorita/openocd_nora.git openocd


この後の操作は、以前と同様です。


終了までに多少の時間がかかります。

正しくソースコードを取得できた場合は、ターミナル上では以下のように表示されます。

Cygwinのターミナル - 「git clone」コマンドの実行結果

次に、OpenOCDのブートストラップを実行します。

以下のコマンドを入力します。

(OpenOCDのブートストラップには、WANT_AUTOMAKE環境変数を「1.15」に設定する必要があります。)


$ cd openocd/

$ export WANT_AUTOMAKE=1.15

$ chmod 755 bootstrap

$ ./bootstrap


終了までに多少の時間がかかります。

ブートストラップを正しく実行できた場合は、ターミナル上では以下のように表示されます。

Cygwinのターミナル - ブートストラップの実行結果

次に、OpenOCDのコンフィギュレーションを実行します。

以下のコマンドを入力します。

現在のディレクトリの更に下の階層に、新たに「build」という作業ファイルを作成し、その中でコンフィギュレーションを行います。


$ mkdir build

$ cd build/

$ ../configure --enable-ftdi


終了までに多少の時間がかかります。

コンフィギュレーションを正しく実行できた場合は、ターミナル上では以下のように表示されます。

Cygwinのターミナル - コンフィギュレーションの実行結果

次に、OpenOCDのビルドを実行します。以下のコマンドを入力します。


$ chmod 755 ../src/helper/bin2char.sh

$ make


終了までにかなりの時間がかかります。

ビルドが成功した場合は、ターミナル上では以下のように表示されます。

Cygwinのターミナル - OpenOCDのビルド結果

最後に、OpenOCDのインストールを実行します。

以下のコマンドを入力します。


$ make install


終了までに多少の時間がかかります。

インストールを正しく実行できた場合は、ターミナル上では以下のように表示されます。

Cygwinのターミナル - OpenOCDのインストール結果

以下のコマンドを入力することで、OpenOCDが何処にインストールされたかを確認します。


$ which openocd


この結果からOpenOCDは以下のディレクトリにインストールされたことが分かります。


/usr/local/bin/


因みに、これはCygwinから見たパスです。

Windows上でのパスは以下を示します。


C:\cygwin64\usr\local\bin


以上でOpenOCDの導入は完了です。


<「TOPPERS/ASPのビルドからデバッグまで~Eclipseの導入」に続く>

0 件のコメント:

コメントを投稿

TOPPERS/ASP - Arduino UNO R4版 その7

前回からの続き です。 このテーマを最初からご覧になる場合は こちら からどうぞ。 プログラムの転送とデバッグ ターゲットの「Arduino UNO R4」とデバッガの「E2 emulator Lite」を 前々回 作成したケーブルで接続します。 こんな感じ。 これからTOPPE...