新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于嵌入式技術的MultiBus―CPU模塊設計

        基于嵌入式技術的MultiBus―CPU模塊設計

        作者: 時間:2010-06-25 來源:網絡 收藏

        數組里每個元素的第1個值代表寄存器的名稱,第2個值代表要設定的數值(1個十六進制的數)。32h寄存器用于設定LCD顯示的水平像素數目,計算方法是把第2個值轉換成十進制,加1再乘以8就得出水平像素。例如,0x63換算成十進制為99,加1乘以8就是800。38h和39h寄存器分別設置成0x57和0x02,就可以顯示600的垂直分辨率。計算方法是以39h寄存器的bitO和bitl位為高位,38h寄存器的bitO~bit7為低位,組成的一個十六進制的數,再轉換成十進制。除了要修改這3個寄存器外,34h和3Ah這兩個寄存器也會對顯示的分辨率有影響。
        幀緩沖設備也屬于字符設備,要通過“文件層-驅動層”的接口方式來對LCD進行驅動,就必須對File operationes數據結構的參數fb_ops進行填充,并實現其對應的成員函數。本系統在include/Linux/fb.h中定義了幀緩沖區的文件操作,部分代碼如下:

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

        本文引用地址:http://www.104case.com/article/151769.htm



        接下來把一些調用的函數寫完整,編寫好程序后用arm-linux-gcc編譯驅動;然后對其動態加載,或靜態將其編譯到Linux內核;加載完程序后,就可以編寫應用程序進行讀/寫等操作了。
        4.2 MinilGUI的移植
        開發環境中,獨立的顯示操作人機界面是非常必要的。它可以使系統對PC系統的依賴性降到最低,可以直接操作系統并顯示運行結果。-采用標準的USB鍵盤、USB鼠標、VGA顯示器作為人機交互界面,使用習慣類同于PC機,簡易了開發者的開發過程,并且用戶的使用過程也變得簡單、快捷、易于操作。
        MiniGUI是遵循GPL條款發布的自由軟件,其目標是為基于Linux的實時嵌入式系統提供一個輕量級的圖形用戶界面支持系統。與QT/Em-bedded、MicoroWindows等其他GUI相比,MiniGUI的最顯著特點就是輕型、占用資源少。據稱MiniGUI能夠在主頻為30 MHz、僅有4 MB RAM的系統上正常運行,這是其他多種GUI所無法達到的。
        MiniGUI在AT91RlM9200上的移植包括4個步驟:
        ①構建Linux交叉編譯環境。通常使用的交叉編譯工具是arm-Linux-gcc2.95.3版本。下載此交叉編譯工具后在Linux內安裝好,并且在PATH中添加/usr/loeal/arm-Linux/bin路徑,交叉編譯環境就構建好了。
        ②交叉編譯MiniGUI,這是最關鍵的一步。首先從網上下載MiniGUI源程序包(包括庫文件和資源文件),以及其他支持圖形界面的源程序包;然后用上一步安裝好的交叉編譯工具對其進行編譯,編譯時可指定編譯后庫文件及資源文件的安裝位置。
        ③拷貝MiniGUI資源到開發板。將第2步編譯好的庫文件及資源文件拷貝到開發板上。拷貝之前先用arm-Linux-strip命令清除文件中的調試信息,這樣就使文件體積大大縮小,可以滿足嵌入式系統的需要。
        ④板載Linux的MiniGUI環境配置。將第2步安裝好的MiniGUI配置文件MiniGUI.cfg下載到板子中,并將其中fbcon的defaultmode設置為合適的顯示模式。

        結語
        本文基于嵌入式技術了一種模塊,能夠滿足各種嵌入式開發環境的要求。該模塊軟硬件均采用模塊化,采用國外廣泛應用的ModBus通信協議,可滿足工業現場的測控需要。

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

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 天柱县| 盐城市| 龙陵县| 潼关县| 小金县| 方山县| 威宁| 雷波县| 大港区| 佳木斯市| 绥阳县| 文成县| 瑞金市| 五华县| 台中市| 治多县| 乌鲁木齐县| 繁峙县| 海兴县| 叶城县| 岗巴县| 理塘县| 平潭县| 永年县| 拜城县| 洪江市| 靖江市| 囊谦县| 惠水县| 芮城县| 城口县| 灵石县| 璧山县| 宕昌县| 友谊县| 新津县| 三台县| 蒙山县| 凤山县| 雷州市| 廉江市|