Howto

ユーザーランドアプリケーションを追加する(Armadillo-J)

作成したアプリケーションを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 &#39;sample&#39;       CONFIG_USER_SAMPLE_SAMPLE <span class="comment">← この行を新たに追加する</span>

bool &#39;setserial&#39;    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) &#42;.elf &#42;.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 ~]$