なんとかなるさね

マイコンをネタにブログを始めてみました


RZマイコン基板(CEV-RZ/A1L) | Windows版Linaro ARM Linux GCCで'kensa'プログラムをビルド 

Windows版Linaro ARM Linux GCCでCEV-RZ/A1L制御プログラムを作れるだろうと考えているのですが、
CEV-RZ/A1L Linuxでハードウェア(というかマイコン)を制御するAPIのドキュメントが見当たらなかった
ので、サンプルプログラムから読み解こうと思い、CEV Linux SDK V1.00.00フォルダを探していたところ、
'samples'フォルダにあった'kensa'というプログラムに気付きました。いつものように、ちょっと好奇心
から、これをWindows版Linaro ARM Linux GCCでビルドしてみました。

CEV Linux SDK V1.00.00のセットアップフォルダ内にあった'kensa'プログラム


Windowsにコピーした'kensa'プログラム('webapp-src'フォルダのソースも使用するので一緒にコピー)


Windowsのコマンドプロンプトでe2studio同梱版make + Windows版Linaro ARM Linux GCCでビルド


Makefileは以下のように変更しました。(KERNEL_DIRは、Makefile中で定義されているかどうかチェック
しているため、形だけ残しました。KERNEL_DIRに形だけ設定したフォルダは、作ってさえいません。)

変更前

BUILDROOT_DIR:=../../../../..
KERNEL_DIR:=$(BUILDROOT_DIR)/output/build/linux-3.8.13
CROSS_COMPILE:=$(BUILDROOT_DIR)/output/host/usr/bin/arm-linux-gnueabihf-

変更後

KERNEL_DIR:=../linux-3.8.13
CROSS_COMPILE:=arm-linux-gnueabihf-

追記 : メモ

なお、e2studioには、極僅かなものしかありませんが、以下のMSYSベースのコマンドが同梱されています。

echo
make
mv
rm
sh


追記 : メモ

Makefileが複雑になってくると、書き換えが面倒になってきます。例えば、U-BootのMekefileには、以下の
記述がありました。MakefileにLinuxのシェルスクリプトが埋め込まれていて、その中でwcやawkといった
Linuxコマンドが使われています。(他にも、Linuxのcat,sed,find,xargs等々のコマンドも使われています。)

ifneq ($(CONFIG_BOARD_SIZE_LIMIT),)
BOARD_SIZE_CHECK = \
    @actual=`wc -c $@ | awk '{print $$1}'`; \
    limit=`printf "%d" $(CONFIG_BOARD_SIZE_LIMIT)`; \
    if test $$actual -gt $$limit; then \
        echo "$@ exceeds file size limit:" >&2 ; \
        echo "  limit: $$limit bytes" >&2 ; \
        echo "  actual: $$actual bytes" >&2 ; \
        echo "  excess: $$((actual - limit)) bytes" >&2; \
        exit 1; \
    fi
else
BOARD_SIZE_CHECK =
endif

追記 : メモ

誰か既にやっている人はいないものだろうか、、、

Google検索 - U-BootをWindows上でビルド
https://www.google.co.jp/search?q=U-Boot%E3%82%92Windows%E4%B8%8A%E3%81%A7%E3%83%93%E3%83%AB%E3%83%89

関連記事

2013/12/07   blog-entry-378   category: Pleiades & CrossGCC

go page top