MC68EZ328 DragonOne SBCでuClinuxを動かす(10) ~自作アプリケーションを動かす~

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 <stdio.h>

int main(void) {
	printf("hello, uClinux-m68k DragonOne\n");
	return 0;
}

makeの実行

makeをして実行ファイルを作成します。

mc68ez328_dragonone_sbc_uclinux_part10_make1.png

romfsへの組み込み

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

mc68ez328_dragonone_sbc_uclinux_part10_make_romfs.png

イメージファイルの作成

make imageでhelloが追加されたimage.binを作成します。

mc68ez328_dragonone_sbc_uclinux_part10_make_image.png

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

mc68ez328_dragonone_sbc_uclinux_part10_romfs_list.png

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

mc68ez328_dragonone_sbc_uclinux_part10_images.png

フラッシュメモリへの書き込み

image.binをimage.bに変換して、フラッシュメモリに書き込みます。

uClinuxでアプリケーションを実行

フラッシュメモリに書き込んだあとリセットしてuClinuxを起動します。アプリケーションhelloは動くのでしょうか?

mc68ez328_dragonone_sbc_uclinux_part10_hello.png

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

前へ

MC68EZ328 DragonOne SBCでuClinuxを動かす(9) ~2002年のビルド環境を再現~

次へ

MC68EZ328 DragonOne SBCでuClinuxを動かす(11) ~ASCIIARTベンチマークを動かす~