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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Microwindows在基于單片機(jī)嵌入式系統(tǒng)中的移植

          Microwindows在基于單片機(jī)嵌入式系統(tǒng)中的移植

          作者: 時(shí)間:2011-01-24 來源:網(wǎng)絡(luò) 收藏

          圖形引擎層

          microwindows系統(tǒng)中的核心函數(shù)是在圖形引擎層通過調(diào)用下層硬件設(shè)備驅(qū)動(dòng)程序來實(shí)現(xiàn)的。這些函數(shù)對(duì)屏幕、鼠標(biāo)、鍵盤等驅(qū)動(dòng)程序進(jìn)行了封裝,為api提供了服務(wù),用戶調(diào)用最上層提供的編程接口,而不需要直接調(diào)用引擎層的例程。在microwindows的源代碼中,核心的例程包括:

          devdraw.c: 主要的圖形繪制操作,描畫和填充、圓、多邊形、文本與位圖的顯示,顏色轉(zhuǎn)換相關(guān)的代碼;

          devclip.c: 剪裁操作;

          devmouse.c:處理鼠標(biāo)操作的信息;

          devkbd.c: 處理鍵盤操作的信息;

          devpalx.c: 與調(diào)色板相關(guān)的代碼;

          devimage.c: 實(shí)現(xiàn)對(duì)gif、bmp、jpeg、ppm 等格式圖形的顯示操作;

          fongt_xxxx.c: 對(duì)不同字體的顯示操作

          api

          microwindows提供了兩種類型的api,以便更好地適應(yīng)在不同平臺(tái)上應(yīng)用程序的移植。一種是與win32/win ce 基本兼容的api,支持大多數(shù)的圖形操作,它的api是基于消息機(jī)制的。另一種是采用x體系的nano-x api,它是client/server模式的,在客戶端的api函數(shù)以nx……( )命名,在服務(wù)端的api函數(shù)以gr……( )命名。

          具體實(shí)現(xiàn)

          下面具體論述microwindows在pc機(jī)和s3c44b0x開發(fā)板上的實(shí)現(xiàn)。首先,需要下載相應(yīng)的安裝包,本文下載的是0.90版本的microwindows和相應(yīng)的字庫文件。同時(shí),由于microwindows需要使用freetype庫函數(shù)產(chǎn)生truetype字體,因此還需要下載安裝freetype,這里使用的的是1.3.1版本的freetype。

          pc機(jī)上實(shí)現(xiàn)

          解壓縮相關(guān)的安裝包,安裝freetype之后,就可以開始運(yùn)行microwindows。在解壓縮目錄中輸入命令:./xconfigure,就會(huì)出現(xiàn)相應(yīng)的配置菜單,由于是在pc機(jī)上運(yùn)行,應(yīng)根據(jù)具體的參數(shù)配置microwindows。具體的參數(shù)配置如下:

          (1) 點(diǎn)擊compiling option ,進(jìn)入編譯選項(xiàng)。在隨后彈出的子窗口中選中optimize,點(diǎn)擊ok 返回即可。

          (2) 點(diǎn)擊platform,進(jìn)入開發(fā)平臺(tái)選項(xiàng)。由于是在pc機(jī)上運(yùn)行,選擇“linux(native)”選項(xiàng)。在其后的“option”選項(xiàng)中,按如下配置:“screen driver”選項(xiàng)中,由于是在pc機(jī)上運(yùn)行,選擇“x11”;在“mouse driver”鼠標(biāo)選項(xiàng)中,選擇“gpm mouse”;在“keyboard driver”鍵盤選項(xiàng)中,選擇“tty”。

          (3) 點(diǎn)擊“libraries to compile”,進(jìn)入鏈接庫配置選項(xiàng)。其中有nanox庫和microwindows 庫,在“nanox”的“option”選項(xiàng)中,選擇“link app into server”和“compile demos”選項(xiàng)。

          關(guān)于其他的參數(shù)配置,包括字庫、文件格式支持等應(yīng)根據(jù)具體的情況進(jìn)行配置。至此,microwindows在pc機(jī)上運(yùn)行的配置工作已經(jīng)完成,存盤退出,屏幕顯示配置成功。輸入命令:make,完成編譯工作。當(dāng)編譯完成后,在src的bin目錄下有很多演示程序,一些是基于nano—x api 的,一些是基于win32 api 的,運(yùn)行即可。

          以上簡單論述了microwindows在pc機(jī)上運(yùn)行的方法與過程,pc機(jī)上的運(yùn)行過程相對(duì)簡單,只需要按照實(shí)際情況進(jìn)行配置,編譯即可。

          嵌入式開發(fā)板上的實(shí)現(xiàn)

          下面論述microwindows在以s3c44b0x為主控芯片的嵌入式開發(fā)板中運(yùn)行的步驟與方法。首先需要建立交叉編譯開發(fā)環(huán)境,這里建立的編譯器是arm-elf-gcc,匯編器是arm-elf-as,鏈接器為arm-elf-ld和庫管理器arm-elf-ar。接著,移植相應(yīng)的?clinux,關(guān)于此類的文章已經(jīng)較多,在此就不贅述了。最后,在clinux內(nèi)核中將s3c44b0x的幀緩沖設(shè)備驅(qū)動(dòng)打開,并需要建立/dev/fb0設(shè)備節(jié)點(diǎn),關(guān)于s3c44b0x的幀緩沖設(shè)備驅(qū)動(dòng)程序的開發(fā)已另文發(fā)表。至此,已經(jīng)做好microwindows移植的基礎(chǔ)工作,下面具體論述實(shí)現(xiàn)的步驟與方法。



          關(guān)鍵詞: 單片機(jī)

          評(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); })();