<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > DirectFB在嵌入式遠(yuǎn)程桌面控制系統(tǒng)中的應(yīng)用

          DirectFB在嵌入式遠(yuǎn)程桌面控制系統(tǒng)中的應(yīng)用

          作者: 時(shí)間:2011-07-04 來(lái)源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/161873.htm

            2.3 系統(tǒng)上的移植

            Directvcn 依賴 庫(kù)實(shí)現(xiàn)功能,需要對(duì) 進(jìn)行移植。DirectFB 的交叉編譯條件是在Linux 內(nèi)核2.2 以上,并運(yùn)行幀緩沖(Framebuffer),以及必要的依賴庫(kù),比如zlib、libjpeg、libpng、freetype 等。完成設(shè)計(jì)的軟件開(kāi)發(fā)環(huán)境是:

            Ubuntu8.04 操作系統(tǒng),Linux 開(kāi)發(fā)環(huán)境。使用ELDK4.1交叉編譯器。步驟如下:

           ?。?) 從http://www.directfb.org/downloads/Core/獲取源代碼DirectFB-1.2.5.tar.gz 并解壓。

           ?。?)交叉編譯依賴庫(kù)并安裝到指定路徑下:

            -prefix=/usr/local/arm/eldk-4.1/usr/bin/arm-linux

           ?。?)設(shè)置交叉編譯環(huán)境變量,如PREFIX、LDFLAGS、CFLAGS、PKG_CONFIG_PATH 等路徑,配置并交叉編譯DirectFB-1.2.5。

           ?。?) 在rootfs/etc 下為directvnc 編輯配置文件directfbrc,內(nèi)容如下:

            編譯之前,去掉Makefile 中OMAP 驅(qū)動(dòng)的編譯,由于它是TI 的OMAP 系列CPU 專用的,在此包中缺少頭文件,會(huì)引起編譯錯(cuò)誤。#make #make install 編譯成功后在/usr/directfb 下會(huì)生成圖形支持庫(kù)的相關(guān)文件包。

            3 控制的實(shí)現(xiàn)

            3.1 Directvnc 及其功能框圖

            Directvnc VNC 服務(wù)器所使用的幀緩沖協(xié)議(RFB)。其協(xié)議消息分為3 個(gè)階段:握手、初始化和協(xié)議交互。

            最初的握手階段主要是對(duì)協(xié)議版本、像素?cái)?shù)據(jù)的格式和編碼類型進(jìn)行協(xié)商。第二步對(duì)報(bào)文初始化,主要是本客戶端和服務(wù)器端初始化消息。最后是正常的信息交互階段,客戶端發(fā)送請(qǐng)求,服務(wù)器端響應(yīng)并送回結(jié)果。所有的消息都由一個(gè)消息類型字節(jié)和詳細(xì)的消息數(shù)據(jù)組成。因此Directvnc 的運(yùn)行流程大致可以分為登陸服務(wù)器,初始化連接,信息交互和退出4部分。如圖2 所示。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();