uClinuxが動くようになりましたが、自分で作ったアプリケーションを動かすにはどうすればいいのでしょう。Google検索で見つけたuClinux-dist開発者ガイド(アットマークテクノ SUZAKUサイト)を参考にしてアプリケーションを動かしてみました。
作業ディレクトリの作成
ホームディレクトリにuClinux-distがあるとして、ホームディレクトリにmyappという作業用のディレクトリを作成しました。
$ cd
$ mkdir myapp
Makefileの作成
以下のようなMakefileを準備します。
ROOTDIR=../uClinux-dist
ROMFSDIR = $(ROOTDIR)/romfs
ROMFSINST = romfs-inst.sh
PATH := $(PATH):$(ROOTDIR)/tools
UCLINUX_BUILD_USER = 1
include $(ROOTDIR)/.config
LIBCDIR=$(CONFIG_LIBCDIR)
include $(ROOTDIR)/config.arch
EXEC = hello
OBJS = hello.o
all: $(EXEC)
$(EXEC): $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)
clean:
-rm -f $(EXEC) *.elf *.gdb *.o
romfs:
$(ROMFSINST) /bin/$(EXEC)
%.o: %.c
$(CC) -c $(CFLAGS) -o $@
アプリケーションプログラムのソースコードの準備
hello.cを用意しました。
#include
int main(void) {
printf("hello, uClinux-m68k DragonOne\n");
return 0;
}
makeの実行
makeをして実行ファイルを作成します。

romfsへの組み込み
make romfsでhelloの実行ファイルをromfsのディレクトリにコピーします。

イメージファイルの作成
make imageでhelloが追加されたimage.binを作成します。

make中のメッセージでhelloが組み込まれていることがわかります。

これでhelloが組み込まれたimage.binができました。

フラッシュメモリへの書き込み
image.binをimage.bに変換して、フラッシュメモリに書き込みます。
uClinuxでアプリケーションを実行
フラッシュメモリに書き込んだあとリセットしてuClinuxを起動します。アプリケーションhelloは動くのでしょうか?

無事helloが動きました! これでいろんなアプリケーションを組み込むことができそうです。
