因Yahoo!奇摩部落格將於2013年12月26日終止服務故遷移至此
把 GTK+ 和 DirectFB 放到新華的 Creator 實驗板上
基本上這是報告釋出的產品
為避免被說是抄來的所以 Delay 了一點時間...
記下修改過程供參考
本文僅供該實驗板使用
其他實驗板怎麼改我不知道,先聲明XD
然後寫一隻程式丟上去跑 : 踩地雷
用觸控板操作
因為不知道怎麼接收點擊信號
因此 button 的事件是用滑鼠移過偵測
所以那些輸贏畫面除了是"獎品"XD, 亦是滑鼠引導的對話框
把按鈕放到左上角,使用者必須移過去才能繼續
以避免誤觸開新遊戲的地雷
Kernel 和 Toolchain 均採用板子光碟裡附的
Kernel 2.6.15.3 和 arm-gcc 4.0.2
export projroot=/usr/myproj export target=arm-unknown-linux-gnu export toolroot=$projroot/toolchain/gcc-4.0.2-glibc-2.3.3/$target export PATH=$PATH:$toolroot/bin export sysroot=$projroot/ export PREFIX=/usr/rootfs/pxa270-gui export LD_LIBRARY_PATH=$PREFIX/lib export PKG_CONFIG_PATH=$LD_LIBRARY_PATH/pkgconfig export PATH=$PREFIX/bin:$PATH zlib-1.2.3 ./configure --prefix=$PREFIX –shared # 修改 makefile,改這個: LDSHARED=$(CC) -shared –Wl,-soname,libz.so.1 make CC=$target-gcc make install libpng-1.2.23 ./configure --host=$target --build=i386-linux --prefix=$PREFIX \ CFLAGS="-I$PREFIX/include" LDFLAGS="-L$PREFIX/lib" --disable-static make make install gettext-0.16 ./configure --host=$target --build=i386-linux --prefix=$PREFIX \ --disable-static --disable-java make make install glib-2.12.12 sudo apt-get install libglib2.0-dev # 在configure裡搜尋cannot run test program while cross compiling和cross-compiling # 並移除其下方的{ (exit 1); exit 1; }; ./configure --host=$target --build=i386-linux --prefix=$PREFIX # 修改glib/giounix.c改這: #include <bits/posix1_lim.h> make make install busybox 1.8.2 抽出cmp工具供後面套件使用 make menuconfig make CROSS_COMPILE=$target- CONFIG_PREFIX=./_install install atk-1.10.3 ./configure --host=$target --build=i386-linux --prefix=$PREFIX --disable-glibtest # Makefile 中找到 $(GLIB_GENMARSHAL) 的指令,將其註解, # 並在target上執行指令產生對應檔案,修改 #define PATH_MAX 260 make make install freetype-2.3.5 ./configure --host=$target --build=i386-linux --prefix=$PREFIX --disable-static make make install libxml2-2.6.30 ./configure --host=$target --build=i386-linux --prefix=$PREFIX \ --without-debug --disable-static # 修改 testModule.c 加上: #define PATH_MAX 260 make make install fontconfig-2.4.92 ./configure --host=$target --build=i386-linux --prefix=$PREFIX \ --with-freetype-config=$PREFIX/bin/freetype-config --disable-static \ --with-confdir=$PREFIX/etc/fonts --enable-libxml2 --with-arch=arm make make install jpeg v0.6b ./configure --host=$target --build=i386-linux --prefix=$PREFIX \ --exec-prefix=$PREFIX --disable-static make CC=$target-gcc CXX=$target-g++ AR="$target-ar rc" STRIP=$target-strip \ LD=$target-ld RANLIB=$target-ranlib AS=$target-as NM=$target-nm \ AR2=$target-ranlib make install make install-lib make install-headers DirectFB-1.0.0 ./configure --host=$target --build=i386-linux --prefix=$PREFIX \ --disable-gif CFLAGS="-I$PREFIX/include" LDFLAGS="-L$PREFIX/lib" \ CPPFLAGS="-I$PREFIX/include" --with-sysroot=$PREFIX --exec-prefix=$PREFIX \ --with-tests --with-gfxdrivers=none --disable-sdl --disable-x11 --enable-multi make make install 修改 Kernel driver # 修改 kernel 裡(drivers/mfd)的 ucb1c00-ts.c並編譯 // { TFT_MTLCD_0353224A, 320, 240, 60, 68, 965, 940 , "MTLCD-0353224A" , 2}, // MTLCD-0353224(3.5" 320*240 Landscape) { TFT_MTLCD_0353224A, 240, 320, 60, 68, 965, 940 , "MTLCD-0353224A" , 2}, // MTLCD-0353224(3.5" 320*240 Landscape) # 將tmpfs掛載至/dev/shm供DirectFB使用,接著繼續往下編譯。 cairo-1.4.12 ./configure --host=$target --build=i386-linux --prefix=$PREFIX \ --enable-directfb=yes --disable-xlib --enable-ps=yes --enable-png=yes \ --disable-win32 --without-x --enable-freetype=yes --enable-pdf=yes \ --enable-svg=yes LDFLAGS="-L$PREFIX/lib" CFLAGS="-I$PREFIX/include" --disable-static make make install # 新增以下 lib 到 cairo.pc 中: -lfreetype -lfontconfig -ldirectfb -lz -ldirect -lpng12 -lxml2 -lfusion pango-1.16.5 ./configure --host=$target --build=i386-linux --prefix=$PREFIX --without-x \ LDFLAGS="-L$PREFIX/lib" CFLAGS="-I$PREFIX/include" make make install # 新增以下lib到pango.pc中: -lglib-2.0 -lgmodule-2.0 -lgobject-2.0 # 新增以下lib到pangocairo.pc中: -lpangoft2-1.0 # 在目標平台上執行pango-querymodules > $PREFIX/etc/pango/pango.modules來產生組態檔 gtk+-2.10.14 ./configure --host=$target --build=i386-linux --prefix=$PREFIX \ --with-gdktarget=directfb --without-libtiff CFLAGS="-I$PREFIX/include" \ --disable-glibtest --disable-largefile \ LDFLAGS="-L$PREFIX/lib" CPPFLAGS="-I$PREFIX/include" # 到 Makefile 移除 printbackend (若編譯到此模組失敗時才動手) make make install e2fsprog 1.40.2 ./configure --host=$target --build=$target --prefix=$PREFIX cd misc make CC=$target-gcc LD=$target-ld # 添入boot參數 setenv bootargs root=/dev/mtdblock3 rw rootfstype=jffs2 console=ttyS0,9600n8 mem=64M video=pxafb:mode:280x330-16,dpc:DPC lcdtype=MTLCD-0353224A
開機步驟加入執行檔路徑即可自動執行。
以上是編譯過程
詳細開機程序不詳述
很多書籍有
這是開啟畫面 :
新遊戲畫面
遊戲中畫面
輸了的畫面XD
贏了,有獎品......
雖然有點噁XDDDDDD
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。