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 件のコメント:

コメントを投稿

超ハイエンド・ノートブック! PowerBook 180c

Apple社のノートパソコン「 PowerBook 180c 」です。 発売は1993年6月頃とのことですから、今から約30年以上も前の機種になります。 以前ご紹介した「PowerBook 2400c」 の発売が1997年ですから、それよりも更に古いモデルです。 TFTカラー液晶...