www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于S3C44B0X的嵌入式GUI的研究與應(yīng)用

GUI 的概述
  GUI以一種以圖形化為基礎(chǔ)的用戶界面,使用統(tǒng)一的圖形操作系統(tǒng),如可移動的視窗、選項與鼠標,作為用戶與操作系統(tǒng)之間的中介。GUI最重要的優(yōu)勢在于使用戶擺脫了在命令行提示符下與操作系統(tǒng)進行交互的方式,用戶可以僅僅通過鼠標點擊來實現(xiàn)熟悉程序的操作,而且由于圖表、對話框等的引入,使得操作直觀形象。GUI已成為一種用戶與計算機交互的標準。包括Microsoft的視窗系統(tǒng)、Unix的Motif、Linux的桌面系統(tǒng)GNOME。
    在計算機硬件平臺下的GUI模型一般如圖1所示:

uC/GUI是由Micrium公司專門針對嵌入式系統(tǒng)開發(fā)的一款圖形開發(fā)系統(tǒng)。它設(shè)計用于為任何使用LCD圖形顯示的應(yīng)用提供高效的獨立于處理器及 LCD 控制器的圖形用戶接口,它適用單任務(wù)或是多任務(wù)系統(tǒng)環(huán)境, 并適用于任意 LCD 控制器和 CPU 下任何尺寸的真實顯示或虛擬顯示。
對于開發(fā)uC/GUI圖形應(yīng)用不需要什么目標系統(tǒng), 大部分的圖形應(yīng)用開發(fā)都可以在模擬器下進行; 但是最終的目的是通常還是在目標系統(tǒng)上運行程序。
目標系統(tǒng)(硬件):
[1].CPU(8/16/32/64位)。
[2].必要的RAM和ROM 存儲。
[3].LCD 顯示器(任何類型及分辨率的)。
對于內(nèi)存的需求取決于你選用的 UCGUI 的功能模塊以及你所使用的目標系統(tǒng)上的編譯器的效率. 內(nèi)存的占用量無法估計準確的值, 下面就一些的數(shù)值適用于多數(shù)的目標系統(tǒng)。
表1  uC/GUI資源需求情況

注:①小型系統(tǒng)指不包含窗口管理功能,大型系統(tǒng)指包含窗口管理及各種窗體控件功能。
       ②ROM的需求量隨著應(yīng)用程序中使用的字體數(shù)目而增長。
2  基于S3C44B0X處理器的嵌入式系統(tǒng)的基本組成
       三星公司推出的16/32位RISC處理器S3C44B0X為手持設(shè)備和一般應(yīng)用提供了高性價比和高性能的微控制器解決方案。為了降低成本,同時增強穩(wěn)定性,S3C44B0X提供了豐富的內(nèi)置部件,包括:8KB Cache和 內(nèi)部SRAM,LCD控制器等,其主頻可以達到66MHz,速度幾乎相當于486CPU,而且擴展了完整豐富的外圍設(shè)備的接口,圖2是典型的系統(tǒng)的框圖。

圖2   系統(tǒng)框圖
       采用三星的S3C44B0X開發(fā)通用的嵌入式系統(tǒng),S3C44B0X的運行方式通常有兩種:一種是有操作系統(tǒng)的,由于操作系統(tǒng)所占用的空間比較大,所以Flash里面裝的是系統(tǒng)引導(dǎo)程序,通常稱為Boot Loader,是在系統(tǒng)復(fù)位后執(zhí)行的第一段代碼,相當于PC上的BIOS,完成系統(tǒng)硬件的初始化,包括時鐘的設(shè)置、存儲區(qū)的映射等,設(shè)置堆棧指針,然后跳轉(zhuǎn)到操作系統(tǒng)內(nèi)核的入口,將系統(tǒng)控制權(quán)交給操作系統(tǒng),在此之后系統(tǒng)的運行和Boot Loader 再無任何關(guān)系。Boot Loader獨立于操作系統(tǒng),必須由用戶自己設(shè)計,它的實現(xiàn)高度依賴于硬件,包括處理器的體系結(jié)構(gòu)、具體型號、硬件電路板的設(shè)計。
另一種是無操作系統(tǒng)的,系統(tǒng)的初始化以及主程序都是在Flash內(nèi),它與S3C44B0X的Bank0相連,上電復(fù)位后系統(tǒng)使程序從0x00000000開始運行。
 
3  利用uC/GUI開發(fā)GUI應(yīng)用程序的基本方法
        由于uC/GUI提供了源代碼,因此可以很容易地將它移植到各個平臺下,使用時,只要將uC/GUI的軟件壓縮包解壓縮到一個目錄下就可以了。
   3.1 uC/GUI的結(jié)構(gòu)
         uC/GUI的軟件體系結(jié)構(gòu)如圖3所示。uC/GUI函數(shù)庫為用戶的應(yīng)用程序提供GUI接口,包含的函數(shù)有文本、數(shù)值、二維圖形、輸入設(shè)備以及各種窗口對象。其中,輸入設(shè)備可以是鍵盤、鼠標或觸摸屏;二維圖形包括圖片、直線、多邊形、圓、橢圓、圓弧等;窗口對象包括按鈕、編輯框、進度條、復(fù)選框等。μC/GUI函數(shù)庫可以通過GUI_Conf.h文件進行配置,配置的內(nèi)容包括是否采用內(nèi)存設(shè)備,是否采用窗口管理器,是否支持操作系統(tǒng)、觸摸屏、以及配置動態(tài)內(nèi)存的大小等。

圖3  uC/GUI的軟件體系結(jié)構(gòu)
3.2   利用uC/GUI開發(fā)應(yīng)用程序的步驟
      由于uC/GUI提供了源代碼,在開發(fā)應(yīng)用程序時,用戶可以首先將核心文件、LCD驅(qū)動文件和需要的字體文件包含在自己的工程里,然后再根據(jù)實際的硬件需要,包含內(nèi)存設(shè)備輸入設(shè)備控件和窗口管理部分。
       具體可以分為以下幾步:
⑴按照實際需要,定制自己的uC/GUI開發(fā)環(huán)境。其中包括對上述目錄的篩選,或?qū)δ夸浿形募暮Y選。
⑵指定硬件設(shè)備的地址,編寫接口驅(qū)動代碼。這里需要修改LCD_Conf.h文件。
⑶編譯、鏈接、調(diào)試示例程序。
⑷修改示例程序并測試,增加需要的功能。
⑸如果準備開發(fā)多任務(wù)應(yīng)用,則需要修改GUI_MAXTASK和GUI_OS宏,實現(xiàn)uC/GUI與操作系統(tǒng)的結(jié)合。
⑹編寫自己的應(yīng)用程序。
      使用uC/GUI開發(fā)應(yīng)用程序時,目標系統(tǒng)不是必須配備的,因為uC/GUI提供了一個模擬器,用戶可以在模擬器上面看到應(yīng)用程序的執(zhí)行的結(jié)果。所以,對于開發(fā)環(huán)境,uC/GUI僅要求有一個符合ANSI標準的“C”語言編譯器。至于C++編譯器,它不是必須的,但是如果用戶使用C++語言來編寫應(yīng)用程序,那就需要一個C++編譯器。[1]
因此,在Windows系統(tǒng)下只要安裝了Microsoft Visual C++就可以運行uC/GUI的模擬器工程(工程名一般為Simulation.dsw),然后將該工程中的Application文件夾清空,加入自己編寫的源文件,編譯鏈接就可以看到運行結(jié)果。
3.3應(yīng)用實例
      下圖是用uC/GUI開發(fā)應(yīng)用程序的一個實例,該程序是顯示汽車運行時發(fā)動機轉(zhuǎn)速的一個界面。

圖4 用戶界面圖

黑色的背景是這個LCD的窗口區(qū)域,大小為640*480。先利用畫線函數(shù)繪制基本的弧線,再利用填充函數(shù)填充相應(yīng)的背景顏色,最后用一個分片存儲設(shè)備執(zhí)行一個指定的繪圖函數(shù),在這種情況下,在一段時間內(nèi)只有一小部分要更新。
static void DemoScale(void)
{
int Cnt;
int tDiff, t0 = GUI_GetTime();
PARAM Param;  /* 繪圖函數(shù)的參數(shù) */
GUI_AUTODEV AutoDev; /* 分片存儲設(shè)備對象 */
GUI_SetColor(GUI_WHITE); /*設(shè)置顏色*/
GUI_SetFont(&GUI_Font8x16);/*設(shè)置字體*/
GUI_DispStringHCenterAt(“Scale using GUI_AUTODEV-object”, 160, 0);
GUI_AA_EnableHiRes();/* 啟動高分辨率用于抗鋸齒 */
GUI_AA_SetFactor(MAG);
GUI_MEMDEV_CreateAuto(&AutoDev); /* 建立 GUI_AUTODEV 對象 */
/* 顯示在一個固定時間上的指針 */
for (Cnt = 0; (tDiff = GUI_GetTime() - t0) < 24000; Cnt++);
{
/* 獲得數(shù)值用于顯示一個多邊形來表示指針 */
Param.Angle = GetAngle(tDiff)* DEG2RAD;
GUI_RotatePolygon ( Param.aPoints,
aNeedle,
countof(aNeedle),
Param.Angle);
GUI_MEMDEV_DrawAuto(&AutoDev, &Param.AutoDevInfo, &Draw, &Param);
}
 
4  結(jié)束語
     本文只是簡單展示了uC/GUI在開發(fā)圖形用戶界面上的應(yīng)用,其巨大的應(yīng)用潛力還有待進一步的研究。相信隨著計算機滲透到人類工作和生活的各個方面,以嵌入式系統(tǒng)為核心的后PC時代的到來,uC/GUI的應(yīng)用前景也將更為廣闊。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產(chǎn)品設(shè)計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產(chǎn)品供給。 搭養(yǎng)老政策東風 ...

關(guān)鍵字: 溫度 BSP 東風 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動的最基本功能。而對于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關(guān)系的思考,同時也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預(yù)告。今年前三季度,公司預(yù)計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預(yù)計為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術(shù)中心"認定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團成立60周年的紀念日。趁著首都銀行集團成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機構(gòu)對在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...

關(guān)鍵字: 中國智造 BSP 手機 CAN

經(jīng)過幾十年發(fā)展,嵌入式技術(shù)已經(jīng)用在了我們生活中的方方面面,但是嵌入式始終都帶有小眾,專業(yè)性強的屬性,讓很多非嵌入式領(lǐng)域的同學(xué)望而卻步。近十幾年的發(fā)展,物聯(lián)網(wǎng)覆蓋了越來越多領(lǐng)域,包括了家居,商業(yè),工業(yè),農(nóng)業(yè)等領(lǐng)域,不僅吸引...

關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 技術(shù)

隨著IT技術(shù)飛速發(fā)展,互聯(lián)網(wǎng)已經(jīng)進入了“物聯(lián)網(wǎng)”時代。物聯(lián)網(wǎng)中需要的大量設(shè)備不在依賴人與人之間的交互產(chǎn)生聯(lián)系,更多通過協(xié)議、通信、程序設(shè)計等方式連接到一處。即 “物聯(lián)網(wǎng)”的目的則是讓所有的物品都具有計算機的智能但并不以通...

關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 計算機

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉