新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于嵌入式處理器S3C44B0X的μC/GUI設計

基于嵌入式處理器S3C44B0X的μC/GUI設計

作者: 時間:2012-03-23 來源:網(wǎng)絡 收藏

1. 引言

B0X 是三星公司針對嵌入式系統(tǒng)推出高性價比微處理器,它是基于ARM7TDMI內核的16/32位RISC處理器,工作主頻為66MHz。人機界面(GUI)是現(xiàn)代智能電子設備必不可少的重要組成部分,近年來隨著硬件的發(fā)展不斷進步,目前基于嵌入式的μC/GUI已經(jīng)在智能儀器、工業(yè)領域等發(fā)揮了重要的作用[1-3]。本文討論了一種基于三星公司生產的的μC/GUI移植方法,這種設計方法具有占用資源少、高性能、可靠性強、易移植等優(yōu)點。

2. 通用嵌入式圖形模塊μC/GUI

μC/GUI是Micrium公司開發(fā)的通用的嵌入式用戶圖形界面軟件。它給任何使用圖形LCD的應用程序提供獨立于處理器和LCD控制器之外的有效的圖形用戶接口??梢詰糜趩我蝗蝿窄h(huán)境,也可以應用于多任務環(huán)境中。μC/GUI能夠應用于任何LCD控制器和CPU的任何尺寸的物理顯示或者模擬顯示中。 它具有驅動接口層和應用層,全部代碼采用ANSI _C編寫,提供源代碼,可以方便的移植到各種平臺下。

2.1 μC/GUI特點

μC/GUI的特點主要包括:適用于任何8位/16位/32位CPU,可允許于支持ANSI C的任何編譯器;適用于任何控制器驅動任何LCD(單色,灰度,或者彩色);通過配置宏,可支持任何接口;可配置顯示尺寸;可在LCD的任何一點上顯示字符和畫位圖;對于顯示尺寸和速度提供優(yōu)化進程,編譯時間依賴于采用的優(yōu)化進程,支持虛擬顯示,虛擬顯示的尺寸比實際顯示大。

2.2 μC/GUI數(shù)據(jù)結構

μC/GUI以其窗口作為內存管理的基本單位,對所有窗口的管理是通過定義一個堆結構實現(xiàn)的。每個窗口在創(chuàng)建時根據(jù)其結構類型的不同為其在堆空間里分配特定大小的連續(xù)內存塊,并用一個塊結構體數(shù)組中的一個元素標識,塊結構體的定義如下:

typedefstruct

{

tALLOCINTOff;/*在堆中塊開始的位置*/

tALLOCINTSize;/*在堆中所占連續(xù)內存塊的大小*/

HANDLENext;/*指向后一窗口指針*/

HANDLEPrev;/*指向前一窗口指針*/

}tBlock;

statictBlockaBlock[GUI_MAXBLOCKS];

所分配的塊結構體數(shù)組元素在數(shù)組中的序號作為返回值用以標識一個窗口,即句柄。這樣對于一個窗口而言,記錄其各方面屬性的窗口類型結構體變量被放在堆空間中并且有一個塊標志與之對應。在整個過程中通過定義一個全局結構變GUI_Alloc存放相關分配信息,實現(xiàn)對內存的輔助管理。

2.3 μC/GUI工作機制

μC/GUI依靠消息機制和毀掉函數(shù)來實現(xiàn)窗口的創(chuàng)建、顯示及刪除。在μC/GUI中定義了數(shù)十種用于各類基本操作的消息宏,對一個窗口的操作基本上都是通過向其對應的回調函數(shù)傳送消息參數(shù)完成的。在整個工作過程μC/GUI利用一個全局的結構體變量GUI_Context即所謂的上下文變量來記錄包括:繪圖屬性、當前窗口信息、當前API列表、字體信息等與當前操作密切相關的信息,以管理整個工作流程。

3. 微處理器

三星公司推出的16/32位RISC處理器為手持設備和一般應用提供了高性價比和高性能的微控制器解決方案。其主頻可達66MHz,外圍設備和接口擴展豐富,使嵌入式系統(tǒng)的開發(fā)成本大大降低。

3.1 S3C44B0X內置LCD控制器

S3C44B0X內置LCD控制器可以支持規(guī)格為每像素2位(4級灰度)或每像素4位(16級灰度) 的黑白LCD。也可以支持每像素8位(256顏色)的彩色LCD屏。其內部結構框圖如圖1所示。

圖1 LCD內部控制器框圖

3.2基于S3C44B0X建立GUI硬件平臺

S3C44B0X有兩種運行方式:一種是有操作系統(tǒng)的,另一種是無操作系統(tǒng)的。對于無操作系統(tǒng)的運行方式,系統(tǒng)的初始化和主程序都在2MB的線性 FALSH內運行,2MBFALSH與S3C44B0X的Bank0相連,上電復位后系統(tǒng)自動從0x00000000地址開始運行,也可以把程序加載到指定的地址開始運行。本文中采用無系統(tǒng)運行方式,將初始化程序和主程序加載到首地址為0x0c008000的2MFLASH中運行。

筆者使用的基于S3C44B0X的開發(fā)板與LCD相關部分主要集成了如下器件:2MB的FLASH;8MB的SDRAM;用戶自定義邏輯器件;一塊夏普5.7英寸、256色、320×240分辨率LCD;ARM JTAG接口。

其功能框圖如圖2所示。

圖2開發(fā)板相關部分框圖


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉