ppsm嵌入式rtos中的窗口系統(tǒng)開發(fā)

ppsm嵌入式rtos中的窗口系統(tǒng)開發(fā)

ID:10917783

大?。?4.00 KB

頁數(shù):4頁

時間:2018-07-08

ppsm嵌入式rtos中的窗口系統(tǒng)開發(fā)_第1頁
ppsm嵌入式rtos中的窗口系統(tǒng)開發(fā)_第2頁
ppsm嵌入式rtos中的窗口系統(tǒng)開發(fā)_第3頁
ppsm嵌入式rtos中的窗口系統(tǒng)開發(fā)_第4頁
資源描述:

《ppsm嵌入式rtos中的窗口系統(tǒng)開發(fā)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、PPSM嵌入式RTOS中的窗口系統(tǒng)開發(fā)

2、第1摘要:PPSM是Motorola為M68K系列提供的實時嵌入式操作系統(tǒng)。本文介紹在PPSM嵌入式RTOS上開發(fā)窗口及控件系統(tǒng)的體系和方法。關(guān)鍵詞:PPSMEZ328VZ328M68KRTOS實時嵌入式操作系統(tǒng)窗口系統(tǒng)控件在目前的中低檔PDA中,很多廠商都采用MotorolaM68K系列芯片。Motorola為其M68KCPU提供了一套的實時操作系統(tǒng)PPSM(PersonalPortableSystemManager)。但該系統(tǒng)中沒有提供窗口系統(tǒng)。我們在實踐中開發(fā)了一套窗口系統(tǒng),如圖1和圖2所示。該系統(tǒng)為

3、事件驅(qū)動方式,并有一系列控件支持。軟件開發(fā)人員采用添加控件的方式構(gòu)建所需的窗口,編寫對控件和窗口事件的響應(yīng)方式。下面介紹這套窗口系統(tǒng)的設(shè)計方案。1PPSM系統(tǒng)簡介(1)虛擬多任務(wù)方式PPSM系統(tǒng)中可以創(chuàng)建多個主任務(wù),但只有一個主任務(wù)處于活動狀態(tài)。每個主任務(wù)可以創(chuàng)建多個子任務(wù)。主任務(wù)和子任務(wù)均有唯一的TaskId。任務(wù)之間可以發(fā)送消息。接收消息的任務(wù)及其主任務(wù)可以取得CPU的控制權(quán)。 ?。?)觸摸屏輸入  PPSM系統(tǒng)采用了“活動區(qū)”的概念?!盎顒訁^(qū)”是用戶設(shè)定的屏幕上的一個矩形區(qū)域,只有筆在這樣的區(qū)域中的動作才能引起PPSM向活動任務(wù)發(fā)送消息。每

4、個活動區(qū)均屬于其創(chuàng)建的任務(wù)。換一種方式表達為:每個任務(wù)保存和管理一系列活動區(qū),活動主任務(wù)的所有子任務(wù)的活動區(qū)均處于活動狀態(tài),后創(chuàng)建的活動區(qū)覆蓋之前創(chuàng)建的活動區(qū)?! 。?)圖形界面支持  PPSM系統(tǒng)以一部分系統(tǒng)內(nèi)存作為屏幕緩存。每個任務(wù)可以擁有自己獨立的屏幕緩存,也可以共享一個屏幕緩存。屏幕緩存的尺寸可以與實際的屏幕大小不同。系統(tǒng)顯示活動任務(wù)的屏幕緩存中的圖像。每個主任務(wù)擁有自己獨立的屏幕緩存,可以使主任務(wù)切換時迅速切換屏幕;而各主任務(wù)共享一個屏幕緩存可以節(jié)約內(nèi)存空間,同時,應(yīng)用程序還可以創(chuàng)建獨立于任務(wù)的屏幕緩存。它具有與屏幕緩存同樣的結(jié)構(gòu),但不

5、能直接輸出到屏幕上。用戶可設(shè)置當前的屏幕緩存。PPSM提供了一組GUI函數(shù),用于在當前的屏幕緩存中作圖?! 。?)事件驅(qū)動  PPSM采用中斷方式處理各類事件,如時鐘、UART輸入/輸出、筆輸入等。各種事件均向活動任務(wù)發(fā)送消息。各任務(wù)(主任務(wù)或子任務(wù))均有各自的消息隊列。各任務(wù)從其消息隊列中取得并處理消息。2窗口的基本任務(wù)及界面系統(tǒng)的總體考慮  由于PPSM提供了靈活的屏幕緩存操作方式,開發(fā)的系統(tǒng)可能會因各應(yīng)用程序采用了不同的屏幕緩存方式而沖突,并且難以協(xié)調(diào)。我們開發(fā)PPSM系統(tǒng)上的窗口系統(tǒng),就是為了使其應(yīng)用程序界面開發(fā)變得容易而快速,使編程人員

6、的精力集中在應(yīng)用程序本身的功能上,提高開發(fā)的效率和可靠性?! 。?)關(guān)于界面繪制、切換、恢復(fù)的考慮  由于本窗口系統(tǒng)的目標是基于MotorolaEZ/VZ328的便攜設(shè)備,其特點是內(nèi)存較小、LCD屏幕較小、CPU速度和屏幕刷新速度均較慢;而窗口系統(tǒng)則要求刷新速度快,占有內(nèi)存小。通過分析系統(tǒng)特點,較小的LCD屏幕上,一般很少要求子窗口之間的切換,因而本窗口系統(tǒng)中,子窗口不能切換。換言之,子窗口均為有模式的,只有關(guān)閉上層子窗口,才能顯示下一層的窗口。下一層的窗口被上層子窗口覆蓋的部分可以由上層子窗口保存并恢復(fù),或由下一層的窗口自己重畫。前一種恢復(fù)方式

7、雖然節(jié)約內(nèi)存,但速度較慢,而且如果被最頂層窗口覆蓋的窗口只有一個,則每個窗口均需按順序重畫。這在速度較慢的CPU上是不能容忍的,因而我們采用了后一種保存并恢復(fù)窗口覆蓋區(qū)域的方式。一個應(yīng)用程序(主任務(wù))擁有一個主窗口。主窗口之間的切換等同于應(yīng)用程序的切換。如果以重畫的方式恢復(fù)一個主窗口,意味著該主窗口連同其所有子窗口必須依次重畫,這樣的刷新速度是不能滿足要求的。PPSM提供了這樣一種能力:如果主任務(wù)具有自己的屏幕緩存,在任務(wù)切換時,屏幕自動切換。因而我們采用這種方式。應(yīng)用程序具有自己的屏幕緩存,而各窗口均在該緩存上繪出。每個應(yīng)用程序均保存了一屏自己

8、的窗口圖形,當切換時,自動恢復(fù)。由于消息只由最頂層窗口處理,見(3)消息的處理部分,因而,在我們的窗口系統(tǒng)中不存在下層窗口界面繪制問題;同時,在小的屏幕上,實現(xiàn)窗口的移動和縮放并無太大的實用性,因而我們也不實現(xiàn)窗口的這些功能。另外有一類比較特殊的窗口,即POPUP屬性的窗口。這類窗口主要應(yīng)用于菜單和提示窗口,特點是:單擊窗口之外的區(qū)域?qū)⒆詣雨P(guān)閉該窗口。我們的處理方法是在這類窗口顯示時,設(shè)定一個全屏的活動區(qū),以取得窗口外區(qū)域的筆輸入;再設(shè)定一個窗口區(qū)域的活動區(qū)覆蓋在全屏的活動區(qū)之上,以將窗口區(qū)域排除在點擊自動關(guān)閉的區(qū)域之外?! 。?)關(guān)于界面輸入的

9、考慮  由于PPSM采用活動區(qū)的輸入方式,每個任務(wù)管理自己的活動區(qū),任務(wù)激活時,其活動區(qū)處于有效狀態(tài)。因而應(yīng)用程序切換時,其活動區(qū)自動切

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。