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

Chinaunix

標(biāo)題: 移植DirectFB于SOC3210(龍芯) [打印本頁]

作者: loongson-gz    時(shí)間: 2011-02-15 14:02
標(biāo)題: 移植DirectFB于SOC3210(龍芯)

編譯平臺(tái):龍芯、中標(biāo)普華Linux桌面5

目標(biāo)平臺(tái):SOC3210

一、獲取源碼包

1、zlib-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/

3、libpng-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

6、DirectFB-examples-1.2.0.tar.gz

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

二、交叉編譯與安裝步驟

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

$mkdir /usr/directfb ——?jiǎng)?chuàng)建安裝目錄

$export PREFIX=/usr/directfb ——設(shè)置安裝路徑

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

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

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

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

$mkdir /usr/directfb/include /usr/directfb/lib /usr/directfb/bin /usr/directfb/man /usr/directfb/man/man1 ——?jiǎng)?chuàng)建下列編譯安裝所需目錄

2、編譯安裝zlib-1.2.5

$tar jxvf zlib-1.2.5.tar.bz2 

$cd zlib-1.2.5

$./configure  --prefix=$PREFIX 

$make

$make install

3、編譯安裝freetype‐2.3.5

$tar jxvf freetype‐2.3.5.tar.bz2

$cd freetype‐2.3.5

$./configure  --prefix=$PREFIX

$make

$make install

4、編譯安裝libpng-1.2.40

$tar jxvf libpng-1.2.40.tar.bz2

$cd libpng-1.2.40

$./configure  --prefix=$PREFIX

$make

$make install

5、編譯安裝jpegsrc.v6b

$tar zxvf jpegsrc.v6b.tar.gz

$cd jpeg-6b

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

$make

$make install

6、編譯安裝DirectFB-1.3.0

$tar zxvf DirectFB-1.3.0.tar.gz

$cd DirectFB-1.3.0

$./configure  --prefix=$PREFIX 

$make

$make install

7、編譯安裝DirectFB樣例DirectFB-examples-1.2.0

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

$cd DirectFB-examples-1.2.0

$./configure  --prefix=$PREFIX

$make

$make install

DirectFB與樣例交叉編譯完成。

三、本機(jī)運(yùn)行測(cè)試

本機(jī)的硬件與軟件平臺(tái)與SOC3210是相同的,可以于本機(jī)先行運(yùn)行測(cè)試。

$cd DirectFB-examples-1.2.0/src  或  cd /usr/directfb/bin

$ls

$./df_andi

全屏顯示許多移動(dòng)的企鵝。

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

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

參考SOC3210的《制作ramdisk文件系統(tǒng)》的制作

1、busybox-1.1.0 ——制作根文件系統(tǒng)的工具

$tar jxvf busybox-1.1.0.tar.bz2

$cd busybox-1.1.0

$make menuconfig

出錯(cuò)提示:

>> Unable to find the Ncurses libraries. 

>> 

>> You must have Ncurses installed in order 

>> to use 'make menuconfig' 

2、安裝ncurses-5.7

$tar zxvf  ncurses-5.7.tar.gz

$cd ncurses-5.7

$./configure --with-shared --with-normal   --with-libtool --enable-overwrite

$make

$make install

3、可以進(jìn)入busybox-1.1.0

$make menuconfig

——進(jìn)行配置

4、根據(jù)SOC3210的《制作ramdisk文件系統(tǒng)》步驟制作。

最后把"_install"目錄改名為"ramdisk"。

$mv _install ramdisk$cd ramdisk      ——進(jìn)入根文件系統(tǒng)ramdiskramdisk的制作參考SOC3210文檔

5、修改根文件系統(tǒng)

$cd ramdisk      ——進(jìn)入根文件系統(tǒng)ramdisk。

$cp /usr/directfb usr    ——必須把交叉編譯后的directfb放于此目錄,因?yàn)?FONT face="Times New Roman">DirectFB編譯時(shí) 已經(jīng)把這個(gè)目錄編譯到程序中,無法后期設(shè)置。

$vi etc/profile

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

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

——設(shè)置directfb程序所需庫文件路徑

否則SOC3210運(yùn)行時(shí)會(huì)報(bào)錯(cuò),如error while loading shared libraries: libdirectfb-1.3.so.0

保存退出。

$mknod dev/fb0 c 29 0

——?jiǎng)?chuàng)建frame buffer的設(shè)備文件

否則SOC3210運(yùn)行時(shí)會(huì)報(bào)錯(cuò):

(!) 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運(yùn)行時(shí)會(huì)報(bào)錯(cuò):

(!) 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程序運(yùn)行時(shí)的配置文件。其具體參數(shù)可以參考:

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

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

或者在終端上查看$man directfbrc

改為:

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

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

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

mode = 320x240 ——設(shè)定默認(rèn)的屏幕顯示320x240

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

pixelformat = RGB16 ——設(shè)置默認(rèn)的像素格式

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

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

no-vt ——取消虛擬終端

保存退出。

6、cramfs-1.1   ——制作cramfs格式文件系統(tǒng)的工具

$tar zxvf cramfs-1.1.tar.gz

$cd cramfs-1.1

$make

$cp mkcramfs cramfsck  /bin        ——把可執(zhí)行文件mkcramfscramfsck拷貝到/bin

7、制作cramfs格式文件系統(tǒng)

$cd .. ——退到上一層

$mkcramfs  ramdisk  ramdisk-cramfs.img

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

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

SOC3210上電。

SecureCRT終端中

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

——設(shè)置啟動(dòng)參數(shù)

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

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

關(guān)于TFTP的使用參考《Ubuntu-10.04下安裝與使用TFTP

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

六、SOC3210運(yùn)行測(cè)試DirectFB樣例

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

#cd /usr/directfb/bin

#ls

#./df_andi

顯示許多移動(dòng)的企鵝。

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

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

至此移植完成。

  

                                                                 ai011h

                                                               2011-02-15

 






歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2