?
根據(jù)IEEE 2009年2月的報(bào)告,豪華級(jí)別的汽車的軟件代碼長度將超過1億行,GENIVI聯(lián)盟預(yù)測(cè)其中70%的代碼是來自汽車的IVI系統(tǒng),也就是我們常說的車載信息和娛樂系統(tǒng)(Infotainment and Telematics),其余的30%代碼來自儀表盤、車身電子、發(fā)動(dòng)機(jī)和引擎控制以及汽車安全相關(guān)部件[1]。即使是30%的代碼,這3千萬行代碼長度也已經(jīng)超過了1千萬級(jí)代碼行數(shù)的波音787飛機(jī),與2千5百萬行代碼行數(shù)的Windwos2000接近。如此巨大的代碼量不使用嵌入式操作系統(tǒng)(以下簡稱嵌入式OS)和軟件平臺(tái)架構(gòu)是不可想象的,以此聯(lián)動(dòng)產(chǎn)生的軟件研發(fā)、測(cè)試和維護(hù)成本也是巨大的,帶給汽車的安全性和可靠性隱患更是無法預(yù)估的。
OSEK和AUTOSAR
90年代的中期,一些歐洲的汽車工業(yè)廠商聯(lián)合發(fā)起了一個(gè)聯(lián)盟--OSEK/VDX,目的是為了形成一個(gè)針對(duì)汽車中各分布式單元的開放式架構(gòu)的工業(yè)標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)對(duì)RTOS、軟件接口、通信和網(wǎng)絡(luò)管理任務(wù)都有專門的說明。
“OSEK”的意思是“開放系統(tǒng)和汽車電子的對(duì)應(yīng)通信接口”。這個(gè)標(biāo)準(zhǔn)最初是在1993年由德國的BMW、Bosch、Daimler-Benz、Opel、Siemens、VW和Karlsruhe大學(xué)共同發(fā)起制定的?!癡DX”的意思是“車輛分布式執(zhí)行”(Vehicle Distributed eXecutive),這個(gè)標(biāo)準(zhǔn)的發(fā)起人是法國的PSA和Renault。1994年2個(gè)聯(lián)盟合并,由于OSEK操作系統(tǒng)的功能能夠和VDX協(xié)調(diào)運(yùn)行,所以為了簡化,一般使用術(shù)語“OSEK”來取代OSEK/VDK。
開發(fā) OSEK規(guī)范之前,汽車電子開發(fā)者要支付高額的、周期性開發(fā)費(fèi)用,面對(duì)控制單元(ECU)軟件非應(yīng)用相關(guān)方面的管理也不正規(guī),不同的軟件接口和協(xié)議所造成的各生產(chǎn)廠商制造的控制單元部件的不兼容性的問題更是嚴(yán)重,這些問題的存在便促使了OSEK出現(xiàn)[2]。
OSEK 聯(lián)盟只是定義OSEK規(guī)范,符合該規(guī)范的開源和商業(yè)的RTOS產(chǎn)品現(xiàn)在已經(jīng)很多了,比如開源的FreeOSEK、OpenOSEK、Toppers-OSEK(日本京都大學(xué)發(fā)起的開源項(xiàng)目,我在“開源的嵌入式OS”一文中已經(jīng)作了介紹)。商業(yè)OSEK OS有德國Vector公司的OS/Can、EB(Elektrobit)公司的 tresosAutoCore和OsekCore ,美國Mentor Graphic的Nucleus,還有GPL和商業(yè)雙授權(quán)的Arctic Core,它同時(shí)支持AUTOSAR和OSEK規(guī)范[3] 。
OSEK是基于ECU開發(fā),標(biāo)準(zhǔn)包括三部分:操作系統(tǒng)(0S)、通信(COM交互層)、網(wǎng)絡(luò)管理(NM)。AUTOSAR(汽車開發(fā)系統(tǒng)架構(gòu))是基于整體汽車電子開發(fā),包括汽車電子功能的劃分、ECU統(tǒng)一軟件架構(gòu)、ECU軟件開發(fā)過程等整套的方法和理論。AUTOSAR規(guī)范中定義的操作系統(tǒng)就是OSEK OS,而通信和網(wǎng)絡(luò)管理雖然和OSEK有區(qū)別,但思路是一樣的。
?
汽車電子領(lǐng)導(dǎo)者-QNX
說到汽車電子和嵌入式OS,那一定要提到QNX。1980年Gordon Bell和Dan Dodge在加拿大成立了Quantum Software Systems公司,他們根據(jù)大學(xué)時(shí)代的一些設(shè)想寫出了一個(gè)能在IBM PC上運(yùn)行的名叫QUNIX(Quick UNIX)的系統(tǒng),后來因?yàn)锳T&T干預(yù),才把名字改成QNX。QNX遵從POSIX規(guī)范,類似Unix實(shí)時(shí)操作系統(tǒng),目標(biāo)市場主要是面向嵌入式系統(tǒng)。80年初,筆者在研究所工作的時(shí)候曾經(jīng)使用過這個(gè)系統(tǒng),當(dāng)時(shí)我們使用了一張軟盤在PC上成功的引導(dǎo)出QNX。唯一遺憾的是,因?yàn)槲覀儾皇煜nix命令行,操作人機(jī)接口的時(shí)候還真是難為我們一番。2010年在被美國哈曼國際 Harman 在買走6年后,QNX又重返加拿大。2010年黑莓手機(jī)制造商RIM收購哈曼國際旗下的QNX軟件公司,以獲取其車載無線連接技術(shù)。QNX的應(yīng)用范圍極廣,包括保時(shí)捷跑車的音樂和多媒體系統(tǒng)、核電站和美國陸軍無人駕駛Crusher坦克的控制系統(tǒng),還有RIM公司的黑莓PlayBook平板電腦等。據(jù)有關(guān)資料顯示,QNX在汽車電子市場占有率達(dá)到75%,目前全球有超過180種車型使用QNX系統(tǒng)。QNX應(yīng)用在汽車電子的多個(gè)方面,比如遠(yuǎn)程通訊(車聯(lián)網(wǎng)的功能)、信息娛樂系統(tǒng)、汽車導(dǎo)航、汽車無線技術(shù)(藍(lán)牙接入)和汽車收音機(jī)等。
QNX是建立在微內(nèi)核上的(在嵌入式OS上使用微內(nèi)核技術(shù)的還有VRTXsa和VxWorks等,但是它們之間有很大的不同),這個(gè)架構(gòu)的特點(diǎn)是即可以支持小型的缺乏運(yùn)行資源的嵌入式系統(tǒng),也同樣適合大型分布式的實(shí)時(shí)系統(tǒng)。該系統(tǒng)的大多數(shù)系統(tǒng)服務(wù)是基于多(線)進(jìn)程的形式來表示,這些進(jìn)程被封裝在自己的地址空間里面,與用戶空間有隔離。微內(nèi)核本身提供OS基本管理,擴(kuò)展模塊提供設(shè)備、網(wǎng)絡(luò)、文件和圖像用戶接口,這些模塊都是可以裁剪的。這樣的特點(diǎn)讓QNX可以適合非常廣泛的嵌入式應(yīng)用場景,支持更多的嵌入式處理器,提供可靠性很強(qiáng)的OS環(huán)境和接近硬實(shí)時(shí)的運(yùn)行環(huán)境[4],QNX應(yīng)該是基于微內(nèi)核的嵌入式OS中最成功的其中一個(gè)。
2012年QNX推出了QNX CAR 2汽車軟件應(yīng)用平臺(tái),這是一套全新的解決方案,汽車開發(fā)人員將能夠?qū)⒇S富的HTML5用戶體驗(yàn)建立在已有多年汽車經(jīng)驗(yàn)的QNX軟件基礎(chǔ)之上。QNX CAR2致力于幫助用戶快速開發(fā)車載信息娛樂系統(tǒng)。該平臺(tái)包括一個(gè)全新的以汽車為中心的HTML5架構(gòu),集成了包括QNX Neutrino嵌入式OS,強(qiáng)大的多媒體架構(gòu),免提系統(tǒng)的音響處理庫,以及軟件技術(shù)服務(wù)和工具等。2013年初QNX公司宣布德爾福汽車將在其新一代信息娛樂系統(tǒng)中部署QNX CAR 2應(yīng)用平臺(tái)。
?
開放和封閉之爭
在汽車電子領(lǐng)域QNX的競爭對(duì)手有微軟、Linux和GENIVI聯(lián)盟。微軟WES(Windows Embedded Standard)7為福特信息娛樂系統(tǒng)SYNC提供了底層構(gòu)架,正在積極擴(kuò)大其在汽車操作系統(tǒng)領(lǐng)域的滲透力。另外,Azure云平臺(tái)也是微軟的核心優(yōu)勢(shì)之一,它通過云技術(shù)為整車廠提供在線導(dǎo)航、實(shí)時(shí)診斷、道路救援等服務(wù),在汽車信息終端中爭取到一席之地。Linux是一個(gè)開源的操作系統(tǒng)。2013款凱迪拉克(Cadillac)XTS搭載了由Linux支撐的CUE信息娛樂系統(tǒng),因其科技感十足的中控臺(tái)屏幕及多變的人機(jī)交互方式而倍受推崇[5],如圖1所示。但由于Linux版本變動(dòng)很快,每天都有上千次改動(dòng),OEM和供應(yīng)商為了得到一個(gè)比較固定和可靠的Linux版本,必須自建一支操作系統(tǒng)開發(fā)團(tuán)隊(duì)。大多數(shù)開發(fā)者選用Linux的硬件供應(yīng)商,或多或少需要積累很多操作系統(tǒng)上的開發(fā)經(jīng)驗(yàn)?;谝陨显?,非營利性 GENIVI 聯(lián)盟在四年前成立。GENIVI 聯(lián)盟的成員現(xiàn)在包括170多家汽車生產(chǎn)商和供應(yīng)商,其宗旨是共享一個(gè)標(biāo)準(zhǔn)的車載信息娛樂系統(tǒng)開發(fā)的開源平臺(tái)。
? ??
圖1:卡迪拉克 XTS CUE IVI system
GENIVI 通過提出一個(gè)基于開源的操作系統(tǒng)環(huán)境 (Linux) ,并利用全球開源軟件開發(fā)人員的專業(yè)技術(shù),改變車載信息娛樂軟件的開發(fā)和使用的方法。聯(lián)盟希望最終能夠從根本上改變汽車生產(chǎn)商和供應(yīng)商開發(fā)現(xiàn)代車載信息娛樂系統(tǒng)的方式。GENIVI真正的好處將體現(xiàn)在汽車生產(chǎn)商在他們的未來系統(tǒng)中具備可以修改和重新使用軟件的能力。
GENIVI 的主要任務(wù)是確立和界定聯(lián)盟成員車載信息娛樂系統(tǒng)的核心功能。在應(yīng)用層,汽車生產(chǎn)商們可在 GENIVI 平臺(tái)的基礎(chǔ)上自由定制,打造獨(dú)特的駕駛員和乘客體驗(yàn),甚至設(shè)計(jì)專用的人機(jī)界面。重要的是,這些應(yīng)用要使用到GENIVI 車載信息娛樂平臺(tái)和中間件提供的功能,這些功能可以重新使用或重新整合進(jìn)不同汽車生產(chǎn)商或者一個(gè)廠商的不同系列的車載信息娛樂產(chǎn)品中,GENIVI 大約每六個(gè)月更新一次其 Linux 車載信息娛樂系統(tǒng)規(guī)范,最近發(fā)布的規(guī)范是 GENIVI Compliance 3.0。
3.0規(guī)范中包含69個(gè)單獨(dú)的開源組件,其中大部分包含多個(gè)子組件。聯(lián)盟成員依據(jù)這個(gè)規(guī)范來建立軟件平臺(tái)。這些平臺(tái)將受到 GENIVI 的審核,如果符合規(guī)范就會(huì)被注冊(cè)為 GENIVI 合規(guī)產(chǎn)品。有些成員提供的是一個(gè)完整的 GENIVI 平臺(tái),有些成員則集中精力只研究一個(gè)合規(guī)平臺(tái)的單個(gè)或多個(gè)部件。過去兩年里合規(guī)平臺(tái)的數(shù)量穩(wěn)定增長。目前已經(jīng)有50多個(gè)軟件平臺(tái)被注冊(cè)為 GENIVI 合規(guī)產(chǎn)品[6]。比如Mentor公司,風(fēng)河公司都已經(jīng)發(fā)布了GENIVI兼容的軟件平臺(tái)。Mentor的產(chǎn)品是通過收購Montavista 汽車電子部門整合而來,后者的汽車技術(shù)平臺(tái)(ATP)在卡迪拉克項(xiàng)目中有成功應(yīng)用。 風(fēng)河的GENIVI平臺(tái)是通過與意大利廠商Magneti Marelli的合作而來,后者隸屬于意大利飛亞特(Fiat)集團(tuán),主要負(fù)責(zé)設(shè)計(jì)并生產(chǎn)先進(jìn)的汽車系統(tǒng)及零件,供應(yīng)的產(chǎn)品遍布全球汽車市場。
????
圖2 特斯拉Model S IVI 系統(tǒng)
結(jié)語
無論汽車電子系統(tǒng)的的電子控制單元(ECU),還是車載信息娛樂系統(tǒng)(IVI),嵌入式OS正在大行其道,越來越多的嵌入式軟件公司甚至IT公司躋身汽車電子的開發(fā)行列。今天我們可以看到的擁有巨大液晶顯示中控屏的特斯拉Model S,它將汽車變成一個(gè)移動(dòng)的大電腦。特斯拉這家創(chuàng)立于硅谷的電動(dòng)汽車品牌,在汽車與互聯(lián)網(wǎng)IT結(jié)合上給了我們?cè)S多啟迪,如圖2 所示。還有谷歌的自動(dòng)駕駛汽車,也是指日可待。汽車電子的嵌入式OS大有可為,走開放、開源的道路是大勢(shì)所趨。
參考資料:
[1]Automotive Infotainment Based on Open Source Software,Blackdark公司
[2]Colin Wall著 何小慶等譯 嵌入式軟件精解,機(jī)械工業(yè)出版社
[3] https://en.wikipedia.org/wiki/OSEK
[4] Peter Liggesmeyer 著 張聚等譯 嵌入式系統(tǒng)軟件工程,電子工業(yè)出版社
[5]https://carschina.com/yejie/changjiaxinwen/20130812630486.html
[6] UNDERSTANDING THE IMPORTANCE OF GENIVI AND OPEN SOURCE IVI DEVELOPMENT,Mentor公司
與非網(wǎng)原創(chuàng)內(nèi)容,未經(jīng)許可,不得轉(zhuǎn)載
?
摘要:對(duì)嵌入式操作系統(tǒng)的定義,國內(nèi)外專家學(xué)者和企業(yè)界人士的理解都不盡相同,具有代表性的意見有兩種;一種是說嵌入式系統(tǒng)就是嵌入式的計(jì)算機(jī)系統(tǒng),另外一種認(rèn)為嵌入式系統(tǒng)是一種機(jī)電結(jié)合、軟硬結(jié)合執(zhí)行某種特殊功能的系統(tǒng)……
摘要:摩托羅拉自1974年發(fā)布第一款MC6800 --8位微處理器到1979發(fā)布的MC68000(簡稱68K)-16/32位CPU之后,其芯片因?yàn)榧纯梢允褂迷谟?jì)算機(jī)系統(tǒng)中,也可以使用在嵌入式系統(tǒng),很快成為當(dāng)時(shí)行業(yè)的標(biāo)準(zhǔn)。最早開發(fā)嵌入式OS的公司,許多都是借助摩托羅拉的市場起家的……
摘要:除了上一篇提到的OS-9以外,最早出現(xiàn)的嵌入式操作系統(tǒng)(簡稱為嵌入式OS)當(dāng)屬VRTX,因其在技術(shù)上創(chuàng)新性,得到用戶和嵌入式系統(tǒng)公司的廣泛支持,VRTX可稱為商業(yè)嵌入式OS的開拓和領(lǐng)導(dǎo)者……
摘要:在討論開源的嵌入式操作系統(tǒng)(簡稱嵌入式OS)之前,我們先把開源軟件搞清楚?!伴_源軟件”目前并沒有明確定義,也沒有標(biāo)準(zhǔn)許可證。許多公司采用開放源代碼一詞,大概有這樣兩種情況……
摘要:風(fēng)河公司(Wind River System)是一家專業(yè)從事嵌入式OS、軟件開發(fā)工具、解決方案平臺(tái)和服務(wù)的軟件公司,由Jerry Fiddle和David Wilner在1981年美國加州創(chuàng)立。VxWorks是風(fēng)河公司推出的實(shí)時(shí)多任務(wù)操作系統(tǒng)(RTOS)……
摘要:手機(jī)屬于嵌入式設(shè)備,手機(jī)軟件平臺(tái)使用的操作系統(tǒng)屬于嵌入式OS的范疇。傳統(tǒng)的功能手機(jī)(Feature Phone)使用了實(shí)時(shí)多任務(wù)操作系統(tǒng)(RTOS)為基礎(chǔ)的手機(jī)軟件平臺(tái)。入門級(jí)的智能手機(jī)采用了半開放的嵌入式OS(比如Symbian),而今天高端的智能手機(jī)多采用Android和IOS這樣的通用型的OS……
摘要:為你介紹那些開源的操作系統(tǒng),Android以及它的競爭對(duì)手們的整個(gè)OS產(chǎn)業(yè)生態(tài)……
摘要:嵌入式OS發(fā)展到今天已經(jīng)有30多年歷史了,未來的嵌入式OS 會(huì)是什么樣的?技術(shù)會(huì)有哪些變化?商業(yè)還會(huì)蓬勃發(fā)展,還是逐漸消亡呢?筆者在撰寫《嵌入式操作系統(tǒng)史話》專欄期間,恰逢美國的CES2014,我參觀了LG,三星、SONY,奧迪等大企業(yè)展位,看到Intel、恩智浦和TI等半導(dǎo)體公司最新芯片解決方案,了解到國外嵌入式OS最新發(fā)展的一些情況……