<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于NiosⅡ嵌入式平臺實(shí)現μC/GUI在便攜式醫療監護儀上的移植

基于NiosⅡ嵌入式平臺實(shí)現μC/GUI在便攜式醫療監護儀上的移植

作者: 時(shí)間:2015-01-16 來(lái)源:網(wǎng)絡(luò ) 收藏

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

本文引用地址:http://dyxdggzs.com/article/268253.htm

  1 μC/GUI的系統移植

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

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

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

  

 

  1.2 μC/GUI移植原理

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

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

  

 

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

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

  2 μC/GUI在NiOSⅡ上的移植設計

  2.1 TFT LCD IP核結構

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

  

 

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

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

c語(yǔ)言相關(guān)文章:c語(yǔ)言教程



上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: NiosⅡ μC/GUI

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>