以強穩定性的優勢,嵌入式DVR越來越被安防行業與廣大客戶所接受。嵌入式DVR的穩定性優勢不光來自于硬件的低故障率,很大因素取決于嵌入式DVR中所采用的操作系統及應用軟件的高穩定性,它所選用的軟件平臺起著至關重要的作用。 從國內嵌入式DVR的領軍人物海康威視公司在嵌入式DVR的開發歷程上,可清晰地看出Linux系統在嵌入式DVR中的地位日益凸顯出來。海康威視公司第一代嵌入式DVR的研發初期,在確定以Samsung S3C2510加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是美國Wind River公司推出的一種嵌入式強實時操作系統,自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就是不需要投入的!“開源意味著自由,但并不是成本上的免費,盡管有時候的確免費。”位于加利福尼亞州San Mateo的開源軟件開發公司Untangle 的CTO Dirk Morris所說的話給了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的應用會上升到一個全新的高度。 |