TOPPERS/ASPのビルドからデバッグまで~サンプルプロジェクトのビルド


動作テストを兼ねて、ここまで構築した開発環境でTOPPERSのサンプルプロジェクトをビルドします。


サンプルプロジェクトのビルド

今回のターゲットである「NUCLEO-F401RE STM32 Nucleo-64」開発ボード用のTOPPERS/ASPカーネル簡易パッケージasp_nucleo_f401re_gcc-20170211.zipをダウンロードします。

例のごとく、このバージョンはもう古いかもしれません。

最新版の入手は本家からどうぞ。

「Nucleo F401re(GCC)簡易パッケージ」の欄から、必ずasp_nucleo_f401re_gcc-20yymmdd.zipという名前のものを選んでください。

asp_nucleo_f401re_armclang-20yymmdd.zipという名前のものは、「LLVM/Clang」という別のコンパイラ用のパッケージです。

こちらは、今回は使いません。

asp_nucleo_f401re_gcc-20170211.zipを展開すると「asp_1.9.2」というディレクトリが生成されます。

前項のCygwinの導入作業により、PCには以下のディレクトリが作成されています。


C:\cygwin64


このディレクトリ以下にある「.\home\<ユーザ名>」以下に「asp_1.9.2」ディレクトリをコピーします。

(このドキュメントでは、ユーザ名を「morita」とします。)

次にCygwinのターミナルを起動し、以下のコマンドを入力し、ディレクトリを移動します。


$ cd asp_1.9.2


以下のコマンドを入力し、作業用のディレクトリを作成します。

ここでは「OBJ」という名前のディレクトリを作成します。


$ mkdir OBJ


作成した「OBJ」ディレクトリの中へ移動します。


$ cd OBJ


以下のコマンドを入力し、コンフィギュレーションを行います。

これは、「nucleo_f401re_gcc」というターゲット用のサンプルプロジェクトをこのディレクトリに生成するという意味です。


$ perl ../configure -T nucleo_f401re_gcc


この状態で「OBJ」ディレクトリを確認すると、いくつかのファイルが生成されていることが分かります。

Cygwinのターミナル - OBJディレクトリ内の確認


次に、この生成されたサンプルプロジェクトをビルドします。

まずは、プロジェクトのコンフィグファイル(sample1.cfg)の情報を元に、OSに必要な定義を記したソースコード(「kernel_cfg.c」と「kernel_cfg.h」)を生成します。

それには以下のコマンドを入力します。(→下記<補足>を参照のこと。)


$ make depend


再び「OBJ」ディレクトリを確認すると、「kernel_cfg.c」と「kernel_cfg.h」が生成されていることが分かります。

次は、これらの新たに生成されたものを含め、すべてのファイルをビルドし、「elf」出力ファイル(拡張子は「.exe」)を生成します。

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


$ make all


ビルドが成功すると、「asp.exe」が生成されます。

これがターゲットで実行されるプログラムのバイナリです。


<補足>

「make depend」の実行時に以下のようなエラーが出ることがあります。

Cygwinのターミナル - エラー発生時


これは、「cfg.exe」(コンフィグレータといいます)の実行権限がないためプログラムが実行できないという意味です。

コンフィグレータは「make depend」を実行する過程で呼ばれます。

これを解決するには、以下のコマンドでコンフィグレータに実行権限を与えます。

以下のコマンドを実行します。


$ chmod 755 ../cfg/cfg/cfg.exe


これにより「cfg.exe」に実行権限が与えられたのでコンフィグレータは正しく実行されます。

もう一度「make depend」と実行すると、今度は成功します。

Cygwinのターミナル - 「make depend」成功時


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

0 件のコメント:

コメントを投稿

TOPPERS/ASP - Arduino UNO R4版 その7

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