亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1397 | 回復: 0
打印 上一主題 下一主題

移植DirectFB于SOC3210(X86) [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-02-15 13:56 |只看該作者 |倒序瀏覽

編譯平臺:x86VMwareUbuntu-10.04

目標平臺:SOC3210

交叉編譯工具鏈:gcc-3.4.6(mipsel)

一、獲取源碼包

1zlib-1.2.5.tar.bz2

http://sourceforge.net/projects/libpng/files/zlib/1.2.5/zlib-1.2.5.tar.bz2/download

2、freetype‐2.3.5.tar.bz2

http://download.savannah.gnu.org/releases/freetype/

3libpng-1.2.40.tar.bz2

http://sourceforge.net/projects/libpng/files/libpng12/older-releases/1.2.4 0/libpng-1.2.40.tar.bz2/download

4、jpegsrc.v6b.tar.gz

http://dir.filewatcher.com/d/GNU/Other/jpegsrc.v6b.tar.gz.613261.html

5、DirectFB-1.3.0.tar.gz

http://directfb.org/index.php?path=Main%2FDownloads&page=0

6DirectFB-examples-1.2.0.tar.gz

http://directfb.org/index.php?path=Main%2FDownloads&page=1

二、交叉編譯與安裝步驟

1、搭建交叉編譯工具鏈

$tar zxvf gcc-3.4.6.tgz -C /opt ——需要解壓到/opt目錄下

$export PATH=/opt/gcc-3.4.6/bin:$PATH ——設置工具鏈的環(huán)境變量

另外:如果需要在另外的終端和重啟機子后都包含這環(huán)境變量的話,可以把/opt/gcc-3.4.6/bin: 添加到/etc/environment文件下,然后打開新終端或重啟虛擬機。

2、設置編譯安裝所需環(huán)境變量

$mkdir /usr/directfb ——創(chuàng)建安裝目錄

$export PREFIX=/usr/directfb ——設置安裝路徑

$export LDFLAGS=-L$PREFIX/lib  ——設置庫文件路徑

$export CFLAGS="-g -I$PREFIX/include"  ——設置頭文件路徑

$export CPPFLAGS="-g -I$PREFIX/include" ——設置頭文件路徑

$export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig ——設置配置信息文件路徑

3、編譯安裝zlib-1.2.5

$tar jxvf zlib-1.2.5.tar.bz2 

$cd zlib-1.2.5

$./configure  --prefix=$PREFIX  --shared   

——不能加--host=mipsel-linux”,否則出錯。

$vi Makefile
——Makfile里的gccar,ranlib全都替換成mipsel-linux-gcc,mipsel-linux-ar, mipsel-linux-ranlib

$make

$make install

4、編譯安裝freetype‐2.3.5

$tar jxvf freetype‐2.3.5.tar.bz2

$cd freetype‐2.3.5

$./configure  --host=mipsel-linux  --prefix=$PREFIX

$make

$make install

5、編譯安裝libpng-1.2.40

$tar jxvf libpng-1.2.40.tar.bz2

$cd libpng-1.2.40

$./configure  --host=mipsel-linux  --prefix=$PREFIX  --with-gnu-ld

$make

$make install

6、編譯安裝jpegsrc.v6b

$tar zxvf jpegsrc.v6b.tar.gz

$cd jpeg-6b

$./configure  --host=mipsel-linux  --prefix=$PREFIX  --enable-shared

$vi Makefile

——Makefile里的gcc替換成mipsel-linux-gcc

$make

$make install

可能有出錯提示:

無法創(chuàng)建普通文件"/usr/directfb/man/man1/cjpeg.1"

參考解決:

$mkdir /usr/directfb/man /usr/directfb/man/man1

$make install

7、編譯安裝DirectFB-1.3.0

$tar zxvf DirectFB-1.3.0.tar.gz

$cd DirectFB-1.3.0

$./configure --prefix=$PREFIX --host=mipsel-linux --enable-sdl=no --enable-x11=no --enable-jpeg  --enable-freetype  --enable-png  --with-gfxdrivers=none

參考:如果需要關閉jpeg的支持,可以加上--enable-jpeg=no
$make

注意:可能會有出錯提示

/opt/gcc-3.4.6/bin/../lib/gcc/mipsel-linux/3.4.6/../../../../mipsel-linux/b in/ld: warning:  libz.so.1,  needed by /usr/directfb/lib/libpng12.so, not  found (try using -rpath or  -rpath-link)

/usr/directfb/lib/libpng12.so: undefined reference to `deflate'

……

/usr/directfb/lib/libpng12.so: undefined reference to `deflateEnd'

collect2: ld returned 1 exit status

make[2]: *** [directfb-csource] 錯誤 1

make[2]:正在離開目錄 `/……/DirectFB-1.3.0/tools'

參考解決辦法:

$cp /usr/directfb/lib/lib* /opt/gcc-3.4.6/mipsel-linux/lib/

——主要是用第五步的libpng-1.2.40所編譯出來的庫文件

來更新交叉編譯工具鏈的動態(tài)庫文件libpng12.so

$make

$make install

8、編譯安裝DirectFBDirectFB-examples-1.2.0

$tar zxvf DirectFB-examples-1.2.0.tar.gz

$cd DirectFB-examples-1.2.0

$./configure  --host=mipsel-linux  --prefix=$PREFIX

$make

$make install

DirectFB與樣例交叉編譯完成。

三、移植、運行測試

1、制作文件系統(tǒng)

制作一個新的文件系統(tǒng)有利于移植到開發(fā)板上。

$cd ramdisk      ——進入根文件系統(tǒng)ramdisk。ramdisk的制作參考SOC3210文檔

$cp /usr/directfb usr    ——必須把交叉編譯后的directfb放于此目錄,因為DirectFB編譯時 已經(jīng)把這個目錄編譯到程序中,無法后期設置。

$vi etc/profile

export LD_LIBRARY_PATH=/lib:/usr/lib改為:

  export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/directfb/lib

——設置directfb程序所需庫文件路徑

否則SOC3210運行會報錯,如error while loading shared libraries: libdirectfb-1.3.so.0

保存退出。

$mknod dev/fb0 c 29 0

——創(chuàng)建frame buffer的設備文件

否則SOC3210運行報錯:

(!) DirectFB/FBDev: Error opening '/dev/fb0'!

     --> No such file or directory

(!) DirectFB/Core: Could not initialize 'system_core' core!

--> File not found!

$cd dev

$ln -s console tty0

——鏈接終端

否則SOC3210運行報錯:

(!) DirectFB/core/vt: Couldn't open neither `/dev/tty0' nor `/dev/vc/0'!

     --> No such file or directory

(!) DirectFB/Core: Could not initialize 'system_core' core!

--> Initialization error!

$cd .. ——退到上一層

$vi usr/directfb/etc/directfbrc

directfbrcdirectfb程序運行時的配置文件。其具體參數(shù)可以參考:

http://www.directfb.org/docs/directfbrc.5.html

http://blog.chinaunix.net/u3/104335/showart_2061486.html

或者在終端上查看$man directfbrc

改為:

system = fbdev ——設定使用的圖形系統(tǒng)linux frame buffer

fbdev = /dev/fb0 ——打開設定的frame buffer (/dev/fb0

wm = default ——設定窗口管理層,默認default(0)

mode = 320x240 ——設定默認的屏幕顯示320x240

depth = 16 ——使用二進制位數(shù)設置每像素默認的像素深度16

pixelformat = RGB16 ——設置默認的像素格式

mouse-protocol = IMPS/2 ——為一個串口鼠標指定使用的協(xié)議

bg-color = 00FFFF ——控制背景的顏色

no-vt ——取消虛擬終端

保存退出。

$cd ..  ——退到上一層

$mkfs.cramfs ramdisk ramdisk-cramfs.img

文件系統(tǒng)制作完成,得到文件系統(tǒng)的鏡像文件ramdisk-cramfs.img。

2、燒寫文件系統(tǒng)到SOC3210

SOC3210上電。

SecureCRT終端中

PMON> set append 'g root=/dev/mtdblock1 rootfstype=cramfs noinitrd init=/linuxrc console=ttyS0,115200 display=truly320'

——設置啟動參數(shù)

PMON> devcp  tftp://192.168.3.113/ramdisk-cramfs.img  /dev/mtd1

——通過tftp文件系統(tǒng)鏡像文件ramdisk-cramfs.img燒寫到SOC3210mtd1分區(qū)上。

關于TFTP的使用參考《Ubuntu-10.04下安裝與使用TFTP

完成后重啟,輸入命令reboot。

3、SOC3210運行測試DirectFB樣例

進到SOC3210的文件系統(tǒng)

#cd /usr/directfb/bin

#ls

#./df_andi

顯示許多移動的企鵝。

類似運行測試其他例子,穩(wěn)定通過。

重啟SOC3210,再運行測試,穩(wěn)定通過。

至此移植完成。

                                            

                                                                             ai011h

                                                                           2011-02-15

                                                                                                                                         

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP