日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]μC/GUI在Nios II上的移植設(shè)計(jì)研究

 便攜式醫(yī)療監(jiān)護(hù)儀已成為人們?nèi)粘I钪胁豢扇鄙俚囊徊糠帧1銛y式設(shè)備是由硬件與軟件緊湊組合的一個(gè)單元模塊,是一種體積小、智能化程度高、功能全、使用靈活、操作方便的便攜機(jī),適合家庭使用、外出攜帶等用途。為了使便攜式心電監(jiān)護(hù)儀實(shí)現(xiàn)友好的人機(jī)交互和更加方便的顯示,這里提出一種GUI界面系統(tǒng)設(shè)計(jì),就是在基于NiosⅡ處理器的嵌入式平臺(tái)上實(shí)現(xiàn)μC/GUI的移植,使之實(shí)現(xiàn)系統(tǒng)功能。

1 μC/GUI的系統(tǒng)移植

1.1 μC/GUI簡(jiǎn)介及可移植性分析

μC/GUI是Micrium公司開(kāi)發(fā)的通用的嵌入式圖形用戶界面軟件,其中圖形用戶接口GUI(Graphical User Interface)。該界面軟件被設(shè)計(jì)用于為任何使用一個(gè)圖形LCD的應(yīng)用提供一個(gè)有效的不依賴于處理器和LCD控制器的圖形用戶接口。它能工作于單任務(wù)或多任務(wù)的系統(tǒng)環(huán)境下。μC/GUI適用于使用任何LCD控制器和CPU的任何尺寸的物理和虛擬顯示,具有源代碼開(kāi)放及模塊化設(shè)計(jì)的特點(diǎn)。

μC/GUI的代碼全部用ANSI的C語(yǔ)言編寫(xiě)的,具有很強(qiáng)的移植性。由于μC/GUI采用分層結(jié)構(gòu),即具有驅(qū)動(dòng)接口層和應(yīng)用層,因此可方便地移植到各種 CPU下使用。μC/GUI對(duì)各類(lèi)圖像LCD顯示器具有良好的支持,并且有常見(jiàn)的2D圖形庫(kù)和窗口管理功能,而且消耗較少的系統(tǒng)資源,占用RAM和ROM 的空間很小。在典型的應(yīng)用中,μC/GUI需要的資源如表1所示。由表1可見(jiàn),運(yùn)行μC/GUI需要的系統(tǒng)資源不是很多,并支持幾乎所有類(lèi)型的CPU與大多數(shù)的LCD模塊,μC/GUI的源代碼規(guī)模適中,移植過(guò)程中可將不需要的代碼進(jìn)行剔除,而且結(jié)構(gòu)層次清晰,因此適合用于嵌入式系統(tǒng)中。


1.2 μC/GUI移植原理

嵌入式用戶圖形界面系統(tǒng)μC/GUI與嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ都是美國(guó)Micrium公司產(chǎn)品,μC/GUI能更輕易地在 μC/OS-Ⅱ上應(yīng)用,實(shí)現(xiàn)與μC/0S-Ⅱ的無(wú)縫結(jié)合。在NiosⅡ嵌入式系統(tǒng)中,Altera公司已經(jīng)將μC/OS-Ⅱ操作系統(tǒng)移植成功并且提供使用,所做的工作是將μC/GUI移植到NiosⅡ嵌入式平臺(tái)之上,使其能與μC/OS-Ⅱ操作系統(tǒng)結(jié)合使用,采用μC/GUI 3.98版本的源代碼進(jìn)行移植。

μC/GUI的軟件體系結(jié)構(gòu)如圖1所示,μC/GUI函數(shù)庫(kù)為用戶程序提供GUI接口,包含的函數(shù)有文本、數(shù)值、二維圖形、輸入設(shè)備以及各種窗口對(duì)象。其中,輸入設(shè)備可以是鍵盤(pán)、鼠標(biāo)或觸摸屏;二維圖形包括圖片、直線、多邊形、圓、橢圓、圓弧等;窗口對(duì)象包括按鈕、編輯框、進(jìn)度條、復(fù)選框等。

μC/GUI函數(shù)庫(kù)可以通過(guò)GUIConf.h文件進(jìn)行配置,包括內(nèi)存設(shè)備,窗口管理器,支持操作系統(tǒng)、觸摸屏,以及配置動(dòng)態(tài)內(nèi)存的大小等。在移植中,需要根據(jù)系統(tǒng)需要以外設(shè)所支持的功能對(duì)GUIConf.h文件進(jìn)行配置。

在LCDConf.h文件中定義了與硬件有關(guān)的各種屬性,如液晶的大小、顏色以及與液晶的接口函數(shù)。而LCD驅(qū)動(dòng)文件則負(fù)責(zé)把μC/GUI的各種函數(shù)解釋成LCDConf.h文件定義的液晶接口函數(shù),這個(gè)文件與具體的硬件連接無(wú)關(guān)。在移植時(shí),需要對(duì)LCDConf.h文件進(jìn)行配置,并針對(duì)LCD控制器編寫(xiě)相應(yīng)的LCD驅(qū)動(dòng)文件。

2 μC/GUI在NiOSⅡ上的移植設(shè)計(jì)

2.1 TFT LCD IP核結(jié)構(gòu)

μC/GUI的移植是基于IP核的移植,編寫(xiě)TFT LCD控制器,所以移植時(shí),在底層配置文件,參數(shù)的配置要和TFT LCDIP的相關(guān)參數(shù)相匹配,否則不可能移植成功,該IP核的結(jié)構(gòu)如圖2所示。

液晶屏采用臺(tái)灣統(tǒng)寶公司的TRDB_LCM 3.6寸屏,該屏的分辨率是320x240,支持24位色,也就是RGB888模式,但是由于Avalon總線支持傳輸數(shù)據(jù)寬度的差異,因此只用16位色,即RGB為565的模式。由于DE2-70有2個(gè)32 MB的SDRAM,所以拿使用其中一塊作為數(shù)據(jù)的存儲(chǔ)器,Nio-sⅡ處理器將圖像數(shù)據(jù)寫(xiě)入該SDRAM中,在NiosⅡIDE中用軟件控制緩沖器的開(kāi)啟,當(dāng)開(kāi)啟緩沖器之后,該BUFFER會(huì)源源不斷地讀取SDRAM中的數(shù)據(jù),為避免讀數(shù)據(jù)和NiosⅡ處理器向其中寫(xiě)入數(shù)據(jù)時(shí)發(fā)生沖突,Avalon總線自動(dòng)在二者之間加入了一個(gè)Arbitrator仲裁模塊來(lái)決定執(zhí)行哪個(gè)操作。

配置LCD采用3線串行總線配置LCD,緩沖器以Avalon存儲(chǔ)器映像主機(jī)的方式從SDRAM中讀取數(shù)據(jù),然后以Avalon Streaming Soume的方式把這些數(shù)據(jù)傳送到LCD控制器上,LCD控制器是以Avalon Streaming Sink的方式接收從緩沖器傳來(lái)的數(shù)據(jù),LCD控制器生成時(shí)序,在適當(dāng)時(shí)候?qū)?shù)據(jù)送出到TFT LCD屏上顯示。

2.2 移植過(guò)程

2. 2.1 μC/GUI的文件組織結(jié)構(gòu)

μC/GUI是以ANSI C源碼包的形式提供的。源碼包由配置文件目錄(Config)和庫(kù)函數(shù)目錄(GUI)2個(gè)文件目錄組成。在Config目錄中包含了LCDConf.h、GUITouchConf.h、GUIConf.h 3個(gè)配置文件,這3個(gè)文件分別用于LCD底層接口的配置、觸摸屏底層接口的配置以及μC/GUI自身的配置。在GUI目錄中的庫(kù)函數(shù)文件按照不同功能又分成若干子目錄如圖3所示,各子目錄所實(shí)現(xiàn)的功能如表2所示。
[!--empirenews.page--]

2.2.2 移植過(guò)程

首先建立一個(gè)硬件系統(tǒng),采用Altera公司的QuartusⅡ9.0版本的配套軟件,硬件系統(tǒng)在QuartusⅡ集成的 SOPCBuilder系統(tǒng)開(kāi)發(fā)工具中建立,添加NiosⅡ處理、JTAG調(diào)試模塊、添加定時(shí)器SDRAM控制器、BUFFER IP、TFT LCD IP以及其他部分組件,最后生成一個(gè)硬件系統(tǒng)。然后在NiosⅡIDE環(huán)境下針對(duì)該系統(tǒng)建立一個(gè)TFT LCD軟件工程,并且將μC/GUI有關(guān)的源代碼拷貝到工程目錄下,修改LCDConf.h、GUIConf. h、LCDLin32.c以及GUI_X_uCOS.c文件,使之與LCD控制相匹配,在該系統(tǒng)中,LCD采用16位數(shù)據(jù)總線,而CPU是32位的 NiosⅡ軟核處理器,先查看一下μC/GUI所支持的數(shù)據(jù)寬度信息,其數(shù)據(jù)寬度和NiosⅡ處理器所支持的寬度基本吻合,只要在改動(dòng)代碼時(shí)注意就可以。以下是具體的代碼實(shí)現(xiàn)情況:

因?yàn)檫@里是基于TFT LCD IP核的移植,所以要定義LCD的讀寫(xiě)函數(shù),即LCD_READ_MEM(Off)和LCD_WRITE_MEM(Off,data)以及顯示緩存區(qū)的起始位置,讀寫(xiě)函數(shù)中的Off和data都是32位的無(wú)符號(hào)數(shù),而操作函數(shù)IORD_32DIRECT()以及IOWR_32DIRECT()都是一次執(zhí)行 32位數(shù)的操作,剛好和NiosⅡ處理器的數(shù)據(jù)寬度相匹配。由于支持μC/OS-Ⅱ操作系統(tǒng),所以要對(duì)GUI_X_uCOS.c文件進(jìn)行修改,增加系統(tǒng)延時(shí)函數(shù)OSTimeDly(1),使之能與μC/OSⅡ操作系統(tǒng)實(shí)現(xiàn)無(wú)縫銜接,以及3個(gè)子函數(shù),void GUI_X_Log(const char*s){GUI_USE_PARA (s);};void GUI_X_Warn(const char*s){GUI_USE_PARA(s);};void GUI_X_ErrorOut(const char*s){ GUI_USE_PARA(s);};LCDLin32.e是對(duì)應(yīng)3200型號(hào)控制器的驅(qū)動(dòng)文件,由于在LCDConf.h中已經(jīng)對(duì)用到的參量進(jìn)行設(shè)置,所以無(wú)需修改,剩下的工作就是把不用的文件進(jìn)行剔除,以減少編譯時(shí)產(chǎn)生多余的代碼量。

3 移植驗(yàn)證

在NiosⅡIDE環(huán)境下修改配置文件以及驅(qū)動(dòng)文件,然后編譯該系統(tǒng),系統(tǒng)編譯成功,編譯成功之后還有MICRIUM公司的聯(lián)系方式,這個(gè)是提醒用戶該系列軟件如果要用于商業(yè)目的是需要買(mǎi)license的,用于研究目的是免費(fèi)的。

圖片驗(yàn)證是采用μC/GUI自帶的位圖轉(zhuǎn)換工具uC-GUI-BitmapConvert.exe,該工具可以將.bmp格式圖片轉(zhuǎn)換成指定的C語(yǔ)言數(shù)組的形式保存,例如將蘭博基尼跑車(chē)標(biāo)志的圖片轉(zhuǎn)換成RGB565的格式進(jìn)行保存,加入工程,編譯工程,然后下載驗(yàn)證,如圖4所示。窗口管理組件驗(yàn)證采用代碼包中自帶的一個(gè)測(cè)試代碼,其效果如圖5所示。實(shí)驗(yàn)結(jié)果表明,移植是成功的。


4 結(jié)論

本文介紹了μC/GUI界面系統(tǒng),以及NiosⅡ嵌入式系統(tǒng),詳細(xì)介紹了移植的過(guò)程,以及最終實(shí)現(xiàn)移植。實(shí)驗(yàn)結(jié)果表明,在嵌入式系統(tǒng)中使用μC/GUI進(jìn)行人機(jī)界面的開(kāi)發(fā),不但移植簡(jiǎn)單、使用靈活,而且功能強(qiáng)大,穩(wěn)定高效,大大降低了在嵌入式系統(tǒng)中開(kāi)發(fā)圖形人機(jī)界面的復(fù)雜程度,而且 μC/GUI還提供了幾個(gè)非常實(shí)用的工具軟件,其中包括一個(gè)仿真器,它使得在進(jìn)行移植工作的同時(shí),就可以在仿真器上進(jìn)行軟件界面部分的程序編寫(xiě),加快了整個(gè)系統(tǒng)的開(kāi)發(fā)進(jìn)度。還有位圖轉(zhuǎn)換工具,可以輕松地將圖片轉(zhuǎn)換成C語(yǔ)言數(shù)組的形式保存,方便界面開(kāi)發(fā)。μC /GUI還支持其他PS2鼠標(biāo)、PS2鍵盤(pán)、觸摸屏,包含豐富的繪圖庫(kù)、動(dòng)畫(huà)顯示優(yōu)化、還可以自己加入中文字體,通過(guò)使用μC/GUI的各項(xiàng)功能,相信可以在嵌入式系統(tǒng)中開(kāi)發(fā)出功能強(qiáng)大的人機(jī)界面,而且在嵌入式系統(tǒng)中有很好的應(yīng)用前景。

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

上海2025年8月26日 /美通社/ -- 在全球數(shù)字經(jīng)濟(jì)加速演進(jìn)的時(shí)代浪潮中,海量數(shù)據(jù)資源正成為企業(yè)發(fā)展的雙刃劍。超66%的企業(yè)面臨"數(shù)據(jù)沉睡"危機(jī)——分散于供應(yīng)鏈、財(cái)務(wù)、客戶運(yùn)營(yíng)等數(shù)十個(gè)系統(tǒng)的業(yè)務(wù)...

關(guān)鍵字: AI 模型 軟件 數(shù)據(jù)分析

加快開(kāi)發(fā)進(jìn)程;提升質(zhì)量、安全性、性能與成本效益 利用耐世特在底盤(pán)領(lǐng)域的專(zhuān)業(yè)知識(shí)和線控技術(shù)產(chǎn)品組合 美國(guó)密西根州奧本山2025年8月11日 /美通社/ --?耐...

關(guān)鍵字: MOTION 軟件 運(yùn)動(dòng)控制 NI

從自然汲取,向未來(lái)創(chuàng)造 上海2025年8月8日 /美通社/ -- 2025 世界機(jī)器人大會(huì)將于8月8-12日在北京亦創(chuàng)國(guó)際會(huì)展中心拉開(kāi)帷幕,F(xiàn)esto(A112展位­)將以"從自然汲取,向未來(lái)創(chuàng)造&q...

關(guān)鍵字: FESTO 機(jī)器人 BSP 軟件

上海2025年7月28日 /美通社/ -- 在世界人工智能大會(huì)(WAIC)期間,榮耀正式發(fā)布自研多模態(tài)感知大模型——MagicGUI大模型。作為榮耀推出的首個(gè)GUI開(kāi)源大模型...

關(guān)鍵字: GUI MAGIC 開(kāi)源 模型

引言:穿越變革浪潮,迎接智能金融時(shí)代 上海2025年7月28日 /美通社/ -- 在全球科技變革的浪潮中,生成式AI正加速驅(qū)動(dòng)各行業(yè)變革,金融行業(yè)尤為顯著。在強(qiáng)監(jiān)管與用戶需求升級(jí)的雙重壓力,行業(yè)亟需重構(gòu)服務(wù)模...

關(guān)鍵字: 軟件 生成式AI 模型 數(shù)字化

寧波2025年7月28日 /美通社/ -- 日前,在第四屆寧波市專(zhuān)利創(chuàng)新大賽的聚光燈下,中之杰智能的創(chuàng)新技術(shù)"一種基于電子周轉(zhuǎn)箱的生產(chǎn)管理方法及系統(tǒng)"強(qiáng)勢(shì)斬獲專(zhuān)利優(yōu)秀獎(jiǎng)。這枚沉甸甸的獎(jiǎng)?wù)卤澈?..

關(guān)鍵字: 軟件 電子 智能工廠 BSP

杭州2025年7月28日 /美通社/ -- 近日,大華股份與北京北大軟件工程股份有限公司(以下簡(jiǎn)稱(chēng)"北大軟件")簽署戰(zhàn)略合作協(xié)議。雙方將重點(diǎn)圍繞長(zhǎng)江禁漁等領(lǐng)域,發(fā)揮各自在產(chǎn)品、技術(shù)、平臺(tái)等方面的經(jīng)驗(yàn)和...

關(guān)鍵字: 軟件 數(shù)字化

成都 2025年7月16日 /美通社/ -- 由立嘉會(huì)議展覽有限公司主辦的"2025第四屆成渝地區(qū)裝備制造業(yè)博覽會(huì)"將于9月11日至13日在成都世紀(jì)城新國(guó)際會(huì)展中心盛大舉辦。本屆博覽會(huì)以&...

關(guān)鍵字: BSP 軟件 供應(yīng)鏈 智能制造

上海 2025年7月14日 /美通社/ -- 近日,微創(chuàng)軟件與全球領(lǐng)先的工業(yè)級(jí)綠色智能系統(tǒng)解決方案提供商——上海電氣集團(tuán)股份有限公司旗下直屬子公司上海電氣數(shù)字科技有限公司,以下簡(jiǎn)稱(chēng)"電氣數(shù)科"宣布深...

關(guān)鍵字: 電氣 軟件 數(shù)字化 BSP

全新的集成解決方案確保企業(yè)以安全、負(fù)責(zé)任的方式應(yīng)用 AI智能體及其他生成式AI技術(shù)。 借助以上工具,企業(yè)可以對(duì)智能體執(zhí)行"紅隊(duì)測(cè)試"和審計(jì),并檢測(cè)"影子智能體"...

關(guān)鍵字: IBM 軟件 智能體 AI
關(guān)閉