sudo apt-get install autoconf automake libtool
wget https://www.dropbox.com/s/viw8gg5n896kfu3/4.3.1-eabi-armv6-20080707.tar.bz2
sudo mkdir -p /usr/local/arm
sudo chmod 1777 /usr/local/arm
sudo chown -R $USER:$GROUPS /usr
cd /usr/local/arm
tar jxvf ~/Download/4.3.1-eabi-armv6-20080707.tar.bz2
vi .bashrc在底下新增兩行
CCACHE_PATH=/usr/local/arm/4.3.1-eabi-armv6/usr/bin:$CCACHE_PATH
PATH=/usr/local/arm/4.3.1-eabi-armv6/usr/bin:$PATH
重新啟動Terminal 或者source .bashrc
-----編譯需要的函式庫:zlib、tslib、libmad、libid3tag、madplay-----
wget http://www.csie.nctu.edu.tw/~yenming/lab.tar.gz
tar xvf lab.tar.gz//移植zlib
tar xvf zlib-1.2.5.tar.gz
cd zlib-1.2.5/
./configure --prefix=/opt/arm/usr --shared
vi Makefile
修改
AR=arm-linux-ar rc
RANLIB=arm-linux-ranlib
make
make install
//移植tslib
wget https://www.dropbox.com/s/0zi00hu2nri9nxa/tslib1.4.tar.gz.gz
tar xvf tslib1.4.tar.gz
cd tslib
./autogen.sh
./configure --prefix=/opt/arm/usr CC=arm-linux-gcc --host=arm-linux ac_cv_func_malloc_0_nonnull=yes
make
make install
vi /opt/arm/usr/etc/ts.conf
將第二行
#module_raw input
改成module_raw input (注意前方不要留空格)
module variance delta=300 //濾波參數
module dejitter delta=500 //降噪參數
module variance delta=300 //濾波參數
module dejitter delta=500 //降噪參數
//移植libmad
tar xvf libmad-0.15.1b.tar.gz
cd libmad-0.15.1b
./configure --host=arm-linux --prefix=/opt/arm/usr --disable-shared --disable-debugging
vi Makefile
刪除--fforce-mem字串
make
make install
//移植libid3tagsudo apt-get source libid3tag
sudo chown -R $USER:$GROUPS libid3tag-0.15.1b
./configure CC=/usr/local/arm/4.3.1-eabi-armv6/usr/bin/arm-linux-gcc --prefix=/opt/arm/usr --host=arm-linux --disable-debugging --disable-shared --enable-static CPPFLAGS=-I/opt/arm/usr/include LDFLAGS=-L/opt/arm/usr/lib
make
make install
//移植madplay
sudo apt-get source madplay
sudo chown -R $USER:$GROUPS madplay-0.15.2b
./configure CC=/usr/local/arm/4.3.1-eabi-armv6/usr/bin/arm-linux-gcc --prefix=/opt/arm/usr --host=arm-linux --disable-debugging --disable-shared --enable-static CPPFLAGS=-I/opt/arm/usr/include LDFLAGS=-L/opt/arm/usr/lib
make
make install
---------------------進入正題,開始移植Qt4.8---------------------
wget http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-4.8.2.tar.gz
tar xvf qt-everywhere-opensource-src-4.8.2.tar.gz
cd qt-everywhere-opensource-src-4.8.2
export QTDIR=$PWD
export PATH=$QTDIR:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:/opt/arm/usr/lib:$LD_LIBRARY_PATH
vi $QTDIR/mkspecs/qws/linux-arm-g++/qmake.conf
QMAKE_CC = arm-linux-gcc
QMAKE_CXX = arm-linux-g++
QMAKE_LINK = arm-linux-g++
QMAKE_LINK_SHLIB = arm-linux-g++
QMAKE_AR = arm-linux-ar cqs
QMAKE_OBJCOPY = arm-linux-objcopy
QMAKE_STRIP = arm-linux-strip
mkdir -p /opt/arm/usr
./configure --prefix=/opt/arm/usr -xplatform qws/linux-arm-g++ -little-endian -no-qvfb -embedded arm -qt-zlib -qt-libpng -qt-libtiff -qt-libmng -qt-libjpeg -no-webkit -no-freetype -no-openssl -qt-mouse-tslib -L/opt/arm/usr/lib -I/opt/arm/usr/include
//出現選擇 、這是版權問題的選擇、如果用在商業用途請詳細確認
Type 'c' if you want to use the Commercial Edition.
Type 'o' if you want to use the Open Source Edition.
# 輸入o
Type '3' to view the GNU General Public License version 3.
Type 'L' to view the Lesser GNU General Public License version 2.1.
Type 'yes' to accept this license offer.
Type 'no' to decline this license offer.
# 輸入yes
Type 'c' if you want to use the Commercial Edition.
Type 'o' if you want to use the Open Source Edition.
# 輸入o
Type '3' to view the GNU General Public License version 3.
Type 'L' to view the Lesser GNU General Public License version 2.1.
Type 'yes' to accept this license offer.
Type 'no' to decline this license offer.
# 輸入yes
//可以去買個飲料, 大約10分鐘
make
//可以吃個飯, 大約50分鐘
make install
//大約15分鐘
將編好的程式移植到目標版上
mkdir -p ~/rootfs/opt/arm/usr
cp -a /opt/arm/usr ~/rootfs/opt/arm/usr
vi ~/rootfs/etc/profile
---新增以下內容---
export TSLIB_ROOT=/opt/arm/usr
export TSLIB_TSDEVICE=/dev/event1
export TSLIB_CALIBFILE=$TSLIB_ROOT/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export QTDIR=/opt/arm/usr
export QWS_MOUSE_PROTO="tslib"
export QWS_DISPLAY=LinuxFb:mmWidth=100:mmHeight=100
export QWS_SIZE="480x272"
export PATH="/opt/arm/usr/bin:$PATH"
export LD_LIBRARY_PATH="/opt/arm/usr/lib:$LD_LIBRARY_PATH"
export PKG_CONFIG_PATH="/opt/arm/usr/lib/pkgconfig"
如果你是用燒錄影像檔的方式到目標板上的話
在此特別注意影像檔案大小
是否超過編譯Kernel時所設定的rootfs容量大小
相關設定在kernel源碼資料夾下的
arch/arm/plat- s3c/include/plat/partition.h
如果有超過卻有沒修改的話會有以下幾個錯誤特徵:
無法正常開機
遺失一些lib
某些指令無法正常執行
所以~還是儘快重編kernel調整磁區大小吧!
另外簡單介紹一下partition.h 設定參數
offset表示開始位置size表示容量大小
像右圖就是設定
.name="U-boot",
.offset = 0,
.size = (4*SZ_1M),
.name="Kernel",
.offset (1*SZ_1M),
.size (1*SZ_3M),
0x8000000換算為10進位剛好是本塊nand flash大小128Mb
/****在目標版上測試tslib能否使用****/
在目標版執行tslib1.4校正TouchPanel
ts_calibrate
校正Touch Panel邊界,跟著它出現的畫面做操作
ln -s /opt/arm/usr/etc/pointercal /etc/pointercal
建置連結tslib執行時會參照的檔案
ts_test
測試Touch Panel是否正常
將編好的程式移植到目標版上
mkdir -p ~/rootfs/opt/arm/usr
vi ~/rootfs/etc/profile
---新增以下內容---
export TSLIB_ROOT=/opt/arm/usr
export TSLIB_TSDEVICE=/dev/event1
export TSLIB_CALIBFILE=$TSLIB_ROOT/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export QTDIR=/opt/arm/usr
export QWS_MOUSE_PROTO="tslib"
export QWS_DISPLAY=LinuxFb:mmWidth=100:mmHeight=100
export QWS_SIZE="480x272"
export PATH="/opt/arm/usr/bin:$PATH"
export LD_LIBRARY_PATH="/opt/arm/usr/lib:$LD_LIBRARY_PATH"
export PKG_CONFIG_PATH="/opt/arm/usr/lib/pkgconfig"
在此特別注意影像檔案大小
是否超過編譯Kernel時所設定的rootfs容量大小
相關設定在kernel源碼資料夾下的
arch/arm/plat- s3c/include/plat/partition.h
如果有超過卻有沒修改的話會有以下幾個錯誤特徵:
無法正常開機
遺失一些lib
某些指令無法正常執行
所以~還是儘快重編kernel調整磁區大小吧!
另外簡單介紹一下partition.h 設定參數
offset表示開始位置size表示容量大小
像右圖就是設定
.name="U-boot",
.offset = 0,
.size = (4*SZ_1M),
.name="Kernel",
.offset (1*SZ_1M),
.size (1*SZ_3M),
0x8000000換算為10進位剛好是本塊nand flash大小128Mb
/****在目標版上測試tslib能否使用****/
ts_calibrate
校正Touch Panel邊界,跟著它出現的畫面做操作
ln -s /opt/arm/usr/etc/pointercal /etc/pointercal
建置連結tslib執行時會參照的檔案
ts_test
測試Touch Panel是否正常
/****在目標版上測試QT及其觸控供能否使用****/
opt/arm/usr/demo/textedit/textedit -qws
沒有留言:
張貼留言