999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式s3c2410下MiniGUI移植與實現

2019-07-08 06:45:44蔣若鴻
科技資訊 2019年10期

蔣若鴻

摘? 要:當前嵌入式系統被廣泛應用于工業領域和家用領域,且隨著嵌入式系統的不斷發展,用戶對嵌入式系統的要求也越來越高,因此實現與用戶交流功能的嵌入式GUI成為嵌入式研究領域中的一個重點。該文詳細描述了MiniGUI系統基于s3c2410開發板的移植與實現,內容包括交叉編譯環境的建立、MiniGUI編譯選項的配置和修改、啟動項參數的設置以及交叉編譯MiniGUI應用程序等。

關鍵詞:s3c2410? MiniGUI? 移植

中圖分類號:TP273? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? ?文章編號:1672-3791(2019)04(a)-0053-02

MiniGUI是目前比較常見的幾種GUI系統之一,與其他的GUI相比,MiniGUI最顯著的特點是:(1)小巧輕型、占用資源少,穩定性高,可移植性好。(2)擁有豐富的控件資源,包括靜態框控件、按鈕控件、編輯框控件、列表框控件、進度條控件、滑塊控件、組合框控件、工具欄控件等。(3)支持拼音輸入法和五筆輸入法。(4)支持消息傳遞機制。(5)支持JPG、PNG和BMP等圖像文件。

1? MiniGUI的移植

Samsung公司的s3c2410開發板,平臺硬件系統為64MB Nandflash、2MB Norflash、64MB SDRAM。s3c2410開發板通過USB口、串口、網口與宿主機通信,圖形圖像處理通過LCD顯示。

把MiniGUI移植到s3c2410開發板的步驟:(1)安裝交叉編譯器和設置交叉編譯器環境;(2)使用編譯器CC對MiniGUI進行交叉編譯,獲得可在s3c2410上運行的庫;(3)在s3c2410開發板的文件系統中添加交叉編譯的MiniGUI庫;(4)編譯MiniGUI可執行程序,并下載到s3c2410開發板上。

1.1 安裝和設置交叉編譯環境

在宿主機建立MiniGUIde交叉編譯環境,這里使用的是arm-none-linux-gnueabi系列,將arm-none-linux-gnueabi交叉編譯器文件夾拷貝到宿主機目錄的/usr/local/arm目錄下,在控制臺執行gedit /etc/profile,在profile文件最末尾增加export PATH=/usr/local/arm/arm-2009q1/bin:$PATH,就可將交叉編譯器加載到系統環境變量中。

1.2 交叉編譯MiniGUI庫函數,并進行配置

(1)使用tar解壓縮minigui-res-2.0.4.tar.gz文件,之后使用命令make install安裝minigui-res-2.0.4,其安裝文件默認保存到到/usr/local/lib/minigui目錄下,文件內容包括bmp圖片、cursor光標效果圖片、font默認字體、imetab輸入法數據表等。

(2)使用tar解壓縮libminigui-2.0.4-linux.tar.gz文件,之后使用make menuconfig命令進入圖形配置界面,配置內容需要注意以下幾點。

①System options指定Unit of timer is 10ms,用來支持10毫秒觸發一次定時器;指定Cursor support,用來支持光標顯示;不指定Build MiniGUI-Processes模式,自動會改為MiniGUI-Lite模式;指定Use incore (built-in) resource,避免缺少資源導致編譯報錯;指定Clipboard support,用來支持內容復制到系統剪貼板的功能。

②GAL引擎指定Include Advanced 2D Graphics APIs,用來支持2D畫圖功能;指定NEWGAL engine of Dummy、NEWGAL engine of Shadow、NEWGAL engine on Linux FrameBuffer console和Have console on Linux FrameBuffer,用來支持framebuffer顯示功能;指定NEWGAL engine for Common LCD interface,用來支持LCD顯示屏功能。

③IAL引擎指定Dummy IAL engine、Automatic IAL engine、Random IAL engine、Linux native (console) input engine,用來支持控制臺功能;指定PS2 mouse和IntelligentMouse (IMPS/2) mouse,用來支持PS鍵鼠功能。

④Font Option指定Raw bitmap font,用來支持RBF字體;不指定Var bitmap font,避免出現unreferenced vfb_Courier8x8錯誤;指定Qt Prerendered Font,用來支持QPF字體;指定TrueType font,用來支持矢量字體,否則無法滿足隨意放大字體號數的需求;指定Incore font sansserif、Incore font courier、Incore font symbol 和Incore font vgas,用來支持默認系統字體。

⑤Charset options指定GBK charset,用來支持GBK字符集;指定EUC encoding of GB2312 charset,用來支持GB2312字符集;指定BIG5 charset,用來支持大五碼繁體字;指定UNICODE (ISO-10646-1 and UTF-8 encoding) ,用來支持UNICODE字符集。

⑥6Keyboard layout specific options不指定所有的鍵盤格局,表示使用默認的英文鍵盤格局。

⑦Input Medthold Option不指定IME (GB2312) Intelligent Pinyin module,避免mginit程序一啟動就崩潰了。

⑧Image Options指定GIF file support、JPG file support 和PNG file support,用來支持GIF、JPG和PNG圖片的顯示;指定Includes SaveBitmap-related functions,用來支持BMP保存圖片功能。

⑨Appearance options指定(Classic) The window/control style,其他模式會造成系統消耗大量資源進而導致系統不穩定。

⑩Misc options指定mouse calibration,用來支持校準功能;不指定Include About Dialog Box,取消MiniGUI的關于提示功能;不指定screenshots,防止誤觸鍵盤PrtSc鍵后自動截圖。

Controls options指定所有的選項,表示支持所有的基礎控件。

Ext library options指定所有的選項,表示支持所有的擴展控件。

Development Environment Option指定(Linux) The target operating system,設置目標系統為linux系統;指定(arm-none-linux-gnueabi-gcc) Compiler,設置編譯器為arm-none-linux-gnueabi-gcc;指定(glibc) Libc,設置libc庫為glibc庫;指定Installation option下的Path prefix為/usr/local/cross-arm-linux,表示設置交叉編譯MiniGUI庫的安裝路徑為/usr/local/cross-arm-linux。

以上內容選完后,使用make命令就可編譯生成MiniGUI的運行庫。

1.3 MiniGUI運行環境的配置

將/usr/local/cross-arm-linux/etc目錄下的MiniGUI.cfg文件復制到s3c2410開發板文件系統中的/etc目錄下;將/usr/local/cross-arm-linux/lib目錄下的所有文件復制到s3c2410開發板文件系統的/usr/lib目錄下;將/usr/local/lib/minigui目錄下的所有資源文件復制到s3c2410開發板文件系統的/usr/local/lib/minigui目錄中。以后內容完成后,進入s3c2410開發板文件系統的/etc目錄,找到并打開MiniGUI.cfg文件,修改內容為:

GAL引擎使用fbcon,與framebuffer對應;IAL引擎使用系統控制臺console;mtype配置為IMPS2,表示支持PS2鍵鼠,mdev配置為/dev/input目錄下的mice設備,表示兼容USB鍵鼠;顯示模式采用800×600分辨率,16位色的LCD顯示屏。以內容操作完成后,代表MiniGUI平臺完整移植到s3c2410開發板中。

1.4 編譯MiniGUI的應用程序

MiniGUI的應用程序函數入口是int MiniGUIMain (int argc, const char* argv[]),標準的main函數已經在MiniGUIMain中定義了,MiniGUIMain函數啟動時,會對MiniGUI系統進行初始化工作。使用arm-none-linux-gnueabi-gcc交叉編譯器編譯MiniGUI應用程序,需要指定LIBDIR為MiniGUI交叉編譯庫的安裝路徑/usr/local/cross-arm-linux/lib,指定INCDIR為MiniGUI交叉編譯庫的頭文件的安裝路徑/usr/local/cross-arm-linux/include,應用程序編譯配置完成后就可以進行編譯操作,編譯完成后將應用程序下載到s3c2410開發板中。

2? 結論

該文以s3c2410開發板為硬件基礎,移植MiniGUI系統,重點描述了MiniGUI編譯選項的配置和啟動參數的設置。實踐證明,嵌入式Linux下的MiniGUI高效、穩定、占用資源少、可移植性強。

3? 結語

把性能優良的GUI系統應用于嵌入式系統設備中,為產品設計出友好的人機交互界面是當前嵌入式技術領域開發的總體趨勢,擁有廣闊的市場前景。MiniGUI作為國內優秀的自由軟件,因其控件豐富、源代碼開放等特點深受廣大用戶的喜愛。該文詳細描述了MiniGUI移植到s3c2410的目標平臺上。熟悉圖形應用程序的用戶可很快在MiniGUI上面編寫自己的圖形應用程序。

參考文獻

[1] 魏永明.MiniGUI用戶手冊[M].北京:北京飛漫軟件技術有限公司,1998.

[2] 肖習攀.GUI應用程序移植[M].北京:電子工業出版社,2007.

[3] 田澤.ARM7-uClinux開發實驗與實踐[M].北京:北京航空航天大學出版社,2005.

[4] 張綺文,謝建雄,謝勁心,等.ARM嵌入式常用模塊與綜合系統設計[M].北京:電子工業出版社,2007.

主站蜘蛛池模板: 久久亚洲国产最新网站| 在线视频97| 成人年鲁鲁在线观看视频| 夜精品a一区二区三区| 美女被狂躁www在线观看| 伊人国产无码高清视频| 亚洲国产91人成在线| 91精品国产综合久久不国产大片| 伊人色天堂| 国产成人综合日韩精品无码不卡| 国产高清无码麻豆精品| 国产伦片中文免费观看| 久久这里只精品热免费99| 国产激情无码一区二区三区免费| 欧美成人精品高清在线下载| 青青草原国产| 亚洲国产成人自拍| 久久精品丝袜| 国产精品hd在线播放| 日韩色图区| 国产精品毛片一区| 国产SUV精品一区二区6| 亚洲中文精品久久久久久不卡| 色悠久久综合| 亚洲成人高清无码| 99福利视频导航| 久久国产精品麻豆系列| 国产无码精品在线播放 | 性视频久久| 国产精品蜜臀| 久久国产精品嫖妓| 国产在线日本| 不卡视频国产| 九九热在线视频| 在线播放91| 在线国产毛片| 国产精品成人一区二区不卡| 亚洲 日韩 激情 无码 中出| 40岁成熟女人牲交片免费| 国产高清在线观看91精品| 欧美精品一二三区| 欧美成a人片在线观看| 国产精品三级av及在线观看| 影音先锋亚洲无码| 精品国产成人三级在线观看| 最新国产在线| 国产黄视频网站| 国产午夜福利在线小视频| 国产经典免费播放视频| 亚洲高清日韩heyzo| 欧美午夜小视频| 国产在线观看第二页| 欧美视频在线不卡| 777国产精品永久免费观看| 国产欧美亚洲精品第3页在线| 在线观看无码av免费不卡网站| 国产精品免费电影| 欧美日一级片| 亚洲精品国产综合99久久夜夜嗨| 色天堂无毒不卡| 久热这里只有精品6| 日本91视频| 成人在线综合| 国产又粗又猛又爽| 东京热高清无码精品| 免费一级毛片完整版在线看| 最新午夜男女福利片视频| 国产第一福利影院| 久久国产高清视频| 激情无码视频在线看| 亚洲第一在线播放| 国产成人AV综合久久| 欧美全免费aaaaaa特黄在线| 啪啪啪亚洲无码| 国内精品久久人妻无码大片高| 国产日产欧美精品| 中文字幕 91| 性网站在线观看| 亚洲视频一区| 免费 国产 无码久久久| 精品无码一区二区在线观看| 国产午夜人做人免费视频|