国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

嵌入式s3c2410下MiniGUI移植與實(shí)現(xiàn)

2019-07-08 06:45蔣若鴻
科技資訊 2019年10期
關(guān)鍵詞:移植

蔣若鴻

摘? 要:當(dāng)前嵌入式系統(tǒng)被廣泛應(yīng)用于工業(yè)領(lǐng)域和家用領(lǐng)域,且隨著嵌入式系統(tǒng)的不斷發(fā)展,用戶對(duì)嵌入式系統(tǒng)的要求也越來越高,因此實(shí)現(xiàn)與用戶交流功能的嵌入式GUI成為嵌入式研究領(lǐng)域中的一個(gè)重點(diǎn)。該文詳細(xì)描述了MiniGUI系統(tǒng)基于s3c2410開發(fā)板的移植與實(shí)現(xiàn),內(nèi)容包括交叉編譯環(huán)境的建立、MiniGUI編譯選項(xiàng)的配置和修改、啟動(dòng)項(xiàng)參數(shù)的設(shè)置以及交叉編譯MiniGUI應(yīng)用程序等。

關(guān)鍵詞:s3c2410? MiniGUI? 移植

中圖分類號(hào):TP273? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? ? ? ? ? ? ? ? ? ?文章編號(hào):1672-3791(2019)04(a)-0053-02

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

1? MiniGUI的移植

Samsung公司的s3c2410開發(fā)板,平臺(tái)硬件系統(tǒng)為64MB Nandflash、2MB Norflash、64MB SDRAM。s3c2410開發(fā)板通過USB口、串口、網(wǎng)口與宿主機(jī)通信,圖形圖像處理通過LCD顯示。

把MiniGUI移植到s3c2410開發(fā)板的步驟:(1)安裝交叉編譯器和設(shè)置交叉編譯器環(huán)境;(2)使用編譯器CC對(duì)MiniGUI進(jìn)行交叉編譯,獲得可在s3c2410上運(yùn)行的庫;(3)在s3c2410開發(fā)板的文件系統(tǒng)中添加交叉編譯的MiniGUI庫;(4)編譯MiniGUI可執(zhí)行程序,并下載到s3c2410開發(fā)板上。

1.1 安裝和設(shè)置交叉編譯環(huán)境

在宿主機(jī)建立MiniGUIde交叉編譯環(huán)境,這里使用的是arm-none-linux-gnueabi系列,將arm-none-linux-gnueabi交叉編譯器文件夾拷貝到宿主機(jī)目錄的/usr/local/arm目錄下,在控制臺(tái)執(zhí)行g(shù)edit /etc/profile,在profile文件最末尾增加export PATH=/usr/local/arm/arm-2009q1/bin:$PATH,就可將交叉編譯器加載到系統(tǒng)環(huán)境變量中。

1.2 交叉編譯MiniGUI庫函數(shù),并進(jìn)行配置

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

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

①System options指定Unit of timer is 10ms,用來支持10毫秒觸發(fā)一次定時(shí)器;指定Cursor support,用來支持光標(biāo)顯示;不指定Build MiniGUI-Processes模式,自動(dòng)會(huì)改為MiniGUI-Lite模式;指定Use incore (built-in) resource,避免缺少資源導(dǎo)致編譯報(bào)錯(cuò);指定Clipboard support,用來支持內(nèi)容復(fù)制到系統(tǒng)剪貼板的功能。

②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,用來支持控制臺(tái)功能;指定PS2 mouse和IntelligentMouse (IMPS/2) mouse,用來支持PS鍵鼠功能。

④Font Option指定Raw bitmap font,用來支持RBF字體;不指定Var bitmap font,避免出現(xiàn)unreferenced vfb_Courier8x8錯(cuò)誤;指定Qt Prerendered Font,用來支持QPF字體;指定TrueType font,用來支持矢量字體,否則無法滿足隨意放大字體號(hào)數(shù)的需求;指定Incore font sansserif、Incore font courier、Incore font symbol 和Incore font vgas,用來支持默認(rèn)系統(tǒng)字體。

⑤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不指定所有的鍵盤格局,表示使用默認(rèn)的英文鍵盤格局。

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

⑧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,其他模式會(huì)造成系統(tǒng)消耗大量資源進(jìn)而導(dǎo)致系統(tǒng)不穩(wěn)定。

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

Controls options指定所有的選項(xiàng),表示支持所有的基礎(chǔ)控件。

Ext library options指定所有的選項(xiàng),表示支持所有的擴(kuò)展控件。

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

以上內(nèi)容選完后,使用make命令就可編譯生成MiniGUI的運(yùn)行庫。

1.3 MiniGUI運(yùn)行環(huán)境的配置

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

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

1.4 編譯MiniGUI的應(yīng)用程序

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

2? 結(jié)論

該文以s3c2410開發(fā)板為硬件基礎(chǔ),移植MiniGUI系統(tǒng),重點(diǎn)描述了MiniGUI編譯選項(xiàng)的配置和啟動(dòng)參數(shù)的設(shè)置。實(shí)踐證明,嵌入式Linux下的MiniGUI高效、穩(wěn)定、占用資源少、可移植性強(qiáng)。

3? 結(jié)語

把性能優(yōu)良的GUI系統(tǒng)應(yīng)用于嵌入式系統(tǒng)設(shè)備中,為產(chǎn)品設(shè)計(jì)出友好的人機(jī)交互界面是當(dāng)前嵌入式技術(shù)領(lǐng)域開發(fā)的總體趨勢(shì),擁有廣闊的市場(chǎng)前景。MiniGUI作為國內(nèi)優(yōu)秀的自由軟件,因其控件豐富、源代碼開放等特點(diǎn)深受廣大用戶的喜愛。該文詳細(xì)描述了MiniGUI移植到s3c2410的目標(biāo)平臺(tái)上。熟悉圖形應(yīng)用程序的用戶可很快在MiniGUI上面編寫自己的圖形應(yīng)用程序。

參考文獻(xiàn)

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

[2] 肖習(xí)攀.GUI應(yīng)用程序移植[M].北京:電子工業(yè)出版社,2007.

[3] 田澤.ARM7-uClinux開發(fā)實(shí)驗(yàn)與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2005.

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

猜你喜歡
移植
多維視野觀照中的矛盾與張力闡釋
干細(xì)胞移植對(duì)擴(kuò)張型心肌病模型兔心肌膠原及血管影響
基于FreeRTOS系統(tǒng)和LwIP協(xié)議棧的網(wǎng)絡(luò)通訊
西方音樂元素在二胡演奏中的移植
臍帶間充質(zhì)干細(xì)胞移植治療難治性系統(tǒng)性紅斑狼瘡患者的療效分析
心臟自體干細(xì)胞移植治療心肌梗死新進(jìn)展
“移植”瘦人糞便能減肥?
淺析大樹移植養(yǎng)護(hù)管理技術(shù)
基于μC/OS—II 和 DSP 的伺服控制系統(tǒng)的應(yīng)用研究
基于Cortex—M4內(nèi)核的μCOS—Ⅱ移植
阿拉善右旗| 子洲县| 陕西省| 英超| 资溪县| 化隆| 毕节市| 兴安县| 新巴尔虎右旗| 丰宁| 莱芜市| 安宁市| 页游| 罗源县| 噶尔县| 中西区| 虹口区| 绍兴县| 广丰县| 平原县| 成武县| 滕州市| 余干县| 南靖县| 乡宁县| 合作市| 伊吾县| 东阿县| 太仆寺旗| 汉阴县| 鞍山市| 洛阳市| 敦煌市| 丘北县| 双江| 蓬莱市| 云阳县| 彭阳县| 合川市| 娱乐| 中西区|