新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 可移植的嵌入式WEB服務器軟件設計

        可移植的嵌入式WEB服務器軟件設計

        作者: 時間:2012-03-26 來源:網絡 收藏

        引言

        隨著互聯網技術的飛速發展,嵌入式技術在工業生產的過程控制、環境監測以及遠程數據采集等方面得到了廣泛的應用,通過嵌入在目標設備中的,可以非常方便地獲取遠程數據,并實現對遠程設備的干預,達到對遠程現場進行監視和控制的目的。在實際系統中,遠程設備往往千差萬別,為了在這些目標設備中構建,必須針對不同的系統編寫相應的WEB服務器代碼,通過采用基于操作系統適配層的中間件技術,可以很好的解決WEB服務器軟件在不同系統之間的移植問題,同時改善軟件的可維護性。

        1、嵌入式軟件的可移植問題

        主要指把同一軟件放置到不同系統平臺(如不同的硬件平臺或操作系統)并使之正常運行的難易程度,有時候被表述為跨平臺性,軟件的主要涉及到上面提到的軟硬件運行環境。開發出來的程序,如果不用修改或只需極少量的修改便能在其它種類的計算機上運行,就是可移植性好的程序。在當今的軟件設計中,為了在不同的產品線上重復使用相同的代碼,經常需要將代碼從一個平臺移植到另一個平臺,這種代碼的重復利用非常重要,因為它可以縮短軟件開發和測試的周期,同時還能減少后期的維護工作。

        計算機軟件的運行環境有兩個方面——硬件環境和軟件環境。硬件環境主要涉及計算機的硬件體系結構,比如X86體系結構、ARM體系結構、MIPS體系結構等,不同的體系結構其指令系統、中斷處理、寄存器組織、總線讀寫等都存在一定的差別;軟件環境指的是軟件依賴的操作系統。嵌入式應用需求多樣,操作系統種類也非常豐富,常見的有 VxWorks、Nucleus、WinCE、Linux/uClinux、eCos、uC/OS-II、ThreadX、Hopen和Delta等,不同的操作系統都會提供一些系統服務,比如任務創建和管理、任務間件通訊等,但各個操作系統在具體實現時會存在一些差異,其對外提供的系統服務接口也有不同,比如創建任務的系統調用:VxWorks為taskSpawn,Nucleus為NU_Create_Task,為了編寫具有最廣泛適應性的可移植代碼,開發人員必須注意到這些差異,并且采取適當的策略,來開發具有良好可移植性的軟件,使用一個稱為操作系統適配層的中間件可以很好的解決這個問題。

        中間件(Middleware)是位于平臺(硬件、操作系統)和應用程序之間的一組通用服務,這些服務具有標準的程序接口和協議,針對不同的操作系統和硬件平臺,它們可以有符合接口和協議規范的多種實現。基于中間件模型,需要對軟件模塊進行一下簡單的重構:界面與功能模塊分離,在模塊化的軟件中,界面要求以獨立的模塊出現,它與功能模塊之間可以根據具體的情況采用API調用或者消息等通訊機制來進行交互,這樣在進行界面修改時可以不修改軟件的其他部分;同時功能模塊不直接調用操作系統的服務函數,而是調用中間件提供的處理函數,通過中間件實現與操作系統、硬件以及人機界面之間的交互,這樣整個軟件的框架就變成如下結構:

        基于中間件的軟件結構圖


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 桃源县| 确山县| 澜沧| 浑源县| 长宁区| 会宁县| 喀喇| 武宁县| 伊宁县| 含山县| 温泉县| 诸城市| 洪湖市| 乌海市| 克山县| 台前县| 桐梓县| 阿勒泰市| 南宫市| 通化县| 珲春市| 海城市| 赣榆县| 灵丘县| 海兴县| 石屏县| 龙泉市| 图木舒克市| 昆山市| 台湾省| 苍南县| 巴彦县| 沾益县| 大石桥市| 牟定县| 张家港市| 永川市| 高淳县| 明溪县| 织金县| 建昌县|