国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

面向對象的嵌入式系統開發技術

發布時間:2010-11-16 11:09    發布者:eetech
關鍵詞: 對象 , 開發 , 面向 , 嵌入式系統
為了改善目前嵌入式系統中的代碼數量廈復雜度越來越高,維護效率低下,不能滿足某些高級應用的要求等現狀,提出一套新的基于面向對象的嵌入式系統開發技術。介紹面向對象嵌入式開發的應用現狀和模塊體系結構;針對面向對象編程所帶來的更多的運行時間和資源需求進行性能分析。結合面向對象和底層語言應用,可以取得性能和可行性的平衡優勢。

嵌入式系統不以獨立設備的物理形態出現,嵌入式系統的部件根據主體設備以及應用的需要.嵌入在主體設備內部,發揮著運算、處理、存儲以及控制等作用。從體系結構看,嵌入式系統主要以嵌人式處理器、支撐硬件和嵌入式軟件組成。嵌入式系統的發展已有30多年的歷史,早期的嵌入式系統以單個芯片為核心,大部分應用于工業控制系統中;后來發展為以嵌入式CPU為基礎、以嵌入式操作系統為核心的嵌入式系統;進入20世紀90年代以后,Internet的應用迅速普及,廣泛滲透到社會、經濟、交通、通信等相關行業,計算機與通信一體化的趨勢日趨明顯。基于Internet的嵌入式系統再度成為一個研究熱點。在人們的日常生活中,已經普遍使用的手機、PDA、手持設備和掌上電腦等信息電器就是嵌入式系統應用正在迅速發展的一個證明。

面向對象的基本思想就是程序被看作是相互協作的對象集合,每個對象都是某個類的實例,所有的類構成一個通過繼承關系相聯系的層次結構。程序設計是以對象為中心,以消息為驅動。程序一般由類的定義和類的使用組成。面向對象的建模,就是把系統看作是相互協作的對象。這些對象是結構和行為的封裝,都屬于某個類。那些類具有某種層次化的結構。系統的所有功能通過對象之間相互發送消息來獲得。

面向對象技術有以下優點:
   
①維護簡單。模塊化是面向對象編程中的一個特征。實體被表示為類和同一名字空間中具有相同功能的類,可以在名字空間中添加一個類而不會影響該名字空間的其他成員。
   
②可擴充。面向對象編程從本質上支持擴充性。如果有一個具有某種功能的類,就可以很快地擴充這個類,創建一個具有擴充功能的類。
   
③代碼重用。由于功能是被封裝在類中的,并且類是作為一個獨立實體而存在的,提供一個標準類庫就非常簡單。

面向對象的方法克服了原有軟件系統規模龐大、研制周期長、維護費用高、軟件系統過于復雜、應用軟件不易集成等困難。面向對象技術在軟件設計當中占有非常重要的地位,但面向對象并不是C++等語言的專利。實際上,在諸如操作系統等系統軟件當中,面向對象技術的使用是非常廣泛的。利用C等高級語言實現面向對象技術,不僅結構清晰,而且在執行效率等方面也有C++等語言無法比擬的優勢。  

1 面向對象嵌入式技術分析

1.1 面向對象嵌入式技術現狀
   
目前,面向對象技術在嵌入式系統中的應用雖然有限,但是已經得到了充分的發展。EC++是1996年在日本成立的Embedded C技術委員會針對嵌入式應用制定的減小代碼尺寸的C++標準;EC++引人嵌入式系統,使得嵌入式開發和個人計算機、小型機等之間在開發上的差別逐漸消除。軟件工程中的很多經驗方法乃至庫函數可以移植到嵌入式系統。EC++的使用使軟硬件開發可以分工,從事嵌入式軟件開發不再必須精通系統硬件和相應匯編指令集。相信使用C編程的開發者對這個優點都有感受,而EC++更為突出。

目前,在圖形用戶界面GUI、Web Server圖像處理技術、數據采集等方面已經有著很成熟的面向對象開發模式;采用設備輸入輸出接口等抽象層,融合網絡、驅動等底層操作,抽象成為上層開發的統一接口,提高可移植性和擴展性,方便后期維護和代碼重用。

1.2 面向對象嵌入式技術的總體設計思想
   
面向對象嵌入式技術的總體設計思想是所有操作由對象和消息驅動(或者事件驅動)。通過對現有面向對象技術的分析,對多種嵌入式應用系統的開發技術要求進行總結,抽象出各種接口和組件類。各個組件、接口、數據都被設計成為對象。對象之間通過消息通信形成整體,構成系統。在分析和設計的過程中,采用OOA/OOD進行分析設計,形成一個層次清楚、移植性好、易于擴展和重定義的系統結構。

從圖1中可以看出,在整個模塊與體系結構中面向對象技術的重要作用。  




  
目前,嵌入式系統大都采取分層結構設計,并允許根據需要對不同的層次進行重寫和替換。抽象接口是在抽象層定義的,不依賴于任何特殊硬件。所有頂層的操作和輸入處理都建立在抽象接口之上。這種分層結構實際上就是一種面向對象的程序結構,目的是將底層實際的不同驅動抽象成對上層的統一接口。進程管理、線程管理、內存管理、設備管理等也可以抽象成為統一的接口,方便嵌入式系統的開發。

采用上述分層方法,使用標準C或者標準C++編寫上層的應用程序,把與硬件及操作系統相關的接口完全封裝起來,對上層應用程序編寫著來講,完全感覺不到底層的變化。硬件變化或操作系統改變只需將硬件依賴型接口內部改變即可,這樣就能滿足程序運行于不同操作系統上的需要,并且可以是在不同系統下采用統一的接口。
  
2 面向對象嵌入式設計與模型的實際應用
   
數字視頻監控系統是以計算機為核心,結合視頻處理、通信、網絡和存儲技術的一種監控系統。數字視頻監控系統具有以往傳統的電視監控系統等所有的功能,并且在遠距離、性能方面相比具有很大的優勢。它與計算機相結合,使得異地、遠距離監控變得非常方便;與網絡、通信的結合,形成更有實用價值、功能更加強大的網絡通信管理系統。信息化的時代要求信息的處理隨時隨地,而數字視頻監控系統正是這種特點和趨勢的具體體現。

已經實現的SuperVisionl.0為了保證具有良好的靈活性和可擴展性,在開發中使用了許多面向對象技術。根據實際生活以及監控系統的需要,分析數字視頻監控系統中可能出現的異常情況,重點在于運動檢測,異常報警處理方面的設計,以及整個工程的速度性能的考慮。設計靜止物體緩慢變化、光線緩慢變化以及消除噪聲和干擾等多種具有不同應用需求的動態檢測算法,同時提出不同靈敏度的“階梯思想”;設計遠程控制與本地控制并行處理的機制算法,構建本地的Web服務器,方便用戶快捷方便地控制;設計整個監控系統結構整合的算法,保證視頻、圖像的捕捉,異常監測,報警機制(包括E-Mail、Ftp、電話、紀錄備份、Web訪問)與記錄回放等的協調工作;在內容存儲上,采用高效的MPEG-4的壓縮算法,圖片采用BMF,JPEG的方式,方便運動檢測和網絡的傳輸;友好的人機界面提供便利的操作,滿足視頻監控系統中實時傳輸、處理和回放等需求。

2.1 系統實現流程及結構分析
   
目前,流行的嵌入式軟件大都是采取分層結構設計的。SuperVision1.O也采用了這種分層的結構設計,并允許根據需要對不同的層次進行重寫和替換,抽象接口是在抽象層定義的,不依賴于任何特殊硬件。所有頂層的操作和處理都建立在抽象接口之上。這種分層結構實際上就是一種面向對象的程序結構,目的是將底層實際的不同驅動或者實現抽象成對上層的統一接口。在實現中底層部分主要針對視頻采集和壓縮算法的接口統一實現,針對不同的驅動和壓縮得到統一的上層接口,方便擴展和修改。上層中的報警機制(包括E-Mail、FTP、電話,紀錄備份和Web訪問)采用對象的特點,把每個報警方法都抽象成為對象,針對每種不同的程序實現統一使用接口。系統流程如圖2所示。  




  
報警機制部分主要實現遠程控制和實時數據傳輸部分功能部分功能。
   
①遠程控制:采用Server/Browser結構,使客戶端能夠在網上任何節點接入,實現客戶端發布的零配置,同時實現用戶驗證機制,確保安全。實現的主要功能包括:開啟/停止監控系統的實時報警,實時更新監控圖像,獲取系統歷史記錄。
   
②實時數據傳輸:提供可調用并且通用的接口函數,由報警子系統調用。通過多種方式把各種實時數據傳送出去,包括http、FTP和E-ail。

2.2 統一接口實例
   
試想如果一個城市的消防車去鄰近的城市救火,卻發現無法和這個城市的消防栓對接,這是多么可怕的災難?美國人在上個世紀初就有了統一接口的思想,現在再強調這個也不為過。其目的就是實現系統軟件中,不修改任何的軟件代碼,就可以換上其他規格甚至其他廠家的同類型產品。開發人員可以很方便根據統一的接口擴展和移植相關代碼。無論如何,美國人的這個近乎異想天開的想法,現在正在慢慢地轉變成為現實。沒有PC兼容的規范,沒有API接口,很難想象微軟的軟件可以像現在這樣大行其道。

該系統的模塊設計考慮和采用了統一接口的思想。它接收系統產生的報警消息產生相應的消息隊列,對所有的消息進行分類送相應的系統模塊進行處理,根據對應的模塊類別調用相應的處理方法,并記錄處理信息。當工作失敗時自動進行相應的事務處理。

視頻采集可以基于采集卡的SDK接口函數,也可以基于Microsoft的DirectShow技術開發的音視頻訊號捕捉接口,或者基于底層的驅動等方法來實現。采用統一接口的思想可以將各種實現策略抽象成為對上層的統一接口。具體的調用采用面向對象的特點、調用相應的接口實現策略。

CaptureProc重要接口定義如下:

    Class CaDtureProc{
    String Type;                    //區別接口類別
    b001 mnuStartCapture();         //開始錄像
    b001 mnuStopCapture();          //停止錄像
    bool TakePicture();             //捕獲圖像
    bool Setting();                 //相關設置選項
   Shc)wConfiglareDialog(&.type);  //根據類型不同給出不同的設置界面  
};

報警機制(包括E-mail、FTP、電話、紀錄備份和Web訪問)同樣可以采用面向對象的特點,把每個報警方法都抽象成為對象,針對每種不同的程序實現統一使用接口,方便代碼編寫和擴展。在實現中包括Cmail、Cftp、Ctel、Cweb四個類,對應的接口統一定義為啟動、設置、關閉等抽象函數。根據用戶所設置的參數形式,系統在消息的驅動下,根據定義的具體對象調用相應的方法。將結果和變化輸出到指定的設備和存儲體中,用戶就可以方便及時地得到信息和觀察到運行過程和結果。系統設計中除了采用前面提到的設計模式外,還采用了對象樹等模式,方便分析整個系統的運行和完善情況。  

3 面向對象嵌入式技術的性能研究
   
當系統的分析與設計采用面向對象方法時,并不意味著所使用的編程語言也一定是面向對象的。事實上,這種分析設計方法的具體實現可以使用任何編程語言(如匯編語言或C語言);但是,在程序設計上要盡可能地使用面向對象的思想,如體現程序結構方面的封裝性、消息傳遞等。這樣才會使程序結構清晰,便于應付隨著需求變化而產生的不斷更新和系統維護。

過去嵌入式系統分析和設計方面的主要問題為:①分析設計沒有一個統一的標準;②分析設計方法不統一;③從分析設計到制作和編程沒有一個始終一貫的工程化方法,使得產品形成的每一個過程人為因素影響十分嚴重;④分析設計的成果不能被開發類似項目或產品時重用。以上4個方面的問題成為多年來制約嵌入式系統發展的主要瓶頸,使得大部分從事嵌入式系統應用開發的組織和團體,基本上是采用小組甚至是作坊式的運作模式。這樣,開發較復雜或大型系統的工作變得十分困難甚至無法進行,或因為系統需求的不斷變化或小組成員的流動導致項目失敗。目前,面向對象技術正是建立在對真實世界抽象思維的基礎上,面向對象的嵌入式系統建模同任何軟件密集型系統建模一樣,從系統中的類建模開始。為了解類的結構,首先對系統工作過程作一個總體陳述,對嵌入式系統需求、分析、設計、制作、測試和維護過程的結構特征和行為特征統一的工程化描述方法,改變以往的嵌入式軟件開發現狀。

SuperVisionl.0采用了面向對象設計方法,因為嵌入式開發中硬件條件的限制,相對于PC機上的面向對象編程有更多的困難,下面就探討一下在嵌入式開發中的OOP的難點和解決方法。面向對象編程需要更多的運行時間和資源需求,如果不采用面向對象編程,則面臨嵌入式開發中的代碼數量、復雜度越來越高帶來的維護效率下降的問題。  
   
從圖3可以看出C++語法的概況。  




  
底層的代碼在面向對象編譯器中使用時并沒有更高額的代價損耗,因此,在嵌人式開發時可以不使用資源代價比較高的而又不是很重要的部分,而是采用底層的代碼實現,或者改善面向對象的編譯器,變相利用底層的優點彌補面向對象程序設計的缺陷。這樣嵌入式系統在性能優勢和程序方便性、可維護性、可移植性上能夠得到統一。   

4 結論和展望
   
采用面向對象思想和嵌入式軟件特點相結合,在綜合運用,如多級抽象類型定義,不依靠具體程序設計語言的更高抽象層次上,對對象進行抽象描述,隱藏具體實現細節,使程序結構易于擴充,縮短開發周期。目前這種方法還處于發展階段,各種新的領域仍在不斷的出現,原有的方法也在不斷的檢驗和改進,面向對象的嵌入式開發技術的重要意義已經不容置疑,擺脫了以往結構化范式的影響。面向對象嵌入式開發技術在SuperVisionl.0系統中得到驗證,并根據具體的面向對象編程的性能特點調整資源分配策略。

從目前國內外IT行業來看,嵌入式系統及其產品將在Internet衍生出來的新型市場中起到重要的作用,后PC時代帶來的沖擊將是未來市場的新景觀。
本文地址:http://m.qingdxww.cn/thread-39634-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费看成人毛片| 日日射影院| 亚洲日韩中文字幕在线播放| 亚洲免费成人在线| 国产九九九九九九九A片| 亚洲成a人片777777久久| 青草草在线观看| 小草福利| 一二三四视频免费观看在线看1 | 亚洲国产美女精品久久| 国产精品视频成人| 亚洲中文字幕日本在线观看| 亚洲精品久久7777777| 亚洲成a人片在线观看中文| 欧美一级片免费| 午夜免费观看_视频在线观看| 四虎影视在线影院4hu| 2017最新伦理伦理片67| 男生脱美女内裤内衣动态图| 亚洲午夜国产片在线观看| 日韩在线1| 亚洲va久久久久综合| 国产成人亚洲综合无| 亚洲精品无码不卡| 亚拍精品一区二区三区| 在线a网站| 97久久伊人精品影院| 色琪琪无码成人AV视频| 亚洲国产激情一区二区三区| 新婚被黑人睡走中文字幕| 曰批视频免费| 欧美一夜爽爽爽爽爽爽| 午夜精品影院| 午夜影视在线免费观看| 尤物在线免费视频| 欧美成人猛片aaaaaaa| 欧美亚洲国产成人综合在线| 日韩精品成人a在线观看| 香蕉在线精品亚洲第一区| 国产人妻人伦精品久久久| 中文成人在线|