關於Linux系統在嵌入式DVR中的應用

慧聰安防網訊 以強穩定性的優勢,嵌入式DVR越來越被安防行業與廣大客戶所接受。嵌入式DVR的

穩定性優勢不光來自於硬件的低故障率,很大因素取決於嵌入式DVR中所採用的操作系統及應用軟件的

高穩定性,它所選用的軟件平臺起着至關重要的作用。    

    從國內嵌入式DVR的領軍人物海康威視公司在嵌入式DVR的開發歷程上,可清晰地看出Linux系統在

嵌入式DVR中的地位日益凸顯出來。海康威視公司第一代嵌入式DVR的研發初期,在確定以

SamsungS3C2510加Ti的DM642作爲其硬件平臺的時候,採用了Linux與VxWorks同時開發,相互參照、評

估,最終主要由於基於對WindRiver的VxWorks商用軟件的信賴,選用了VxWorks作爲其操作系統及軟件

開發平臺;在第二代嵌入式DVR技術選型時,定下了以Ti的Davinci平臺作爲硬件平臺,由於Linux提供

了對該平臺的實現,而VxWorks不能提供該硬件平臺的支持,海康威視公司選擇性地將軟件平臺轉向了

Linux系統;而在第三代嵌入式DVR的預言期間,就明確、肯定地將Linux定爲海康威視公司下一代嵌入

式DVR的系統平臺。不難看出,Linux憑着其自身的特點,各方面的優勢逐步成爲了嵌入式DVR軟件平臺

的主角。   

    當今非手機類的嵌入式產品中,主流的操作系統有VxWorks,各種版本的Linux、uCOS-II、uC/OS,

Qnx等等。其中最著名的VxWorks是美國WindRiver公司推出的一種嵌入式強實時操作系統,自20世紀80

年代問世以來,以其高性能、高可靠性、高實時性等特點成爲實時操作系統中最具特色的系統。尤其以

成功應用於美國軍方、國防部、航空航天項目如火星探測車和愛國者導彈等高科技產品而聲名鵲起。自

1996年登陸中國,短短几年就已成爲國防、工業自動化、網絡通信、航空航天、醫療儀器、狀態監控以

及消費電子產品等嵌入式實時領域的首選操作系統。   

    VxWorks作爲商用軟件,以其實時性、可靠穩定性著稱於世,也因此被廣泛用在第一代的嵌入式DVR

系統中。但正是它所具有的這些特性也必定限制了其發展,因爲是商用軟件,所以有專業的、全職的技

術人員進行維護,雖然WindRiver是一家非常成功的嵌入式軟件公司,也同時可以擁有相當龐大的研發

隊伍,但針對現代IT迅猛發展所帶來的衆多的硬件平臺、海量的軟件、協議而言,那是相當有限的,所

以造成VxWorks系統現在所能支持的硬件平臺有限,只能支持一些主流廠家的典型平臺,完全不能和日

新月異的硬件平臺所同步,也違背了IT產業著名的摩爾定理。爲了保證其可靠性,兼顧實時性的特點,

WindRiver在集成軟件模塊時非常謹慎,發展也就必然緩慢,造成不能對衆多的軟件協議實現及時地支

持。 

    而且針對DVR系統,主要實現視音頻的編碼錄製任務,對於VxWorks推崇的實時特性並不能得到有效

利用,在DVR系統中,每秒25幀、50場及20毫秒視頻編碼的實際處理任務都是由DSP或ASIC芯片等專用芯

片完成,而CPU上運行的操作系統所負責的僅僅是應用級的程序調度,VxWorks所能達到的微時限

(Deadline)特性對於DVR所需的應用任務來說簡直是牛刀殺雞。

而uCOS-II、uC/OS,Qnx等操作系統由於其本身產生的目的、設計的特性、維護運營的模式都更適合於

純的工業控制領域。   
    Linux自誕生那天開始,就以開源自由的特性吸引了全世界成千上萬優秀的技術人員投入到Linux軟

件的開發中來,使Linux系統得以高速發展,也使得Linux可以支持市場上絕大多數的硬件平臺和各式各

樣的軟件協議,保持着高度一致的同步性。在Linux的應用初期,Linux的自由開放特性也使得不少商家

對其產生很多的誤解,認爲Linux就是不需要投入的!“開源意味着自由,但並不是成本上的免費,盡

管有時候的確免費。”位於加利福尼亞州SanMateo的開源軟件開發公司Untangle的CTODirkMorris所說

的話給了Linux應用一個很好的參見。開源軟件具有靈活性、可靠性、安全以及易於採用等諸多特點,

但免費不能算特點,至少不是主要特點。由於開源軟件參與的人員來自於世界各地,不同行業,不同領

域,不同目的,開發質量也良莠不齊,獲得的技術支持很有限,使得開源產品通常都不是一個完整的產

品,也一定程度上造成使用Linux會遇到很多困難。因此我們一定不要把開源簡單地看成免費軟件,而

應該把它視爲自由軟件,自由軟件意味着用戶可以自由地運行、拷貝、分發、研究和修改軟件。開源的

本質是爲程序員提供自由地查看和修改代碼的能力,讓程序員可以學習和借鑑別的程序員的設計思路,

然後進一步擴展和完善該產品,正是這個流程讓Linux功能越來越強大,性能越來越穩定。   

    隨着Linux的日益成熟,使用者對其有了進一步深入的瞭解,它所擁有的自由、開源本性,使得

Linux具有廣泛的硬件支持特性、不斷自我修復的完善性、強大的軟件協議特別是網絡的支持功能,也

必定決定了其將用作各式各樣的嵌入式系統中,嵌入式DVR當然也不會例外。而且白熱化的DVR市場,使

得成本因素、穩定因素、靈活因素越來越被各DVR用戶所看重,因此Linux也就自然成爲了現代嵌入式

DVR中的主角。爲了提升嵌入式DVR的競爭力,現在嵌入式DVR產品的比拼已不侷限於圖像編碼的壓縮率

、清晰度等基本的視頻特性上,更關注於嵌入式DVR作爲一個系統所能提供的服務,因此而帶來了各式

各樣且非常新穎的需求,這種需求也只有具有靈活特性和廣大資源的Linux平臺才能完成,對於某個功

能,比如客戶想要在DVR上加上SIP網關的功能,對於VxWorks這樣的封閉系統是很難實現的,而對於

Linux來講,只要在主流的PC平臺上實現了,那對於嵌入式DVR平臺來講,僅僅是一個交叉編譯的修正實

現。若要對某個新穎硬件的支持,比如某款新的CPU推出,或某個WiFi功能的支持,各廠家、協議組織

都會推出相應的Linux的示例程序,得到相應的源代碼,我們要做的大多數僅僅是個平移實現的工作。

    從應用模式上分,適合於嵌入式系統的Linux主要有三類,支持不含MMU單元CPU平臺的uClinux,通

用內核加上相應硬件平臺補丁的Linux(如Montavista,WindRiver提供的Linux),注重於強實時性的

RT-Linux。因DVR自身對實時性要求不高,所以RT-Linux類的linux不太適用於我們的行業,更多地依據

所選擇的硬件平臺特性而選擇前兩種Linux,如在海康威視公司第一代DVR系統中就採用了uClinux,第

二、第三代DVR就採用了通用的Linux系統。

  在嵌入式DVR中實現Linux系統主要分爲幾個部分:引導裝載程序、Linux內核、Linux的根文件系統及

相應的應用程序。    

    引導裝載程序通常是在任何硬件上執行的第一段代碼,就像普通PC機上所運行的BIOS程序,時下嵌

入式系統中比較流行的引導裝載程序有u-boot、vivi等,做的工作、實現的功能大致相仿,主要實現初

始化CPU、內存、Flash、串行端口、網口等基本的外設,設置參數區域並構造參數結構和標記,從

Flash加載內核程序並最終跳轉到內核的開始。    

    Linux內核版本的更新速度非常快,但Linux的內核版本發行同Linux對嵌入式處理器支持程度的發

展是不同步的,因此,需要對特定的處理器體系結構選擇合適的內核,並且根據其硬件功能部件加上相

應的補丁。爲配合現在的嵌入DVR所應用的硬件平臺,如ARM9或PowerPC,以及相應的硬件外設,如無線

網卡、USB2.0、SD卡等等流行的外設應用,建議選用較新的2.6版本的Linux內核。然後針對不同的硬件

模塊、應用模塊,對內核進行裁減、編譯、打包。    

    因嵌入式DVR中所應用的存儲空間(Flash芯片的容量)一般都較小,在構建整個系統的根文件系統

時,必須考慮節省空間,且結合DVR本身應用的相對單一性,一般都使用busybox、uClibc這樣的精簡模

塊構成DVR系統的軟件環境。   

    在嵌入式DVR系統中最主要的應用軟件當然是對壓縮的視音頻數據的採集、存儲、分發,特別是一

些網絡協議的實現等相應的特性功能。在應有系統裏還有很重要的一塊就是DVR的GUI系統,嵌入式DVR

與PC-DVR相比較弱的一環也在於界面的相對不友好性,所以提供一個較好的GUI系統對於能否實現一款

易用、有競爭力的DVR產品起着關鍵的作用。國內飛漫公司提供的MiniGUI就是個很不錯的選擇,基於

MiniGUI平臺,可以提供方便開發、易於集成的良好的用戶界面。   

    可以預見,在今後的嵌入式DVR產品中,Linux系統必將佔據絕對的領導地位。由於Linux系統的廣

泛應用,也必將使嵌入式DVR的開發、銷售模式得到變革性的更新,嵌入式DVR的應用會上升到一個全新

的高度。

 

發佈了38 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章