DirectFB在嵌入式遠程桌面控制系統中的應用
Directvcn 依賴DirectFB 庫實現功能,需要對DirectFB 進行移植。DirectFB 的交叉編譯條件是在Linux 內核2.2 以上,并運行幀緩沖(Framebuffer),以及必要的依賴庫,比如zlib、libjpeg、libpng、freetype 等。完成設計的軟件開發環境是:
Ubuntu8.04 操作系統,嵌入式Linux 開發環境。使用ELDK4.1交叉編譯器。步驟如下:
(1) 從http://www.directfb.org/downloads/Core/獲取源代碼DirectFB-1.2.5.tar.gz 并解壓。
(2)交叉編譯依賴庫并安裝到指定路徑下:
-prefix=/usr/local/arm/eldk-4.1/usr/bin/arm-linux
(3)設置交叉編譯環境變量,如PREFIX、LDFLAGS、CFLAGS、PKG_CONFIG_PATH 等路徑,配置并交叉編譯DirectFB-1.2.5。
(4) 在rootfs/etc 下為directvnc 編輯配置文件directfbrc,內容如下:
編譯之前,去掉Makefile 中OMAP 驅動的編譯,由于它是TI 的OMAP 系列CPU 專用的,在此包中缺少頭文件,會引起編譯錯誤。#make #make install 編譯成功后在/usr/directfb 下會生成圖形支持庫的相關文件包。
3.1 Directvnc 及其功能框圖
Directvnc 應用VNC 服務器所使用的遠程幀緩沖協議(RFB)。其協議消息分為3 個階段:握手、初始化和協議交互。
最初的握手階段主要是對協議版本、像素數據的格式和編碼類型進行協商。第二步對報文初始化,主要是本客戶端和服務器端初始化消息。最后是正常的信息交互階段,客戶端發送請求,服務器端響應并送回結果。所有的消息都由一個消息類型字節和詳細的消息數據組成。因此Directvnc 的運行流程大致可以分為登陸服務器,初始化連接,信息交互和退出4部分。如圖2 所示。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論