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

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]為了使智能監(jiān)控系統(tǒng)具有人機(jī)交互功能,以DE2開(kāi)發(fā)板為驗(yàn)證平臺(tái),通過(guò)編寫VGA IP核以及在SoPC Builder搭建硬件環(huán)境,移植嵌入式圖形界面軟件μC/GUI到NiosⅡ嵌入式軟件開(kāi)發(fā)環(huán)境。實(shí)驗(yàn)結(jié)果表明,μC/GUI成功移植到NiosⅡ嵌入式開(kāi)發(fā)平臺(tái)中,可以實(shí)現(xiàn)μC/GUI文字顯示、繪圖以及窗口管理等功能,并可以外接任何具有VGA接口的LCD顯示器。

0 引言

人機(jī)交互是智能化嵌入式產(chǎn)品一項(xiàng)重要功能,在設(shè)計(jì)智能監(jiān)控系統(tǒng)時(shí)人機(jī)交互需要界面設(shè)計(jì)軟件,常用的圖形界面軟件有MiniGUI,QT/Embedded,OpenGUI等。Altera公司NiosⅡ已經(jīng)集成了μC/OS-Ⅱ系統(tǒng)。μC/OS-Ⅱ是一個(gè)實(shí)時(shí)多任務(wù)內(nèi)核,不具有現(xiàn)代操作系統(tǒng)的線程,上述GUI不能方便的運(yùn)行。

μC/GUI是一個(gè)優(yōu)秀的嵌入式圖形用戶界面,具有眾多的優(yōu)點(diǎn)。如,代碼開(kāi)源,占用系統(tǒng)資源少,所有的代碼均由ANSIC實(shí)現(xiàn),功能強(qiáng)大且易于移植,可以應(yīng)用于任何的LCD控制和CPU任何尺寸的物理與虛擬顯示,非常適合用于資源有限的嵌入式系統(tǒng)中。同時(shí),μC/GUI與μC /OS-Ⅱ都是美國(guó)Micrium公司產(chǎn)品,μC/GUI能輕易地在μC/OS-Ⅱ上應(yīng)用,實(shí)現(xiàn)與μC/OS-Ⅱ的無(wú)縫結(jié)合。

本文在設(shè)計(jì)具有人機(jī)交互功能的基于NiosⅡ的嵌入式智能監(jiān)控系統(tǒng)時(shí),為實(shí)現(xiàn)友好的人機(jī)交互和更加方便的顯示,將μC/GUI移植到NiosⅡ嵌入式平臺(tái),系統(tǒng)采用通用液晶顯示器顯示,具有更加廣泛的通用性。

1 硬件系統(tǒng)設(shè)計(jì)

本系統(tǒng)設(shè)計(jì)采用的硬件平臺(tái)是Altera公司生產(chǎn)的DE2開(kāi)發(fā)板,使用軟件是QuartusⅡ9.0,F(xiàn)PGA芯片是EP2C35F672C6,通過(guò)VGA接口連接液晶顯示器顯示,利用QuartusⅡ軟件的SOPC Builder搭建的系統(tǒng)設(shè)計(jì)如圖1所示。其中,PS/2 IP核是采用AItera公司大學(xué)計(jì)劃中的IP核,SDR AM為系統(tǒng)運(yùn)行時(shí)的內(nèi)存。在系統(tǒng)中運(yùn)行交互界面時(shí),通過(guò)PIO傳輸系統(tǒng)設(shè)置的參數(shù),控制硬件實(shí)現(xiàn)的視頻的采集、顯示與相關(guān)視頻分析算法的實(shí)現(xiàn)。

VGA IP核采用突發(fā)傳輸模式,這樣可以提高從端口的數(shù)據(jù)吞吐量,在主端口一次多個(gè)數(shù)據(jù)單元的時(shí)候,可以達(dá)到極高的效率。在本設(shè)計(jì)的VGA IP核設(shè)計(jì)一次傳輸10個(gè)數(shù)據(jù)單元,額外的burstcount信號(hào)為4位。

2 μC/GUI移植

本系統(tǒng)采用μC/GUI 3.98版本進(jìn)行移植,在移植μC/GUI之前,有必要熟悉μC/GUI的軟件體系結(jié)構(gòu)與文件結(jié)構(gòu),μC/GUI的軟件體系結(jié)構(gòu)如圖2所示。

μC/GUI函數(shù)庫(kù)為用戶程序提供GUI接口,包含的函數(shù)有文本、數(shù)值、二維圖形、輸入設(shè)備以及各種窗口對(duì)象。其中,輸入設(shè)備可以是鼠標(biāo)、鍵盤或觸摸屏;二維圖形包括圖片、直線、多邊形、圓、橢圓、圓弧等;窗口對(duì)象包括按鈕、編輯框、進(jìn)度條、復(fù)選框等。μC/GUI由庫(kù)函數(shù)目錄GUI和配置文件目錄Config兩個(gè)目錄組成,表1是μC/GUI目錄結(jié)構(gòu),帶星號(hào)的都是可選項(xiàng)。

其中Config目錄下包括3個(gè)文件分別是LCDConf.h、GUIConf.h和GUITouchConf.h,3個(gè)文件分別用來(lái)配置LCD驅(qū)動(dòng)、μC/GUI配置、觸摸屏的配置。μC/GUI移植主要就是對(duì)Config文件以及LCDDriver的移植,針對(duì)不同的平臺(tái)做相應(yīng)的修改。

2.1 配置文件的移植

GUIConf.h是μC/GUI的基本屬性配置文件,有很多開(kāi)關(guān)可以配置,配置的內(nèi)容包括是否采用內(nèi)存設(shè)備,是否采用窗口管理器,是否支持操作系統(tǒng)、觸摸屏,以及配置動(dòng)態(tài)內(nèi)存的大小等。具體可以參考μC/GUI的用戶手冊(cè),這里只需配置幾個(gè)必要的參數(shù)如下:


2.2 LCD驅(qū)動(dòng)文件的移植

由于采用VGA顯示,根據(jù)LCDConf.h對(duì)LCD_CONTROLLER的配置,在LCD驅(qū)動(dòng)文件目錄下選擇LCDDummy.c,刪除其他無(wú)關(guān)的驅(qū)動(dòng)文件,LCD驅(qū)動(dòng)文件負(fù)責(zé)把μC/GUI的各種函數(shù)解釋成LCDconf.h文件中定義的液晶接口函數(shù),這個(gè)文件與具體的硬件連接無(wú)關(guān),LCD驅(qū)動(dòng)在SDRAM開(kāi)辟幀緩沖以及往VGAIP中寫入數(shù)據(jù),在函數(shù)LCD_Controller_Init()完成,開(kāi)辟顯示緩沖區(qū)由framebuffer=(aIt_u32*)alt_uncached_malloc(LCD _XSIZE*LCD_YSIZE*LCD_BITSPERPIXEL/2)實(shí)現(xiàn)。同時(shí)編寫void LCD_L0_SetPixelIndex(int x,int y,int PixelIndex)和unsigned int LCD_L0_GetPixelIndex(int x,int y)這2個(gè)函數(shù),分別是設(shè)置一個(gè)像素和獲取一個(gè)像素的顏色,后面很多操作如畫點(diǎn)、線、圓等都需要調(diào)用這2個(gè)函數(shù)。

2.3 接口函數(shù)移植

由于支持μC/OS-Ⅱ操作系統(tǒng),所以要對(duì)GUI_X_μCOS.c文件進(jìn)行修改,GUI_X_μCOs.c定義了GUI與RTOS的接口函數(shù),使之能與μC/OS-Ⅱ操作系統(tǒng)實(shí)現(xiàn)無(wú)縫銜接,要增加系統(tǒng)延時(shí)函數(shù)OSTimeDly(1),void GUI_X_Execldle(void){OS_X_Dday(1);}改為:

到此,μC/GUI移植需要修改的代碼部分已經(jīng)全部完成。

3 μC/GUI應(yīng)用程序開(kāi)發(fā)實(shí)例

根據(jù)平臺(tái)修改完配置、驅(qū)動(dòng)文件和接口函數(shù)之后,在NiosⅡ9.0 IDE建立一個(gè)新的工程,選擇工程操作系統(tǒng)為μC/OS-Ⅱ,將已經(jīng)修改好的Config和GUI文件夾以及GUI_X_μCOS.c拷貝到建立的工程目錄下,可以根據(jù)實(shí)際需求,刪掉一些不需要的功能文件,減少編譯時(shí)間以及編程生成的執(zhí)行文件的大小。根據(jù)需求編寫相應(yīng)的應(yīng)用程序,要使PS/2IP核正確使用,在應(yīng)用程序中要用要alt_up_ps2_open_dev(“/dev/ps2”),開(kāi)啟PS/2 IP核,同時(shí)要正確顯示圖形界面在顯示界面代碼之前要調(diào)用GUI_Init()函數(shù),它的功能是初始化GUI,同時(shí)初始化LCD控制器與顯示緩沖區(qū)。Nios II IDE編譯器成功編譯工程還要為移植的文件添加相應(yīng)的路徑,在include路徑要包括Config、GUI/Core,GUI/Widget和GUI/WM,編譯完成之后的工程目錄如圖3所示。成功編譯之后將程序下載到DE2開(kāi)發(fā)平臺(tái),程序運(yùn)行嵌入式智能監(jiān)控系統(tǒng)交互界面,運(yùn)行畫面如圖4所示。

交互界面顯示了系統(tǒng)標(biāo)志,按鍵、窗口以及鍵盤,每個(gè)按鍵代表一個(gè)功能,按鍵按下,彈出參數(shù)輸入窗口,可以在鍵盤輸入相關(guān)的參數(shù)通過(guò)PIO傳輸?shù)接布K。

4 結(jié)語(yǔ)

本文詳細(xì)介紹了μC/GUI在NiosⅡ嵌入式系統(tǒng)中的移植過(guò)程,包括從硬件平臺(tái)的搭建到μC/GUI配置文件、驅(qū)動(dòng)文件和接口函數(shù)的修改,采用自己編寫的VGA顯示IP核,使系統(tǒng)可使用任何通用的液晶顯示器,與其他很多專用的LCD驅(qū)動(dòng)而言,本系統(tǒng)具有很強(qiáng)的通用性。結(jié)果表明,μC/GUI功能強(qiáng)大,易于移植,占用系統(tǒng)資源少,移植過(guò)程有很多可選功能,可以針對(duì)不同的需求,非常適用于資源有限的嵌入式系統(tǒng)中。
同時(shí)μC/GUI還提供了仿真器以及位圖轉(zhuǎn)換工具,有助于我們應(yīng)用程序的開(kāi)發(fā),在開(kāi)發(fā)的過(guò)程中應(yīng)用程序可以在仿真器中完成而不必每次都在硬件平臺(tái)運(yùn)行驗(yàn)證。μC/GUI對(duì)鼠標(biāo)、鍵盤以及觸摸屏等的支持,將使基于NiosⅡ的智能監(jiān)控系統(tǒng)可以完全集成為監(jiān)視器中的一個(gè)功能模塊,具有很好應(yīng)用前景與研究意義。

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

當(dāng)?shù)貢r(shí)間周一,埃隆?馬斯克旗下人工智能初創(chuàng)公司 xAI 與社交媒體平臺(tái) X(原 Twitter)聯(lián)合發(fā)起訴訟,指控蘋果與 OpenAI 非法阻礙人工智能領(lǐng)域競(jìng)爭(zhēng),核心反對(duì)蘋果將 ChatGPT 深度集成至 iOS 系統(tǒng)的...

關(guān)鍵字: 馬斯克 蘋果 OpenAI iOS ChatGPT

從按下快門前就對(duì)照片進(jìn)行即時(shí)銳化,到通話過(guò)程中實(shí)時(shí)消除背景噪音,再到離線狀態(tài)下與人工智能 (AI) 助手互動(dòng),端側(cè) AI 正在重塑移動(dòng)體驗(yàn)。而 Arm 計(jì)算平臺(tái)正是實(shí)現(xiàn)這些無(wú)縫交互體驗(yàn)的強(qiáng)勁驅(qū)動(dòng)力。

關(guān)鍵字: 人工智能 iOS 安卓

創(chuàng)新能源儲(chǔ)存解決方案旨在提升車輛安全性與效率 12V和48V電壓架構(gòu)合同的開(kāi)創(chuàng)性簽署,充分體現(xiàn)了本行業(yè)對(duì)Clarios先進(jìn)超級(jí)電容器技術(shù)的堅(jiān)定信心 威斯康星州格倫代爾2025年1月7日 /美通社/ --...

關(guān)鍵字: iOS 超級(jí)電容器 RIO 電力

無(wú)錫2024年11月14日 /美通社/ -- 布勒集團(tuán)受蘇美達(dá)股份有限公司邀請(qǐng),于2024年11月5日至10日,與線上線下17個(gè)國(guó)家108家品牌制造商一起,以"聯(lián)動(dòng)世界,共贏未來(lái)"為主題同臺(tái)亮相第七屆...

關(guān)鍵字: 數(shù)字化 HELIO iOS 智能制造

喬和比利從小就是好朋友。兩家公司都在食品管理方面開(kāi)展了各自的業(yè)務(wù)。喬是一個(gè)技術(shù)極客,而比利信奉老派風(fēng)格。然而,在最初的5年里,Joe在食品行業(yè)獲得了很多聲譽(yù),而Billy未能在業(yè)務(wù)中獲得回報(bào),因此計(jì)劃關(guān)閉。

關(guān)鍵字: 物聯(lián)網(wǎng) 食品工業(yè) Android iOS

AppsFlyer 的最新發(fā)布的《2024 電商?App 營(yíng)銷現(xiàn)狀報(bào)告》顯示,建立客戶關(guān)系、提高用戶忠誠(chéng)度將成為電商?App 銷售旺季的制勝關(guān)鍵。 北京2024年8月22日 /美通社/ -- 全球營(yíng)銷衡量與體驗(yàn)管理平臺(tái)...

關(guān)鍵字: 移動(dòng) APPS BSP iOS

實(shí)時(shí)操作系統(tǒng)是保證在一定時(shí)間限制內(nèi)完成特定功能的操作系統(tǒng)。實(shí)時(shí)操作系統(tǒng)有硬實(shí)時(shí)和軟實(shí)時(shí)之分,硬實(shí)時(shí)要求在規(guī)定的時(shí)間內(nèi)必須完成操作,這是在操作系統(tǒng)設(shè)計(jì)時(shí)保證的;軟實(shí)時(shí)則只要按照任務(wù)的優(yōu)先級(jí),盡可能快地完成操作即可。

關(guān)鍵字: OS iOS

加利福尼亞庫(kù)爾弗城2024年7月16日 /美通社/ --?Snail, Inc. (納斯達(dá)克股票代碼: SNAL) (以下簡(jiǎn)稱"蝸牛游戲"或"公司")是一家領(lǐng)先的全球獨(dú)立開(kāi)發(fā)商和發(fā)行商,專注于互動(dòng)數(shù)字娛樂(lè),今日宣布方舟:...

關(guān)鍵字: iOS 安卓系統(tǒng) 移植 移動(dòng)平臺(tái)

羅德與施瓦茨與SmartViser攜手開(kāi)發(fā)了一種用于測(cè)試符合歐盟銷售的智能手機(jī)和平板電腦的新Energy Efficiency Index(EEI)標(biāo)簽法規(guī)的解決方案。該解決方案的核心是R&S CMX500,這是...

關(guān)鍵字: 智能手機(jī) Android iOS

DVI,全稱為Digital Visual Interface,即數(shù)字視頻接口,是一種視頻接口標(biāo)準(zhǔn),旨在傳輸未經(jīng)壓縮的數(shù)字化視頻。該標(biāo)準(zhǔn)由顯示業(yè)界數(shù)家領(lǐng)導(dǎo)廠商所組成的論壇“數(shù)字顯示工作小組”(Digital Displa...

關(guān)鍵字: dvi vga
關(guān)閉