<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 安全與國防 > 設計應用 > 基于嵌入式技術(shù)的MultiBus-CPU模塊設計

基于嵌入式技術(shù)的MultiBus-CPU模塊設計

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

  

  數組里每個(gè)元素的第1個(gè)值代表寄存器的名稱(chēng),第2個(gè)值代表要設定的數值(1個(gè)十六進(jìn)制的數)。32h寄存器用于設定LCD顯示的水平像素數目,計算方法是把第2個(gè)值轉換成十進(jìn)制,加1再乘以8就得出水平像素。例如,0x63換算成十進(jìn)制為99,加1乘以8就是800。38h和39h寄存器分別設置成0x57和Ox02,就可以顯示600的垂直分辨率。計算方法是以39h寄存器的bitO和bitl位為高位,38h寄存器的bit0~bit7為低位,組成的一個(gè)十六進(jìn)制的數,再轉換成十進(jìn)制。除了要修改這3個(gè)寄存器外,34h和3Ah這兩個(gè)寄存器也會(huì )對顯示的分辨率有影響。

  幀緩沖設備也屬于字符設備,要通過(guò)“文件層一驅動(dòng)層”的接口方式來(lái)對LCD進(jìn)行驅動(dòng),就必須對File_operationes數據結構的參數fh_ops進(jìn)行填充,并實(shí)現其對應的成員函數。本系統在include/Limix/fb.h中定義了幀緩沖區的文件操作,部分代碼如下:



  這個(gè)結構中的每一個(gè)字段都必須指向驅動(dòng)程序中實(shí)現特定操作的函數。對于不支持的操作,對應的字段可以被置為NULL,或留到后續開(kāi)發(fā)時(shí)再添加。本中實(shí)現特定操作的成員函數的代碼如下:



  接下來(lái)把一些調用的函數寫(xiě)完整,編寫(xiě)好程序后用arm-linux-gcc編譯驅動(dòng);然后對其動(dòng)態(tài)加載,或靜態(tài)將其編譯到Linux內核;加載完程序后,就可以編寫(xiě)應用程序進(jìn)行讀/寫(xiě)等操作了。

  4.2 MiniGUI的移植

  在嵌入式開(kāi)發(fā)環(huán)境中,獨立的顯示操作人機界面是非常必要的。它可以使嵌入式系統對PC系統的依賴(lài)性降到最低,可以直接操作嵌入式系統并顯示運行結果。MultiBus-CPU采用標準的USB鍵盤(pán)、USB鼠標、VGA顯示器作為人機交互界面,使用習慣類(lèi)同于PC機,簡(jiǎn)易了開(kāi)發(fā)者的開(kāi)發(fā)過(guò)程,并且用戶(hù)的使用過(guò)程也變得簡(jiǎn)單、快捷、易于操作。

  MiniGUI是遵循GPL條款發(fā)布的自由軟件,其目標是為基于Linux的實(shí)時(shí)嵌入式系統提供一個(gè)輕量級的圖形用戶(hù)界面支持系統。與QT/Embedded、MicoroWindows等其他GUI相比,MiniGUI的最顯著(zhù)特點(diǎn)就是輕型、占用資源少。據稱(chēng)MiniGUI能夠在CPU主頻為30MHz、僅有4 MB RAM的系統上正常運行,這是其他多種GUI所無(wú)法達到的。

  MiniGUI在A(yíng)T91RM9200上的移植包括4個(gè)步驟:

 ?、贅嫿↙inux交叉編譯環(huán)境。通常使用的交叉編譯工具是arm-Linux-gcc2.95.3版本。下載此交叉編譯工具后在Linux內安裝好,并且在PATH中添加/usr/local/arm-Linux/bin路徑,交叉編譯環(huán)境就構建好了。

 ?、诮徊婢幾gMiniGUI,這是最關(guān)鍵的一步。首先從網(wǎng)上下載MiniGUI源程序包(包括庫文件和資源文件),以及其他支持圖形界面的源程序包;然后用上一步安裝好的交叉編譯工具對其進(jìn)行編譯,編譯時(shí)可指定編譯后庫文件及資源文件的安裝位置。

 ?、劭截怣iniCUI資源到開(kāi)發(fā)板。將第2步編譯好的庫文件及資源文件拷貝到開(kāi)發(fā)板上??截愔跋扔胊rm-Linux-strip命令清除文件中的調試信息,這樣就使文件體積大大縮小,可以滿(mǎn)足嵌入式系統的需要。

 ?、馨遢dLinux的MiniGUI環(huán)境配置。將第2步安裝好的MiniGUI配置文件MiniGUI.cfg下載到板子中,并將其中fbcon的defaultmode設置為合適的顯示模式。

結 語(yǔ)

  本文基于設計了一種MultiBus-CPU模塊,能夠滿(mǎn)足各種嵌入式開(kāi)發(fā)環(huán)境的設計要求。該模塊軟硬件均采用模塊化設計,采用國外廣泛應用的ModBus通信協(xié)議,可滿(mǎn)足工業(yè)現場(chǎng)的測控需要。


上一頁(yè) 1 2 3 4 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>