公式クロスツールを 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
ラズベリーパイ (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