《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM-Linux的MiniGUI的仿真與移植
基于ARM-Linux的MiniGUI的仿真與移植
中國傳動網
劉喜榮
摘要: 基于ARM-Linux的MiniGUI的仿真與移植,文將MiniGUI-1.3.3版本在ARM - Linux環境下,首先在QVFB中進行了仿真應用,同時經過交叉編譯后成功的移植到了S3C2410開發板的硬件平臺上,試驗結果表明能夠穩定可靠的運行,為后續基于圖形用戶界面程序的實際項目的開發與應用打下了基礎。隨著嵌入式產品應用領域的日益增長,基于MiniGUI開發出良好的人機交互界面,是嵌入式發展的趨勢,同時也擁有廣闊的市場前景。
Abstract:
Key words :

近幾年,隨著嵌入式系統的日益發展和32位嵌入式處理器以及圖形顯示設備的廣泛應用,目標產品對GUI(圖形用戶界面)的需求越來越多。由于嵌入式系統一般實時性要求很高,所以嵌入式系統下的GUI需要具有輕量級型、占用資源少、高性能等特點。此外,嵌入式系統往往是一種定制設備,它對GUI的需求各不相同,因此,GUI必須也可以定制。而MiniGUI是一個非常適合實時嵌入式產品的高效、可靠、可定制、小巧靈活的圖形用戶界面支持系統,被廣泛的應用于高端科技產品中。利用MiniGUI開發出良好的人機交互界面已成為嵌入式開發中的迫切需求。本文實現了在ARM-Linux環境下進行基于QVFB的MiniGUI的模擬開發、調試,通過在PC機上的仿真模擬,將應用程序完成之后,利用交叉編譯工具編譯產生在目標機上運行的代碼,然后把MiniGUI和可執行應用程序移植到S3C2410目標板上,這樣既節省了開發時間,又提高了開發效率和質量。
1 MiniGUI的特點和體系結構
      MiniGUI項目的最初目標是為基于Linux的實時嵌入式操作系統提供一個輕量級的圖像用戶界面支持系統。作為操作系統和應用程序之間的中間件,MiniGUI將底層操作系統與硬件平臺之間的差別隱藏起來,并對上層應用程序提供了一致的功能特性。
1.1MiniGUI的特點
(1)占用資源少:MiniGUI本身占用的空間非常小,整個MiniGUI系統占用空間在2~4MB,在某些系統上,MiniGUI系統本身所占用的空間可進一步縮小到1MB以內。
(2)高性能、高可靠性:MiniGUI良好的體系結構及優化的圖形接口,可確保最快的圖形繪制速度。
(3)可定制配置:和Linux內核類似,MiniGUI也具有大量的編譯配置選項,通過這些選項可指定MiniGUI庫中包括哪些用戶所需要的功能。
(4)跨操作系統支持:MiniGUI支持Linux/uClinux、eCos、uC/OS-II、VxWorks等嵌入式操作系統。同時,在不同操作系統上的MiniGUI,提供完全兼容的API接口。
1.2MiniGUI的體系結構
      從整體結構上看,MiniGUI采用的是分層設計的,結構如圖1所示。

3 MiniGUI在S3C2410上的移植
3.1安裝MiniGUI資源文件
      在PC機的/opt目錄下創建target目錄,將資源文件minigui-res-1.3.3.tar.gz復制到/opt/target目錄下進行解壓,編輯/opt/target /minigui-res-1.3.3目錄下的config.linux文件,將“TOPDIR=”改為“TOPDIR= /opt /target/minigui”,保存退出。然后輸入make install將資源文件安裝在/opt/target /minigui /usr/local/lib/minigui/res目錄下。同時把/opt/target/minigui/usr/local/lib目錄下的minigui目錄復制到需要制作的文件系統的文件夾中。
3.2 配置安裝MiniGUI庫文件
      在編譯MiniGUI的庫文件libminigui -1.3.3之前,首先要正確安裝了交叉編譯器,即armv41-unknow-linux系列的交叉編譯器。使用交叉編譯器可以把libminigui-1.3.3庫文件編譯成一個動態鏈接庫,通過調用該動態鏈接庫,可以正確運行MiniGUI的應用程序。在/opt/target /libminigui-1.3.3下,輸入命令make menuconfig進行配置。當配置完成后,保存退出。然后輸入make和make install,這樣就將交叉編譯后的MiniGUI庫文件安裝在/opt/host/armv41/armv41–unkn own-linux/lib目錄下,分別是libminigui-1. 3.so.3.0.0和libmgext -1.3.so.3.0.0。同時,還有指向這些庫的符號鏈接,指向庫文件libminigui-1.3.so.3.0.0的符號鏈接是libminigui -1.3.so.3和libminigui.so,指向庫文件libmgext-1.3.so.3.0.0符號鏈接是libgext  -1.3.so.3和lib-mgext.so。MiniGUI所使用的頭文件安裝在/opt/host/armv41/armv41  -unknown-linux/include/minigui文件夾內。同時在/opt/host/armv41/armv41-unknown– linux/etc/中還有一個minigui.cfg的配置文件。
3.3 MiniGUI的移植
      將MiniGUI成功移植到S3C2410目標板上,一般要經過以下幾個過程:
(1) 把MiniGUI庫文件libminigui-1.3. so.3.0.0和libgext -1.3.so.3.0.0,以及它們的符號鏈接文件,一同復制到要制作成cramfs文件系統的目錄root_tech中的/lib下。
(2) 把/opt/target/minigui/usr/local/lib下的minigui目錄復制到要制作cramfs文件系統的目錄中,比如放到該目錄的/usr/sbin/下。當嵌入式系統運行時,應用程序在該minigui目錄下調用相關的資源文件。
(3) 在root_tech文件夾內,用mkdir –p /opt/host/armv41/armv41-unknown-linux/ 命令創建一個目錄,然后使用命令ln –s /lib /opt/host/armv41/armv41-unknown-linux/lib創建符號鏈接,上述命令確保系統能夠找到正確的動態鏈接庫。
(4) 修改/opt/host/armv41/armv41–un known–linux/etc目錄下的MiniGUI.cfg文件,把存放資源的路徑改為root_tech目錄下對應的路徑,從而使應用程序能夠找到它使用的資源文件。例如,在PC機上的存放路徑為/usr/local/lib,那么在root_tech目錄下,如果把MiniGUI資源目錄放到了/usr/sbin下,則MiniGUI.cfg文件中的路徑必須由/usr/local/lib改為/usr/sbin/,同時還要將“ial_engine=console”改為“ial_engine =ads”。另外,將[fbcon]下的“defaultmode =1024×768-16 bpp”改為“defaultmode =640×480-16 bpp”。將修改后的MiniGUI.cfg文件要放到root_tech目錄的/mnt/etc目錄下。
(5) 最后,把準備好的root_tech文件夾,利用mkcramfs命令生成cramfs文件系統,利用NFS網絡文件系統將生成的文件系統移植到S3C2410中。然后從minicom下進入可執行文件所在的目錄/usr/sbin,可執行程序bomb在S3C2410目標板上運行的結果如下圖3所示:

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲国产精品久久久久婷婷884 | 欧美一区二区三区视频在线观看| 国产亚洲精品久久飘花| 欧美成人一品| 久久精彩免费视频| 亚洲一区在线观看免费观看电影高清| 亚洲精品免费看| 国产女主播一区| 欧美日韩中文字幕综合视频| 久热综合在线亚洲精品| 欧美自拍丝袜亚洲| 亚洲欧美日韩综合国产aⅴ| 亚洲理伦电影| 亚洲黄网站黄| 久久精品人人爽| 欧美亚洲一区二区在线| 亚洲精选久久| 亚洲国产cao| 在线观看亚洲视频啊啊啊啊| 国产亚洲免费的视频看| 国产精品日本精品| 国产精品免费视频观看| 国产精品分类| 蜜臀av一级做a爰片久久 | 亚洲欧美视频一区二区三区| 亚洲精品日韩欧美| 亚洲激情视频在线| 亚洲国产中文字幕在线观看| 亚洲高清不卡av| 亚洲国产精选| 亚洲国产经典视频| 激情自拍一区| 永久久久久久| 亚洲国产精品成人一区二区| 伊人久久大香线| 黄色一区二区三区| 在线欧美电影| 最近中文字幕mv在线一区二区三区四区| 欧美日韩国产麻豆| 久久久久久久高潮| 久久这里有精品视频| 久久影音先锋| 欧美激情黄色片| 欧美精品尤物在线| 欧美欧美午夜aⅴ在线观看| 欧美激情女人20p| 欧美日韩国产成人在线91| 欧美日韩福利| 国产精品美女主播| 国产日韩欧美三级| 一区二区三区在线看| 亚洲国产精品高清久久久| 亚洲激情第一页| 日韩视频免费观看高清完整版| 国产视频一区在线观看| 国产精品一区二区三区久久久| 欧美区一区二| 欧美系列精品| 国产一区亚洲| 亚洲国产专区| 亚洲一区区二区| 亚洲欧美中文另类| 亚洲国产一区二区三区a毛片| 亚洲精品在线一区二区| 日韩视频国产视频| 亚洲免费视频观看| 亚洲国产成人午夜在线一区 | 欧美性大战久久久久| 国产精品亚洲аv天堂网| 国产亚洲欧美色| 在线观看一区| 亚洲深夜影院| 久久精品30| 在线亚洲欧美视频| 久久国产手机看片| 欧美激情在线观看| 国产欧美 在线欧美| 在线成人av.com| 在线视频欧美精品| 久久精品国产99精品国产亚洲性色 | 久久精品在线播放| 欧美国产亚洲精品久久久8v| 国产精品久久久久一区| 国产亚洲免费的视频看| 亚洲精品影院在线观看| 午夜精品国产更新| 日韩一级不卡| 久久www成人_看片免费不卡| 欧美韩日一区二区| 国产精品久久久久秋霞鲁丝| 国语自产精品视频在线看一大j8| 欧美精品1区2区| 欧美午夜电影在线| 黄色资源网久久资源365| 99xxxx成人网| 亚洲第一精品在线| 亚洲男人的天堂在线| 卡一卡二国产精品| 国产精品一区二区三区免费观看| 国产精品日韩在线| 在线精品亚洲| 亚洲一区二区三区视频| 亚洲人成小说网站色在线| 午夜激情综合网| 欧美大片免费久久精品三p| 国产精品每日更新| 亚洲国产精品一区制服丝袜 | 亚洲国产精品t66y| 亚洲欧美在线磁力| 亚洲视频精品在线| 欧美不卡三区| 国产日韩视频一区二区三区| 日韩视频免费| 亚洲激情视频在线| 久久久久久久久久久久久久一区| 久久久水蜜桃av免费网站| 蜜臀av性久久久久蜜臀aⅴ四虎| 噜噜噜噜噜久久久久久91| 国产精品高潮呻吟久久av无限 | 欧美国产免费| 国内久久视频| 亚洲嫩草精品久久| 亚洲亚洲精品在线观看| 欧美大片一区| 伊人精品久久久久7777| 欧美一区二区三区精品电影| 国产精品99久久不卡二区| 卡一卡二国产精品| 狠狠色狠狠色综合日日tαg| 亚洲欧美成人| 亚洲欧美清纯在线制服| 欧美视频在线观看一区二区| 亚洲精品一区二区三区福利| 亚洲人成在线观看网站高清| 久久综合五月天婷婷伊人| 国内精品久久久久久久果冻传媒| 激情自拍一区| 欧美在线免费播放| 久久精品人人做人人综合| 国产乱人伦精品一区二区| 亚洲影院一区| 欧美亚洲免费| 国产女精品视频网站免费| 亚洲一区在线免费| 亚洲一区二区在线免费观看| 欧美性片在线观看| 亚洲视频在线一区| 亚洲欧美综合精品久久成人| 国产精品第十页| 亚洲视频欧美视频| 午夜欧美大片免费观看| 国产精品自拍一区| 午夜免费久久久久| 久久精品亚洲| 激情婷婷欧美| 亚洲精品乱码久久久久久按摩观 | 亚洲综合日韩在线| 欧美日韩免费网站| 中文高清一区| 亚洲欧美日韩精品在线| 欧美日韩一区在线| 亚洲精品小视频| 99re8这里有精品热视频免费 | 欧美视频网址| 亚洲手机视频| 欧美在线看片a免费观看| 国产一区二区三区av电影| 亚洲电影免费观看高清完整版在线观看| 99精品99久久久久久宅男| 欧美黄色片免费观看| 99精品久久| 欧美影院在线播放| 伊人久久亚洲热| 日韩一级精品视频在线观看| 欧美日韩和欧美的一区二区| 亚洲视频福利| 久久久999国产| 最新中文字幕亚洲| 亚洲欧美在线观看| 韩国欧美一区| 亚洲美女在线视频| 国产精品毛片在线| 亚洲电影观看| 欧美体内谢she精2性欧美| 午夜欧美大片免费观看| 免费观看久久久4p| 亚洲尤物在线视频观看| 欧美11—12娇小xxxx| 亚洲欧美中文日韩v在线观看| 久久成人人人人精品欧| 又紧又大又爽精品一区二区| 先锋影音国产精品| 亚洲精品美女91| 麻豆九一精品爱看视频在线观看免费 | 午夜精品久久久久久久| 欧美日韩的一区二区| 亚洲电影自拍| 国产日韩成人精品| 亚洲视频欧美视频| 亚洲黄色大片|