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

2021-01-06 電子產品世界

1. 引言

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

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

μC/GUI是Micrium公司開發的通用的嵌入式用戶圖形界面軟體。它給任何使用圖形LCD的應用程式提供獨立於處理器和LCD控制器之外的有效的圖形用戶接口。可以應用於單一任務環境,也可以應用於多任務環境中。μC/GUI能夠應用於任何LCD控制器和CPU的任何尺寸的物理顯示或者模擬顯示中。 它具有驅動接口層和應用層,全部代碼採用ANSI _C編寫,提供原始碼,可以方便的移植到各種平臺下。

2.1 μC/GUI特點

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

2.2 μC/GUI數據結構

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

typedefstruct

{

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

tALLOCINTSize;/*在堆中所佔連續內存塊的大小*/

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

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

}tBlock;

statictBlockaBlock[GUI_MAXBLOCKS];

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

2.3 μC/GUI工作機制

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

3. S3C44B0X微處理器

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

3.1 S3C44B0X內置LCD控制器

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

3.2基於S3C44B0X建立GUI硬體平臺

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

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

其功能框圖如圖2所示。

圖2開發板相關部分框圖


相關焦點

  • 基於NiosⅡ嵌入式平臺實現μC/GUI在可攜式醫療監護儀上的移植
    為了使可攜式心電監護儀實現友好的人機互動和更加方便的顯示,這裡提出一種GUI界面系統設計,就 是在基於NiosⅡ處理器的嵌入式平臺上實現μC/GUI的移植,使之實現系統功能。該界面軟體被設計用於為任何使用一個圖形LCD的應用提供一個有效的不依賴於處理器和LCD控制器的圖形用戶接口。它能工作於單任 務或多任務的系統環境下。μC/GUI適用於使用任何LCD控制器和CPU的任何尺寸的物理和虛擬顯示,具有原始碼開放及模塊化設計的特點。  μC/GUI的代碼全部用ANSI的C語言編寫的,具有很強的移植性。
  • 基於Microwindows的嵌入式GUI設計
    引言   嵌入式圖形用戶界面與存儲安全、嵌入式java 虛擬機並稱為嵌入式系統中的三大關鍵技術。在嵌入式應用領域,伴隨著硬體技術的發展,傳統意義上的人機互動界面正趨於淡化,取而代之的是具有友好人機互動支持的嵌入式圖形界面。
  • 基於S3C2440的嵌入式Linux根文件系統構建
    busybox在設計上充分考慮硬體資源受限的特殊工作環境,它採用一種很巧妙的方法減少自己的體積;所有命令都通過「插件」的方式集中到一個可執行文件中,在實際應用過程中通過不同的符號連結來確定到底要執行哪個操作。例如最終生成的可執行文件為busybox,當為它建立一個符號連結ls的時候,就可以通過執行這個新命令實現列目錄的功能。
  • 基於Nios II自助點菜系統的μC/GUI應用
    μC/GUI是一種用於嵌入式應用的Windows風格圖形支持軟體,它為任何使用圖形LCD的應用提供一個有效的不依賴於處理器和LCD控制器的圖形用戶接口,工作在單任務或多任務系統環境下,適用於使用任何LCD控制和任何CPU尺寸的物理或虛擬顯示。因此,掌握μC/GUI在嵌入式系統中的應用極為重要。移植μC/GUI到Nios II嵌入式軟核處理器[1]成了最佳選擇。
  • μC/GUI在嵌入式智能監控系統中的移植研究與應用
    實驗結果表明,μC/GUI成功移植到NiosⅡ嵌入式開發平臺中,可以實現μC/GUI文字顯示、繪圖以及窗口管理等功能,並可以外接任何具有VGA接口的LCD顯示器。關鍵詞:人機互動;μC/GUI;移植;NiosⅡ0 引言 人機互動是智能化嵌入式產品一項重要功能,在設計智能監控系統時人機互動需要界面設計軟體,常用的圖形界面軟體有MiniGUI,QT/Embedded,OpenGUI等。Altera公司NiosⅡ已經集成了μC/OS-Ⅱ系統。μC/OS-Ⅱ是一個實時多任務內核,不具有現代作業系統的線程,上述GUI不能方便的運行。
  • STM32平臺的μC/GUI移植與圖形界面設計
    摘要:μC/GUI是一種專為嵌入式應用設計的通用圖形接口軟體。本文詳細介紹了μC/GUI的結構框架和基於STM32平臺的μC/OS-II上的μC/GUI移植過程,並在此基礎上進行圖形界面設計;闡述了μC/GUI的窗口管理機制,提出了實現μC/GUI中文小型字庫的兩種方法並採用存儲設備解決了圖形顯示的閃爍問題。
  • 基於S3C4480X的嵌入式乙太網接口設計
    另一方面,嵌入式設備在價格、體積及實時性等方面是通用計算機無法比擬的,也已廣泛應用於自動化控制、數據採集、通信網絡等領域。因此,嵌入式乙太網技術有著廣闊的前景,首先要解決的問題就是嵌入式乙太網接口問題。  本文基於最常用的嵌入式處理器S3C44B0X和乙太網驅動器RTL8019AS來設計了一款嵌入式乙太網接口。
  • 基於ARM7晶片S3C44BOX的嵌入式定量分析系統
    為解決上述問題,本文基於ARM7晶片S3C44BOX,設計了一個集數據採集、處理、顯示為一體的嵌入式定量分析系統,並可以通網絡將數據傳送到遠程PC。本文引用地址:http://www.eepw.com.cn/article/150443.htm  1 系統原理及總體方案設計  1.1 系統原理  γ射線,它與物質的相互作用主要是光電效應。
  • 基於S3C2440的MiniGUI移植
    摘要:隨著嵌入式系統的發展,嵌入式圖形用戶界面需求越來越明顯,MiniGUI是目前比較成熟的嵌入式Linux系統的圖形用戶界面。為了滿足嵌入式圖形用戶界面的需求,將MiniGUI移植到基於S3C2440的處理器目標板。
  • 嵌入式μC/OS-II系統中基於ECB基本存儲單元實現信號量管理的設計
    嵌入式μC/OS-II系統中基於ECB基本存儲單元實現信號量管理的設計 李巖;谷萍萍 發表於 2020-03-10 10:25:12 隨著嵌入式技術的發展,實時作業系統
  • 基於μCLinux的USB驅動程序實現
    摘 要:μClinux是一種面向嵌入式微處理器的微型作業系統,已經在嵌入式作業系統中佔有重要地位。在此介紹FTDI公司的USB晶片FT245BL的主要性能、工作原理,並將其應用在Blackfin ADSP-BF533微處理器的嵌入式開發平臺上,說明在μClinux下編寫與加載USB接口晶片FT245BL的驅動程序方法,實現了DSP主板的 USB埠通信。
  • 移植ucGUI到s3c2440
    本文引用地址:http://www.eepw.com.cn/article/201611/317290.htm1、在http://www.ucgui.com/zuoping.asp下載uc/GUI 3.24版源碼2、參考《基於MDK+jlink平臺s3c2440裸機程序》建立工程S3C2440-ucGUI
  • 基於嵌入式技術的表面肌電信號採集儀設計
    本文主要介紹表面肌電信號採集儀的軟硬體設計與實現。1 硬體系統總體設計 該系統的控制核心選擇Atmel公司的AT91SAM7SE512處理器。AT91SAM7SE512是一款32位嵌入式微處理器,可針對交互式終端類和工業控制類等多種嵌入式應用。
  • μClinux、μC/OS-II、eCos、FreeRTOS和djyos作業系統的特點及不足
    基於STM平臺且滿足實時控制要求作業系統,有以下5種可供移植選擇。分別為μClinux、μC/OS-II、eCos、FreeRTOS和都江堰作業系統(djyos)。本文引用地址:http://www.eepw.com.cn/article/201809/391845.htm  下面分別介紹這五種嵌入式作業系統的特點及不足。
  • ARM在嵌入式linux內核裁剪與移植的應用
    文章以將linux移植到ARM920T內核的s3c2410處理器晶片為例,介紹了嵌入式linux內核的裁剪以及移植過程,文中介紹的基本原理與方法技巧也可用於其它晶片。2 內核移植過程2.1 建立交叉編譯環境在一種計算機環境中運行的編譯程序,能編譯出在另外一種環境下運行的代碼,我們就稱這種編譯器支持交叉編譯。這個編譯過程就叫交叉編譯。
  • 基於μCOS的預定義UI互動設計
    摘要:本設計用於電能計量終端的人機互動,對直流電和單相、三相交流電的電參數進行實時顯示。基於μCOS的預定義UI互動設計的特點是預定義一個菜單數組,由程序解析菜單定義。菜單項為菜單數組中的一個結構體,通過設置菜單數組就能改變菜單組合形式。
  • μC/OS-II在幾種處理器上的移植介紹
    μC/OS-II作業系統是一種搶佔式多任務、單內存空間、微小內核的嵌入式作業系統,具有高效緊湊的特點。它執行效率高,佔用空間小,可移植性強,實時性能良好且可擴展性強。
  • 基於LAN91C111的嵌入式乙太網接口設計
    隨著CPU性能的大幅度提升, 嵌入式系統的設計已經進入了更廣泛的領域。隨著FPGA的不斷發展和規模的進一步強大, SOPC的應用也越來越廣泛。由於SOPC的可編程特性很受嵌入式系統開發人員的青睞, 因此, 隨著信息產業和微電子技術的發展, 可編程嵌入式系統設計已經成為信息產業最熱門的技術之一, FPGA正以各種電子產品的形式進入人們日常生活的各個角落。
  • 基於EM8620的IPTV機頂盒設計
    機頂盒不同於通用計算機,他是一個嵌入式系統,低成本、低功耗和穩定性是硬體設計要遵循的原則,一些早期的iptv機頂盒設計方案採用了基於intel的高性能通用處理器架構,雖然性能很好,但是在功耗和成本方面最終很難被市場和運營商認可。
  • 嵌入式學習的正確步驟
    (其實就是把命令qmake變為tmake)  11、當然,你也可學習一下PCB的製作和設計一個自己的CPU(即軟殼)在嵌入式軟體方面最重要的課程包括:  (1) 嵌入式微處理器結構與應用:  這是一門嵌入式硬體基礎課程,我們說過,嵌入式是軟硬體結合的技術,搞嵌入式軟體的人應對ARM處理器工作原理和接口技術有充分了解