當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]μC/GUI在Nios II嵌入式平臺上的移植研究

摘要:為了使便攜式心電監(jiān)護儀具有友好的人機交互和方便的顯示,移植了一個GUI界面系統(tǒng)。以DE2-70配套開發(fā)板為驗證平 臺,TFTLCD IP核是在QuartusⅡ9.0軟件平臺下,使用Verilog在FPGA上用硬件邏輯電路進行設計。該IP核是利用QuartusⅡ開發(fā)和其集成的 SOPC Builder系統(tǒng)開發(fā)工具而設計的。μC/GUI則是在配套開發(fā)軟件NiosⅡIDE中進行移植實現(xiàn)。實驗結果表明,μC/GUI界面系統(tǒng)成功運行在開 發(fā)板上,可實現(xiàn)窗口管理、在指定位置顯示文字和顯示圖片等功能。

關鍵詞:μC/GUI;TFT LCD IP;SOPC;移植;NiosⅡ

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

1 μC/GUI的系統(tǒng)移植
1.1 μC/GUI簡介及可移植性分析
    μC/GUI是Micrium公司開發(fā)的通用的嵌入式圖形用戶界面軟件,其中圖形用戶接口GUI(Graphical User Interface)。該界面軟件被設計用于為任何使用一個圖形LCD的應用提供一個有效的不依賴于處理器和LCD控制器的圖形用戶接口。它能工作于單任 務或多任務的系統(tǒng)環(huán)境下。μC/GUI適用于使用任何LCD控制器和CPU的任何尺寸的物理和虛擬顯示,具有源代碼開放及模塊化設計的特點。
    μC/GUI的代碼全部用ANSI的C語言編寫的,具有很強的移植性。由于μC/GUI采用分層結構,即具有驅動接口層和應用層,因此可方便地移植到各種 CPU下使用。μC/GUI對各類圖像LCD顯示器具有良好的支持,并且有常見的2D圖形庫和窗口管理功能,而且消耗較少的系統(tǒng)資源,占用RAM和ROM 的空間很小。在典型的應用中,μC/GUI需要的資源如表1所示。由表1可見,運行μC/GUI需要的系統(tǒng)資源不是很多,并支持幾乎所有類型的CPU與大 多數(shù)的LCD模塊,μC/GUI的源代碼規(guī)模適中,移植過程中可將不需要的代碼進行剔除,而且結構層次清晰,因此適合用于嵌入式系統(tǒng)中。


1.2 μC/GUI移植原理
    嵌入式用戶圖形界面系統(tǒng)μC/GUI與嵌入式實時操作系統(tǒng)μC/OS-Ⅱ都是美國Micrium公司產(chǎn)品,μC/GUI能更輕易地在 μC/OS-Ⅱ上應用,實現(xiàn)與μC/0S-Ⅱ的無縫結合。在NiosⅡ嵌入式系統(tǒng)中,Altera公司已經(jīng)將μC/OS-Ⅱ操作系統(tǒng)移植成功并且提供使 用,所做的工作是將μC/GUI移植到NiosⅡ嵌入式平臺之上,使其能與μC/OS-Ⅱ操作系統(tǒng)結合使用,采用μC/GUI 3.98版本的源代碼進行移植。
    μC/GUI的軟件體系結構如圖1所示,μC/GUI函數(shù)庫為用戶程序提供GUI接口,包含的函數(shù)有文本、數(shù)值、二維圖形、輸入設備以及各種窗口對象。其 中,輸入設備可以是鍵盤、鼠標或觸摸屏;二維圖形包括圖片、直線、多邊形、圓、橢圓、圓弧等;窗口對象包括按鈕、編輯框、進度條、復選框等。


    μC/GUI函數(shù)庫可以通過GUIConf.h文件進行配置,包括內(nèi)存設備,窗口管理器,支持操作系統(tǒng)、觸摸屏,以及配置動態(tài)內(nèi)存的大小等。在移植中,需要根據(jù)系統(tǒng)需要以外設所支持的功能對GUIConf.h文件進行配置。
    在LCDConf.h文件中定義了與硬件有關的各種屬性,如液晶的大小、顏色以及與液晶的接口函數(shù)。而LCD驅動文件則負責把μC/GUI的各種函數(shù)解釋 成LCDConf.h文件定義的液晶接口函數(shù),這個文件與具體的硬件連接無關。在移植時,需要對LCDConf.h文件進行配置,并針對LCD控制器編寫 相應的LCD驅動文件。[!--empirenews.page--]

2 μC/GUI在NiOSⅡ上的移植設計
2.1 TFT LCD IP核結構
    μC/GUI的移植是基于IP核的移植,編寫TFT LCD控制器,所以移植時,在底層配置文件,參數(shù)的配置要和TFT LCDIP的相關參數(shù)相匹配,否則不可能移植成功,該IP核的結構如圖2所示。


    液晶屏采用臺灣統(tǒng)寶公司的TRDB_LCM 3.6寸屏,該屏的分辨率是320x240,支持24位色,也就是RGB888模式,但是由于Avalon總線支持傳輸數(shù)據(jù)寬度的差異,因此只用16位 色,即RGB為565的模式。由于DE2-70有2個32 MB的SDRAM,所以拿使用其中一塊作為數(shù)據(jù)的存儲器,Nio-sⅡ處理器將圖像數(shù)據(jù)寫入該SDRAM中,在NiosⅡIDE中用軟件控制緩沖器的開 啟,當開啟緩沖器之后,該BUFFER會源源不斷地讀取SDRAM中的數(shù)據(jù),為避免讀數(shù)據(jù)和NiosⅡ處理器向其中寫入數(shù)據(jù)時發(fā)生沖突,Avalon總線 自動在二者之間加入了一個Arbitrator仲裁模塊來決定執(zhí)行哪個操作。
    配置LCD采用3線串行總線配置LCD,緩沖器以Avalon存儲器映像主機的方式從SDRAM中讀取數(shù)據(jù),然后以Avalon Streaming Soume的方式把這些數(shù)據(jù)傳送到LCD控制器上,LCD控制器是以Avalon Streaming Sink的方式接收從緩沖器傳來的數(shù)據(jù),LCD控制器生成時序,在適當時候將數(shù)據(jù)送出到TFT LCD屏上顯示。
2.2 移植過程
2. 2.1 μC/GUI的文件組織結構
    μC/GUI是以ANSI C源碼包的形式提供的。源碼包由配置文件目錄(Config)和庫函數(shù)目錄(GUI)2個文件目錄組成。在Config目錄中包含了LCDConf.h、GUITouchConf.h、GUIConf.h 3個配置文件,這3個文件分別用于LCD底層接口的配置、觸摸屏底層接口的配置以及μC/GUI自身的配置。在GUI目錄中的庫函數(shù)文件按照不同功能又分成若干子目錄如圖3所示,各子目錄所實現(xiàn)的功能如表2所示。

[!--empirenews.page--]


2.2.2 移植過程
    首先建立一個硬件系統(tǒng),采用Altera公司的QuartusⅡ9.0版本的配套軟件,硬件系統(tǒng)在QuartusⅡ集成的 SOPCBuilder系統(tǒng)開發(fā)工具中建立,添加NiosⅡ處理、JTAG調(diào)試模塊、添加定時器SDRAM控制器、BUFFER IP、TFT LCD IP以及其他部分組件,最后生成一個硬件系統(tǒng)。然后在NiosⅡIDE環(huán)境下針對該系統(tǒng)建立一個TFT LCD軟件工程,并且將μC/GUI有關的源代碼拷貝到工程目錄下,修改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Ⅱ處理器所支持的寬度基本吻合,只要在改動代碼時注意就可以。 以下是具體的代碼實現(xiàn)情況:

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

3 移植驗證
    在NiosⅡIDE環(huán)境下修改配置文件以及驅動文件,然后編譯該系統(tǒng),系統(tǒng)編譯成功,編譯成功之后還有MICRIUM公司的聯(lián)系方式,這個是提醒用戶該系列軟件如果要用于商業(yè)目的是需要買license的,用于研究目的是免費的。
    圖片驗證是采用μC/GUI自帶的位圖轉換工具uC-GUI-BitmapConvert.exe,該工具可以將.bmp格式圖片轉換成指定的C語言數(shù)組 的形式保存,例如將蘭博基尼跑車標志的圖片轉換成RGB565的格式進行保存,加入工程,編譯工程,然后下載驗證,如圖4所示。窗口管理組件驗證采用代碼 包中自帶的一個測試代碼,其效果如圖5所示。實驗結果表明,移植是成功的。



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

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

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉