作成したアプリケーションをdistパッケージ(uClinux-dist.tar.gz)に登録し、コンフィグメニューから選択・コンパイルできるようにする方法です。
sample というアプリケーションを追加する例を元に説明します。
1. アプリケーション用ディレクトリの作成
はじめに、distパッケージを展開しておきます。
以後、展開後作成されるディレクトリ(uClinux-dist)をワークディレクトリと呼びます。
ワークディレクトリ下にある「user」ディレクトリ内に、アプリケーション用のディレクトリ「sample」を作成し、サンプルプログラムの作成で作成したソースコードをコピーします。
2. config.in ファイルへ設定を追加
config.inファイルを修正して、コンフィグメニュー(make menuconfig)から選択できるようにします。config.inファイルはワークディレクトリ下にある「config」ディレクトリ内にあります。
作成したプログラムはコンソールに文字列表示するだけの単純なプログラムですので「Miscellaneous Applications」から選択できるようにします。
bool 'rootloader' CONFIG_USER_ROOTLOADER_ROOTLOADER
bool 'sample' CONFIG_USER_SAMPLE_SAMPLE <span class="comment">← この行を新たに追加する</span>
bool 'setserial' CONFIG_USER_SETSERIAL_SETSERIAL
保存して、編集を終了します。
追加した行の「CONFIG_USER_SAMPLE_SAMPLE」の文字列は自由に設定して構いませんが、すでに使用されている文字列と重複しないように注意して下さい。
3. Makefile ファイルへ設定を追加
続いて、Makefile を修正してアプリケーションがコンパイルされるように設定します。
Makefile は ワークディレクトリ下の「user」ディレクトリ内にあります。
dir_$(CONFIG_USER_SAMBA_SMBUMOUNT) += samba
dir_$(CONFIG_USER_SAMPLE_SAMPLE) += sample <span class="comment">← この行を新たに追加する</span>
dir_$(CONFIG_USER_SASH_REBOOT) += sash
括弧内の文字列(CONFIG_USER_SAMPLE_SAMPLE)は、上記 2)と同じ文字列を指定して下さい。
保存して、編集を終了します。
4. イメージファイルへ追加するための設定
コンパイル後、作成されたオブジェクトファイルがイメージファイル(image.bin)に含まれるように、アプリケーション用のMakefileを編集します。
以下の例のようにMakefileを作成し、アプリケーション用ディレクトリ(sample)に追加して下さい。
EXEC = sample
OBJS = sample.o<br>
all: $(EXEC)<br>
$(EXEC): $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)<br>
romfs: <span class="comment">← ユーザーランドに </span>
$(ROMFSINST) /bin/$(EXEC) <span class="comment">← 追加するための記述</span><br>
clean:
-rm -f $(EXEC) *.elf *.gdb *.o<br>
5. アプリケーションの選択とコンパイル
ワークディレクトリから「make menuconfig」と入力し、登録したアプリケーションを選択します。
「[ ] Customize Vendor/User Settings (NEW)」をチェックして保存・終了します。
Target Platform Selection --->
[ ] Customize Vendor/User Settings (NEW)
続けてアプリケーションの選択画面に移ります。画面に新たに「sample」が追加されます。
Miscellaneous Applications --->
[ ] rootloader
[ ] sample (NEW)
[ ] setserial
チェックして保存後、「make」コマンドを発行してコンパイルを行います。
6. イメージ転送・動作確認
コンパイル完了後、作成したイメージ(image/image.bin)をArmadillo-Jに転送します。
転送方法はイメージの書き換え手順を参考にして下さい。
[PC ~]# <span class="input">hermit download -i image/image.bin -r user</span>
※ ワークディレクトリでコマンドを入力します。
7. 再起動
転送終了後、Armadillo-Jの再起動を行います。
再起動後、ログインして作成したアプリケーションが動作するかどうか確かめます。
BusyBox v0.60.5 (2004.04.07-09:32+0000) Built-in shell (msh)
[armadillo ~]$ <span class="input">sample</span>
Hello world!
[armadillo ~]$