《電子技術應用》
您所在的位置:首頁 > EDA與制造 > 設計應用 > μC/GUI在Nios II嵌入式平臺上的移植研究
μC/GUI在Nios II嵌入式平臺上的移植研究
電子設計工程
汪廷華,夏 斌,楊文璐,秦振華 上海海事大學
摘要: 摘要:為了使便攜式心電監護儀具有友好的人機交互和方便的顯示,移植了一個GUI界面系統。以DE2-70配套開發板為驗證平臺,TFTLCDIP核是在QuartusⅡ9.0軟件平臺下,使用Verilog在FPGA上用硬件邏輯電路進行設計。該
Abstract:
Key words :

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

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

    便攜式醫療監護儀已成為人們日常生活中不可缺少的一部分。便攜式設備是由硬件與軟件緊湊組合的一個單元模塊,是一種體積小、智能化程度高、功能全、使用靈 活、操作方便的便攜機,適合家庭使用、外出攜帶等用途。為了使便攜式心電監護儀實現友好的人機交互和更加方便的顯示,這里提出一種GUI界面系統設計,就 是在基于NiosⅡ處理器的嵌入式平臺上實現μC/GUI的移植,使之實現系統功能。

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

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

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

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

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

d.JPG

 

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

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

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

h.jpg

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

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产欧美在线视频| 一区二区三区偷拍| 国产精品毛片在线看| 欧美精品一区二区三区很污很色的| 久久中文字幕导航| 久热成人在线视频| 久久久人成影片一区二区三区| 久久国产夜色精品鲁鲁99| 欧美一区二区三区视频在线| 欧美一级播放| 久久久91精品国产一区二区三区| 欧美一级理论片| 欧美影视一区| 久久久www成人免费毛片麻豆| 久久国内精品自在自线400部| 久久精品国产第一区二区三区最新章节| 欧美一区二区三区的| 久久精品国产69国产精品亚洲| 久久激情五月婷婷| 久久人体大胆视频| 麻豆国产精品777777在线| 欧美成人精品三级在线观看| 欧美精品一区二区三区蜜臀| 欧美日韩在线视频首页| 国产精品视频一区二区高潮| 国产欧美韩日| 激情欧美一区二区| 亚洲人成欧美中文字幕| 亚洲精品麻豆| 亚洲系列中文字幕| 亚洲欧美日韩另类| 亚洲电影在线播放| 亚洲人成网站在线观看播放| 一本色道久久综合亚洲精品不| 亚洲一区二区三区在线看| 欧美亚洲一区二区在线观看| 久久人人爽人人爽爽久久| 欧美国产日韩一区| 国产精品久久久久9999吃药| 国产亚洲欧洲一区高清在线观看| 在线不卡中文字幕| 亚洲精品一二| 亚洲一区尤物| 亚洲国产精品999| 一本色道久久综合亚洲精品小说| 亚洲欧美日韩一区二区在线| 久久精品国产精品亚洲| 欧美粗暴jizz性欧美20| 国产精品久久久久77777| 国精品一区二区| 亚洲精品国产视频| 亚洲欧美日韩中文在线制服| 亚洲第一页自拍| 亚洲一二三四区| 久久一二三国产| 欧美丝袜一区二区| 黄色精品免费| 一区二区精品在线观看| 久久福利视频导航| 在线视频日本亚洲性| 久久黄色网页| 欧美日韩18| 国产性做久久久久久| 日韩午夜电影av| 欧美在线亚洲综合一区| 一区二区免费在线视频| 久久野战av| 国产精品国产三级欧美二区| 在线免费观看欧美| 亚洲嫩草精品久久| 一本色道88久久加勒比精品| 久久精品一区| 欧美午夜一区二区| 亚洲国产老妈| 久久国产手机看片| 亚洲欧美国产毛片在线| 欧美韩日亚洲| 国产在线精品一区二区夜色| 一个人看的www久久| 亚洲激情视频网站| 久久成人在线| 国产精品久久久久久久久久久久久久 | 亚洲国产老妈| 久久国产一区| 欧美在线看片| 国产精品xxxav免费视频| 亚洲国产经典视频| 久久国产精品第一页| 亚洲欧美三级伦理| 欧美日韩黄色大片| 亚洲国产视频a| 久久av在线看| 欧美一区二区三区另类| 欧美色欧美亚洲高清在线视频| 亚洲第一级黄色片| 久久精品国产77777蜜臀| 欧美一区视频在线| 国产精品扒开腿做爽爽爽视频| 亚洲国产精品一区二区尤物区| 亚洲国产成人久久综合| 久久国产精品电影| 国产目拍亚洲精品99久久精品| 一卡二卡3卡四卡高清精品视频| 亚洲麻豆一区| 欧美激情aⅴ一区二区三区| 影音先锋在线一区| 亚洲国产日韩综合一区| 浪潮色综合久久天堂| 狠狠色狠狠色综合日日tαg| 欧美在线免费播放| 欧美一区二区网站| 国产精品香蕉在线观看| 亚洲在线观看免费| 午夜国产欧美理论在线播放| 国产精品国产三级国产aⅴ浪潮| 一区二区国产在线观看| 亚洲一区亚洲二区| 国产精品毛片高清在线完整版| 亚洲一区二区三区中文字幕在线| 亚洲欧美视频一区| 国产精品亚洲产品| 亚洲欧美卡通另类91av| 欧美一区永久视频免费观看| 国产精品永久免费在线| 香蕉亚洲视频| 久久亚洲捆绑美女| 尤物在线精品| 亚洲毛片在线看| 欧美激情综合在线| 99精品免费| 亚洲欧美变态国产另类| 国产精品一区免费观看| 欧美一区二区三区免费视频| 久久男女视频| 91久久精品日日躁夜夜躁国产| 99热在这里有精品免费| 欧美日韩久久不卡| 亚洲一区二区三区免费在线观看| 欧美诱惑福利视频| 加勒比av一区二区| 亚洲日韩视频| 国产精品久久久久9999| 欧美亚洲一区二区在线观看| 你懂的视频欧美| 日韩小视频在线观看专区| 亚洲欧洲99久久| 国模吧视频一区| 亚洲美女性视频| 国产精品免费观看在线| 久久国产精品99国产| 欧美精品 日韩| 亚洲一区尤物| 蜜桃伊人久久| 99精品热视频| 久久国产日韩| 亚洲精品影视| 久久激情五月婷婷| 亚洲欧洲在线看| 午夜精品久久久久久久男人的天堂 | 国产亚洲成av人片在线观看桃| 久久激情五月丁香伊人| 欧美另类专区| 欧美亚洲视频一区二区| 欧美激情亚洲自拍| 亚洲欧美日韩另类| 欧美电影在线观看| 亚洲夜间福利| 欧美成人一区二区| 亚洲欧美视频一区二区三区| 欧美激情性爽国产精品17p| 亚洲一区三区视频在线观看| 欧美成人精品激情在线观看| 亚洲欧美国产日韩中文字幕| 欧美成人资源| 香蕉成人伊视频在线观看 | 国产精品激情偷乱一区二区∴| 亚洲国产成人一区| 国产精品视频一区二区三区| 亚洲精品乱码久久久久久蜜桃91| 国产精品日韩一区二区| 亚洲精品乱码久久久久久日本蜜臀| 国产精品毛片一区二区三区| 亚洲另类黄色| 国产一区二区三区黄| 亚洲一级在线观看| 亚洲第一中文字幕在线观看| 午夜欧美精品| 亚洲精品一区在线观看| 开心色5月久久精品| 亚洲欧美精品suv| 欧美日韩在线免费观看| 亚洲人成啪啪网站| 国产在线播放一区二区三区| 亚洲欧美区自拍先锋| 亚洲国产精品女人久久久| 久久久美女艺术照精彩视频福利播放 | 国产精品久久久久永久免费观看| 亚洲理伦电影| 在线观看日产精品| 久久精品国产v日韩v亚洲 |