エラーメッセージ

Deprecated function: The each() function is deprecated. This message will be suppressed on further calls i18n_book_navigation_set_breadcrumb() (/home/sasaoj5/public_html/ms-cheminfo.com/sites/all/modules/i18n_book_navigation/i18n_book_navigation.module ファイル 212行).

Raspbian クロスツールのインストール

公式クロスツールを git リポジトリから入手します。

cd /nfs/rpi
git clone git://github.com/raspberrypi/tools

以下のコマンドにより環境を設定します。 qtplatz ソースディレクトリにある xterm-profile.sh を "xterm-profile.sh pi" のように起動することで必要な環境変数が設定された xterm を起動します。 

export PATH=$PATH:/nfs/rpi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin

 

下記コマンドにより gcc クロスコンパイラのバージョン名が表示されればインストールが完了しています。

arm-linux-gnueabihf-gcc -v

 

テスト: Hello World

ラズベリーパイ (raspbian) の /opt/src/vc ディレクトリを作業用にコピーします。

scp -r r_pi:/opt/src /nfs/home/pi

cd /nfs/home/pi/src/vc/hello_pi

hello_pi ディレクトリにある Makefile.include はセルフコンパイルように作られていますので、下記の(青で示した)ように修正します。

CC=arm-linux-gnueabihf-gcc
CXX=arm-linux-gnueabihf-gcc
TOP=../../../..

CFLAGS+=-DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -Wall -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi

LDFLAGS+=-L$(TOP)/vc/lib/ -lGLESv2 -lEGL -lopenmaxil -lbcm_host -lvcos -lvchiq_arm -lpthread -lrt -lm -L../libs/ilclient -L../libs/vgfont

INCLUDES+=-I$(TOP)/vc/include/ -I$(TOP)/vc/include/interface/vcos/pthreads -I$(TOP)/vc/include/interface/vmcs_host/linux -I./ -I../libs/ilclient -I../libs/vgfont

all: $(BIN) $(LIB)

%.o: %.c
        @rm -f $@
        $(CC) $(CFLAGS) $(INCLUDES) -g -c $< -o $@ -Wno-deprecated-declarations

%.o: %.cpp
        @rm -f $@
        $(CXX) $(CFLAGS) $(INCLUDES) -g -c $< -o $@ -Wno-deprecated-declarations

%.bin: $(OBJS)
        $(CC) -o $@ -Wl,--whole-archive $(OBJS) $(LDFLAGS) -Wl,--no-whole-archive -rdynamic

%.a: $(OBJS)
        $(AR) r $@ $^

clean:
        for i in $(OBJS); do (if test -e "$$i"; then ( rm $$i ); fi ); done
        @rm -f $(BIN) $(LIB)

 

その後、 

cd hello_world

make

生成した hello_world.bin をラズベリーパイにコピーし実行します。

 

リファレンス

http://www.raspberrypi.org/documentation/linux/kernel/building.md

http://stackoverflow.com/questions/16565308/setting-up-development-environment-for-raspberry-pi

http://hertaville.com/2012/09/28/development-environment-raspberry-pi-cross-compiler/

http://stackoverflow.com/questions/19162072/installing-raspberry-pi-cross-compiler

日本語

ユーザーログイン