基于A(yíng)RM7支持觸摸屏和實(shí)時(shí)操作系統的開(kāi)發(fā)與應用
嵌入式操作系統下應用程序的開(kāi)發(fā)
本文引用地址:http://dyxdggzs.com/article/117094.htm在嵌入式操作系統下開(kāi)發(fā)基于ARM7的應用程序主要是進(jìn)行任務(wù)的劃分,根據每個(gè)任務(wù)的緊急程度建立不同優(yōu)先級,下面就任務(wù)劃分的原則和實(shí)例進(jìn)行說(shuō)明:
任務(wù)劃分原則
將一個(gè)軟件系統分解成并行任務(wù)時(shí),主要考慮系統內功能的異步性。通過(guò)分析數據流圖中的變換,確定哪些變換是并行的,哪些變換本質(zhì)上是順序執行的。通過(guò)這種方法,一個(gè)變換對應一個(gè)任務(wù),或一個(gè)變換包括幾個(gè)任務(wù),同時(shí)應遵循如下原則:
● I/O依賴(lài)性:由于I/O速度的限制,對它操作的程序應獨立為一個(gè)任務(wù);
● 時(shí)間關(guān)鍵性:將有時(shí)間關(guān)鍵性的功能分離出來(lái),組成獨立的任務(wù),賦予高優(yōu)先級;
● 計算功能:計算功能要占用較多CPU時(shí)間間,應賦予他們較低的優(yōu)先級;
● 功能內聚:將緊密相關(guān)的功能組成一個(gè)任務(wù),使各種功能共享資源或相同事件的驅動(dòng);
● 時(shí)間內聚:將在同一時(shí)間內完成的任務(wù),即使功能不相關(guān),組成一個(gè)獨立的任務(wù);
● 周期執行功能:相同周期內執行的各功能組成一個(gè)任務(wù),頻率高的賦予高優(yōu)先級。
應用實(shí)例
本文以實(shí)際項目為例進(jìn)行分析,在本項目中觸摸屏作為輸入設備、系統檢測輸出窗口,通過(guò)控制器嵌入mC/OS-II操作系統和mC/GUI配合使用實(shí)現完成相應按鈕指令的功能,并在后臺的特定任務(wù)中完成各種中斷、計算、通訊等功能。因此進(jìn)行了如表1所列的任務(wù)劃分和定義。
觸摸屏的應用程序可以根據觸摸屏的實(shí)際使用情況來(lái)編寫(xiě),但在編寫(xiě)時(shí)應該注意模塊化的編程思想,以便它能作為一種輸入平臺簡(jiǎn)便的移植到相關(guān)的應用中。本文編寫(xiě)了一個(gè)泵的控制系統作為觸摸屏應用設計的實(shí)例。利用圖形軟件mC/GUI編寫(xiě)的控制系統操作界面如圖1所示,當用觸摸筆或者手指直接點(diǎn)擊圖中可編輯的按鈕控件(如最高壓力、設定流量和設定時(shí)間),彈出參數輸入對話(huà)框,如圖2所示。mC/GUI的設計具有模塊化的特點(diǎn),在不同的模塊中包含了不同的層,比如LCD驅動(dòng)包含了所有與LCD的接口。同樣,mC/GUI也提供了通用觸摸屏的應用程序接口(API),應用程序可以通過(guò)將它的函數庫添加到工程中來(lái)方便的使用。
評論