<GCCのインストール>

Windowsで動作するARM用のコンパイラ GCCをインストールします。

Cygwinと呼ばれるWindows用のLinux環境を導入して、GCCのソースコードからARM用のGCCをコンパイルしてインストールする方法もありますが、今回はお手軽に使用することを前提にしていますので、Windowsようにコンパイル済みのARM GCCをインストールすることにします。

今回はGNUARM(http://www.gnuarm.com)からGCCのバイナリを入手します。


このサイトのFILESに移動して


最新版(2005/5/18時点)の「GCC-4.0 toolchain」をダウンロードします。

実行可能ファイル(EXE)ですのでそのまま実行してインストールします。

Nextをクリック。


「I accept agreement」をチェックしてNextをクリック。


インストール先はデフォルトで「C:\Programfikes......」ですが、
今回は「C:\GNUARM」に変更しておきます。
Nextをクリック。


コンポーネントの選択ですが、LPCマイコンはBig Endianをサポートしていませんので、
「Big Endian」のチェックを外します。
Nextをクリック。


Nextをクリック。


Cygwin用のDLLもインストールされるように
「Install Cygwin DLLs........」オプションにチェックをいれます。
Nextをクリック。


インストールを開始するために Install をクリック。


環境変数のPATHにGNUARMは追加しませんので、
「Add the executables directory .....」のチェックを外します。
(PATHの設定はバッチファイルなどで個別に設定したほうが便利です。
理由はARM以外にAVRなどの複数のGCC環境を作るときに不便だからです。)
Finish をクリックしてインストール完了です。

<makeなど足りないファイルのインストール>

GNUARMのディストリビューションにはmakeプログラムなどの、基本的なツール類が含まれていません。
これでは不便ですので、WinAVRに付属していたutilsをインストールしておきましょう。
ダウンロード(utils.zip)して解凍して作成されるutilsディレクトリごとC:\GNUARMディレクトリにコピーします。

GNUARMに含まれるGDBやInsightを実行するために必要なDLLのcygncurses-8.dllがインストールされていませんので、
ダウンロード(cygncurses-8.dll)してC:\GNUARM\BINディレクトリにコピーしておいてください。

<サンプルスケルトン&JTAGツールのセットアップ>

EZ-ARM7ですぐに使用できるサンプルソース&JTAGツールをダウンロード(lpc2214_blink.zip)して解凍してください。
(mini EZ-ARM7の場合はこちらをダウンロード(lpc2138_blink.zip)
解凍するとlpc2214_blink(lpc2138_blink)ディレクトリが作成されます。解凍する場所はどこでもかまいません。
以下のファイルが含まれています。

ファイル名 用途
lpc2214.h
あるいは
lpc2138.h
LPC2214をコントロールするためのI/Oレジスタなどが定義されている
blink.c LEDの点滅サンプルC言語プログラム
boot.s CPUのリセット後に最初に実行されるスタートアップルーチン。この中からCのmain関数を呼ぶ。
makfile プログラムをmakeするための指示ファイル
コンパイルオプションや使用ソースファイルなどが記述されている
lpc2214-rom.ld
あるいは
lpc2138-rom.ld
リンカが使用するロードスクリプトファイル
ROM/RAMの開始アドレス・大きさなどが記述されている。ROM化バイナリを作成すのに必要。
setenv.cmd GNUARM実行用の環境設定用バッチファイル
PATHにC:\GNUARM\binとutils\binを追加している。
jtag_flash.exe jtag経由でフラッシュを書き込むツール
指定したhexファイルを書き込んで、実行する。
第2パラメータに'N'を指定すると書き込み後、実行しない。
jtag_stub.exe GDB/Insight用のJTAGデバッガ

setenv.cmdはPATHを設定するためのものですので、C:\GNUARM以外にGCCをインストールした場合は修正する必要があります。また、Win98系のOSでは拡張子を「.cmd」から「.bat」に変更する必要があります。

ユーザが独自のプログラムを開発する場合はこのスケルトンファイルをベースに拡張していくと楽でしょう。

<実際にコンパイル & 実行してみる>

前置きが長くなりましたが、実際にコンパイルして実行してみましょう。
コマンドプロンプト(DOS窓)を開き、サンプルスケルトンのディレクトリ(lpc2214_blinkあるいはlpc2138_blink)に移動します。

最初に一度だけsetenvを実行します。

EZ-ARM7+MINI EZ-USBをPCと接続します。
そしてmake runを実行すれば、コンパイル、リンク、フラッシュ書き込み&実行、が行われます。


makeファイルには以下のターゲットがあります

コマンド ターゲット(機能)
make コンパイル&リンクしてelfファイルを生成
make clean 生成ファイル(.o .lst .elf .hex .bin)を削除
make hex hex(ヘキサ)ファイルを生成
make bin bin(バイナリ)ファイルを生成
make lst リスティング(アセンブル)ファイルの生成
make run コンパイル&リンクしてフラッシュに書き込み、プログラムを起動する
make debug コンパイル&リンクしてフラッシュに書き込み、Insight/GDBを起動する。プログラムは自動起動しないので、デバッガで指示する