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

MC68EZ328

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が動きました! これでいろんなアプリケーションを組み込むことができそうです。

タイトルとURLをコピーしました