一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

QNX在自動(dòng)輔助駕駛領(lǐng)域的應(yīng)用

汽車ECU開(kāi)發(fā) ? 來(lái)源:汽車ECU開(kāi)發(fā) ? 作者:Vincent,Gary,Jera ? 2022-10-20 09:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

01

QNX介紹及歷史

QNX成立于1980年,是全世界第一個(gè)類UNIX的符合POSIX標(biāo)準(zhǔn)的微內(nèi)核的硬實(shí)時(shí)操作系統(tǒng),在過(guò)去的幾十年中廣泛的應(yīng)用在汽車、工業(yè)自動(dòng)化、國(guó)防、航空航天、醫(yī)療、核電和通信等領(lǐng)域,提供以嵌入式操作系統(tǒng)為核心的中間件和基礎(chǔ)軟件解決方案。在上世紀(jì)七十年代末,QNX的兩位創(chuàng)始人Gordon Bell和Dan Dodge根據(jù)大學(xué)時(shí)代的一些設(shè)想寫(xiě)出了一個(gè)能在IBM PC上運(yùn)行的名叫Quick UNIX的系統(tǒng),后來(lái)改名為QNX并于1980年正式發(fā)布,歷經(jīng)幾十年的演進(jìn),QNX公司于2004年10月被哈曼集團(tuán)以1.38億美元收購(gòu),作為哈曼的一個(gè)事業(yè)部經(jīng)營(yíng)了六年。2010年04月,黑莓以2億美元從哈曼處收購(gòu)了QNX,一同被打包收購(gòu)的還有哈曼下屬的一個(gè)位于溫哥華的叫Wavemaker的音效部門,也就是現(xiàn)在QNX acoustic方案的前身。QNX這個(gè)成立于加拿大渥太華的公司,在被美國(guó)哈曼買走6年后又重返加拿大,作為黑莓核心部門IOT技術(shù)方案事業(yè)部的最重要組成部分,承擔(dān)黑莓業(yè)務(wù)中操作系統(tǒng)汽車基礎(chǔ)平臺(tái)軟件、數(shù)據(jù)安全、物聯(lián)網(wǎng)IOT及云計(jì)算和專利部門等重要業(yè)務(wù)內(nèi)容。

在汽車領(lǐng)域的高性能處理和功能安全的交叉子域中,QNX是全球最大的商用操作系統(tǒng)提供商。自1999年進(jìn)入汽車領(lǐng)域至今,QNX緊隨并引領(lǐng)了汽車電子嵌入式軟件領(lǐng)域的發(fā)展潮流和趨勢(shì)熱點(diǎn),在多類重要的軟件平臺(tái)上均布局了前瞻性戰(zhàn)略產(chǎn)品,為全球一線汽車供應(yīng)商和制造商提供先進(jìn)的基礎(chǔ)軟件和網(wǎng)絡(luò)安全技術(shù),被廣泛應(yīng)用于高級(jí)駕駛輔助系統(tǒng)、基于虛擬化技術(shù)的智能數(shù)字座艙系統(tǒng),智能網(wǎng)聯(lián)模塊、智能網(wǎng)關(guān)、高性能計(jì)算平臺(tái)及信息娛樂(lè)系統(tǒng)等汽車電子的子系統(tǒng)中。據(jù)知名獨(dú)立調(diào)研公司Strategy Analytics在2022年初的統(tǒng)計(jì),全球已有超過(guò)2.15億輛汽車搭載BlackBerry QNX軟件,平均每年新增2000萬(wàn)臺(tái)搭載黑莓QNX的基礎(chǔ)軟件的智能汽車進(jìn)入全球市場(chǎng)。

到目前為止,世界上幾乎所有的主機(jī)廠都采用了基于QNX操作系統(tǒng)的軟件技術(shù)。全球top25家電動(dòng)汽車廠家,其中24家在使用QNX的軟件操作系統(tǒng),例如,中國(guó)的小鵬汽車自動(dòng)輔助駕駛系統(tǒng)Xpilot3.0和Xpilot3.5基于QNX通過(guò)TUV萊茵ISO26262 ASIL D功能安全的硬實(shí)操作系統(tǒng),合眾新能源汽車的哪吒S采用QNX Hypervisor打造其全新科技感智能座艙,并在其全棧自研的TA PILOT 3.0智能駕駛系統(tǒng)中搭載QNX OS for Safety操作系統(tǒng),實(shí)現(xiàn)多種場(chǎng)景下的智能輔助駕駛,又如零跑汽車在其量產(chǎn)的第三代高端純電SUV—零跑C11和智能純電橋車C01中均采用了QNX Neutrino實(shí)時(shí)操作系統(tǒng)和QNX Hypervisor,旨在為中國(guó)消費(fèi)者帶來(lái)更個(gè)性化與舒適的駕駛體驗(yàn)。除此之外,高合即將發(fā)布的豪華純電超跑HiPhi Z的自動(dòng)輔助駕駛平臺(tái)使用的是英偉達(dá)Orin-X芯片和 QNX 嵌入式硬實(shí)時(shí)操作系統(tǒng)。

時(shí)代周刊曾在2016年對(duì)QNX評(píng)價(jià)為“QNX對(duì)于汽車來(lái)說(shuō)就像微軟對(duì)于電腦一樣”,詮釋了QNX在汽車領(lǐng)域的基礎(chǔ)軟件操作系統(tǒng)地位以及深度的覆蓋率。

02

QNX特點(diǎn)

QNX是嵌入式硬實(shí)時(shí)的微內(nèi)核操作系統(tǒng)

有硬實(shí)時(shí)、微內(nèi)核、模塊化、弱耦合、分布式的特點(diǎn),從1980年誕生之初就是基于SOA架構(gòu)設(shè)計(jì),基于Client-Server的模型,具體表現(xiàn)為:

硬實(shí)時(shí):任何切換時(shí)間和中斷時(shí)延速度快,所有的任務(wù)響應(yīng)均為確定性deterministic行為。

微內(nèi)核:除調(diào)度、進(jìn)程管理、中斷及操作系統(tǒng)核心的功能外,其余部分都處于用戶態(tài),包括驅(qū)動(dòng)、協(xié)議棧、文件系統(tǒng)及功能模塊等。

模塊化:操作系統(tǒng)的各個(gè)功能單元都模塊化設(shè)計(jì),內(nèi)存保護(hù),并且相互隔離,可按照需要?jiǎng)討B(tài)加載或卸載,基于消息機(jī)制通信,按照Client-Server的架構(gòu)設(shè)計(jì)。

弱耦合:模塊與模塊之間互不影響,都在獨(dú)立的虛擬地址空間運(yùn)行。

分布式:局域網(wǎng)內(nèi)的QNX系統(tǒng)對(duì)于用戶角度可以認(rèn)為是一臺(tái)QNX系統(tǒng),資源可以復(fù)用。

QNX是類UNIX操作系統(tǒng)

遵循POSIX的最高級(jí)別PSE54標(biāo)準(zhǔn)(注:POSIX標(biāo)準(zhǔn)有四個(gè)等級(jí)PSE51, PSE52, PSE53和 PSE54, 在RTOS實(shí)時(shí)操作系統(tǒng)的世界里,只有QNX操作系統(tǒng)是PSE54標(biāo)準(zhǔn)的,因?yàn)镼NX誕生之初就是類UNIX系統(tǒng)按照POSIX標(biāo)準(zhǔn)編寫(xiě)),因此基于開(kāi)源的應(yīng)用程序以及一些開(kāi)源的中間件都可以無(wú)縫的移植到QNX系統(tǒng)之上。QNX Microkernel和Process Manager組成QNX最小系統(tǒng)Procnto,其他如驅(qū)動(dòng)程序、協(xié)議棧、文件系統(tǒng)、應(yīng)用程序都作為一個(gè)獨(dú)立的模塊運(yùn)行在QNX系統(tǒng)之上。

QNX是功能安全和信息安全的操作系統(tǒng)

QNX通過(guò)功能安全TUV萊茵ISO 26262 ASIL D最高等級(jí)道路車輛最高功能等級(jí)安全認(rèn)證,包括QNX 操作系統(tǒng)、QNX Hypervisor虛擬化和Graphic Monitor圖形監(jiān)控子系統(tǒng)以及QNX IPC通訊機(jī)制black channel,同時(shí)黑莓是網(wǎng)絡(luò)信息安全標(biāo)準(zhǔn)ISO/SAE 21434 委員會(huì)基礎(chǔ)軟件組唯一成員。

QNX其他特性

1. QNX調(diào)度算法及策略

QNX調(diào)度算法有很多種,本質(zhì)上基于優(yōu)先級(jí)搶占式。QNX的線程優(yōu)先級(jí)是一個(gè)0-255的數(shù)字,數(shù)字越大優(yōu)先級(jí)越高。在QNX上有三種基本調(diào)度策略,可以單獨(dú)使用也可以組合使用,包括基于時(shí)間片輪詢Round Robin、優(yōu)先級(jí)搶占式FIFO和基于時(shí)間Budget的Sporadic算法。同時(shí)QNX還提供APS自適應(yīng)分區(qū)調(diào)度算法,在CPU滿負(fù)荷的場(chǎng)景下保證低優(yōu)先級(jí)的任務(wù)有調(diào)度的機(jī)會(huì),不被“餓死”。

2. QNX IPC通訊機(jī)制

QNX除了支持Native的IPC機(jī)制如Massage passing、Signal等,同時(shí)還提供POSIX標(biāo)準(zhǔn)的IPC例如MessageQ、Piple、Shared Memory等IPC通訊方式,多種IPC方式供用戶在不同的應(yīng)用場(chǎng)景下進(jìn)行選擇。

3. QNX 的IDE集成開(kāi)發(fā)環(huán)境

QNX提供基于Eclipse的Momentics IDE集成開(kāi)發(fā)環(huán)境,供用戶進(jìn)行基于以太網(wǎng)Software GDB的代碼級(jí)的編譯調(diào)試或系統(tǒng)性能分析,可實(shí)時(shí)以圖形化的方式,查看進(jìn)程資源、系統(tǒng)日志、CPU占用情況,內(nèi)存使用情況,進(jìn)程間通信以及Coredump等。

03

QNX在自動(dòng)輔助駕駛領(lǐng)域的應(yīng)用

由于QNX實(shí)時(shí)性、確定性行為和功能安全的特性,契合自動(dòng)輔助駕駛對(duì)功能安全I(xiàn)SO26262 ASIL D的安全等級(jí)要求,因此由于國(guó)內(nèi)外主機(jī)廠項(xiàng)目的需求,QNX被廣泛的應(yīng)用于自動(dòng)輔助駕駛領(lǐng)域,作為基礎(chǔ)軟件承載上層的各種實(shí)時(shí)和高可靠性應(yīng)用。由于在自動(dòng)輔助駕駛領(lǐng)域,芯片和基礎(chǔ)軟件越來(lái)越成為一個(gè)整體方案,因此QNX也被包含在主流的高性能自動(dòng)輔助駕駛芯片的整體基礎(chǔ)軟件平臺(tái)方案中,作為關(guān)鍵的一部分提供給最終用戶。

英偉達(dá)與黑莓QNX的合作

英偉達(dá)的一系列高性能芯片廣泛的應(yīng)用在自動(dòng)輔助駕駛領(lǐng)域,例如Xavier、Orin和Thor等。英偉達(dá)作為頂尖的自動(dòng)輔助駕駛芯片平臺(tái)整體解決方案商,在平臺(tái)軟件層面上提供以DriveOS為核心的基礎(chǔ)軟件平臺(tái),早在五年前,英偉達(dá)就選定QNX,雙方深入合作,QNX作為英偉達(dá)DriveOS功能安全I(xiàn)SO26262 ASIL D版本唯一的RTOS合作伙伴,由英偉達(dá)提供基于QNX的功能安全版本的DriveOS的一站式方案,例如在Xavier平臺(tái)上,因?yàn)檎w平臺(tái)軟件要達(dá)到ASIL D級(jí)別,DriveOS只提供QNX SafetyOS安全內(nèi)核版本。英偉達(dá)極其重視功能安全,黑莓QNX作為英偉達(dá)平臺(tái)中唯一RTOS操作系統(tǒng)合作伙伴,包含在Driver OS的整體方案,由英偉達(dá)提供一站式的方案和服務(wù)支持,即服務(wù)工程支持由英偉達(dá)統(tǒng)一接口

高通與黑莓QNX的合作

高通作為IOT和手機(jī)領(lǐng)域芯片方案的翹首,在車載汽車電子的中高端智能座艙領(lǐng)域占了絕大多數(shù)的份額,黑莓QNX作為高通Snapdragon座艙芯片整體解決方案的一部分,也是唯一的Hypervisor合作伙伴和高通一起支持了全世界近百個(gè)汽車電子的客戶,同樣在自動(dòng)輔助駕駛領(lǐng)域,高通Snapdragon Ride也定點(diǎn)了許多全球領(lǐng)先的主機(jī)廠項(xiàng)目,例如官宣的大眾、寶馬、通用以及長(zhǎng)城汽車等,黑莓QNX作為高通自動(dòng)輔助駕駛芯片平臺(tái)的基礎(chǔ)軟件底座部分,由高通提供一站式的ISO 26262 ASIL D功能安全等級(jí)的整體軟件平臺(tái)方案。

國(guó)內(nèi)自動(dòng)輔助駕駛芯片公司與黑莓QNX的合作

近年來(lái)高性能的國(guó)產(chǎn)芯片層出不窮,在自動(dòng)輔助駕駛領(lǐng)域,也有越來(lái)越多有潛力的國(guó)產(chǎn)公司展露頭角,黑莓QNX目前已經(jīng)完成適配黑芝麻A1000和地平線J5等芯片,由芯片公司提供一站式的整體解決方案。值得一提的是,后續(xù)還有多家重視功能安全的頂級(jí)國(guó)產(chǎn)大算力高性能自動(dòng)輔助駕駛芯片合作,將于明年正式發(fā)布。

04

中國(guó)自動(dòng)輔助駕駛領(lǐng)域基礎(chǔ)平臺(tái)軟件所遇到的問(wèn)題

近年來(lái)自動(dòng)輔助駕駛領(lǐng)域非常火爆,許多國(guó)內(nèi)外的主機(jī)廠都逐步在量產(chǎn)項(xiàng)目中開(kāi)發(fā)以及發(fā)布L2+的功能,當(dāng)我們回顧這幾年來(lái)快速發(fā)展會(huì)發(fā)現(xiàn),大多數(shù)的自動(dòng)輔助駕駛的人才都來(lái)自于Robotaxi,自動(dòng)駕駛算法初創(chuàng)公司或大學(xué)研究機(jī)構(gòu),特別是算法人才。這就有個(gè)顯著的特點(diǎn),在這些公司里面的大多數(shù)項(xiàng)目,最初都是基于工控機(jī)+英偉達(dá)顯卡(大多數(shù)用英偉達(dá)的GPU,少數(shù)用AMD的)+開(kāi)源的操作系統(tǒng)+來(lái)自于開(kāi)源的算法,其實(shí)和汽車電子的安全性本身毫無(wú)關(guān)系,唯一的好處就是快,容易盡早演示,盡快融資。

這些算法人才加入主機(jī)廠之后,更傾向于用以前最熟悉的開(kāi)發(fā)方式,這樣好盡快的出演示成果,也就是英偉達(dá)的SOC+開(kāi)源的操作系統(tǒng)+來(lái)自于開(kāi)源的算法。另一方面,在自動(dòng)輔助駕駛項(xiàng)目中,一般主機(jī)廠會(huì)把控制器平臺(tái)即硬件和平臺(tái)軟件外包給外部的Tier1來(lái)做,類似于一臺(tái)PC電腦,而自己開(kāi)發(fā)應(yīng)用和算法。

一般主機(jī)廠也有平臺(tái)組,負(fù)責(zé)部分的驅(qū)動(dòng)及驅(qū)動(dòng)以上的中間件的整合,系統(tǒng)組負(fù)責(zé)系統(tǒng)設(shè)計(jì)統(tǒng)籌,功能安全團(tuán)隊(duì)負(fù)責(zé)整體的功能安全,而算法團(tuán)隊(duì)負(fù)責(zé)算法應(yīng)用的開(kāi)發(fā)和實(shí)現(xiàn),那么問(wèn)題就來(lái)了,除純算法團(tuán)隊(duì)外,一般國(guó)外的主機(jī)廠都會(huì)有一個(gè)成建制的叫算法嵌入式工程實(shí)現(xiàn)的團(tuán)隊(duì),負(fù)責(zé)算法在非工控機(jī)的嵌入式環(huán)境和實(shí)時(shí)操作系統(tǒng)的優(yōu)化實(shí)現(xiàn)落地,這樣的團(tuán)隊(duì)即要懂一點(diǎn)算法架構(gòu),又要懂嵌入式軟件的開(kāi)發(fā)和硬件特性,又要對(duì)操作系統(tǒng)有足夠的理解。

而在中國(guó)的許多主機(jī)廠,沒(méi)有看到有這樣一個(gè)團(tuán)隊(duì),甚至這樣的人才存在。因此不少項(xiàng)目由于開(kāi)發(fā)周期緊,人員不具備嵌入式系統(tǒng)開(kāi)發(fā)的經(jīng)驗(yàn),會(huì)采用更接近于robotaxi的方式開(kāi)發(fā),即英偉達(dá)SOC中的處理器(類似工控機(jī)),SOC中的GPU(類似顯卡)和開(kāi)源操作系統(tǒng)+未經(jīng)優(yōu)化的各種開(kāi)源算法,在滿足基本功能和有限性能的前提下,功能安全團(tuán)隊(duì)的建議通常會(huì)被直接忽略,因?yàn)橐獫M足極短的量產(chǎn)時(shí)間,在國(guó)內(nèi)主機(jī)廠軍備競(jìng)賽中領(lǐng)先才是最重要的,這在歐美的主機(jī)廠是不可想象的。在這一點(diǎn)上,中國(guó)也有許多人才儲(chǔ)備充足并且付責(zé)任的主機(jī)廠做的非常好,特別是有專門的經(jīng)驗(yàn)豐富的算法工程實(shí)現(xiàn)的團(tuán)隊(duì)負(fù)責(zé)優(yōu)化落地。期待在不久的將來(lái),能夠有更多的主機(jī)廠重視起這個(gè)問(wèn)題,在中國(guó)有更多的行業(yè)人才能夠填補(bǔ)這一空白。

05

QNX算法移植以及性能優(yōu)化舉例

QNX提供ADAS reference平臺(tái)產(chǎn)品,里面涵蓋了Sensor Framework,networking,open source modules,第三方的SDK以及一些參考設(shè)計(jì),其中sensor Framework提供了ADAS的一些基本庫(kù)。

50a077ae-5018-11ed-a3b6-dac502259ad0.png

算法移植

自動(dòng)輔助駕駛以開(kāi)源的算法居多,由于QNX符合POSIX PSE54標(biāo)準(zhǔn),API兼容基本一致,因此各類開(kāi)源算法可以很方便的移植到QNX的平臺(tái)上,使用QNX的工具鏈進(jìn)行編譯并運(yùn)行,但是雖然API是一致的,但由于實(shí)時(shí)操作系統(tǒng)的特性,表現(xiàn)的行為會(huì)有所差異,需要對(duì)系統(tǒng)進(jìn)行優(yōu)化調(diào)整。

QNX有專門的team來(lái)根據(jù)roadmap以及客戶需求移植一些開(kāi)源軟件,比如ROS/ROS2,比如OpenCV和vSomeIP,我們也會(huì)負(fù)責(zé)后期的維護(hù)。

分享常見(jiàn)的QNX性能優(yōu)化項(xiàng)

1. IPC優(yōu)化

QNX支持絕大部分主流POSIX系統(tǒng)常見(jiàn)的IPC方式,同時(shí)也有其獨(dú)特的原生IPC方式,Message-passing。在自動(dòng)輔助駕駛方案設(shè)計(jì)中,常有公司會(huì)將UDS、DDS做為軟件通信總線的架構(gòu)方案原封不動(dòng)地從Linux照搬到QNX上。從功能上看,這樣的跨平臺(tái)方案可以使得代碼重用并且功能沒(méi)有區(qū)別。但從性能角度考慮,由于QNX獨(dú)特內(nèi)核架構(gòu),這并不是高效的解決方案。不同于Linux的宏內(nèi)核架構(gòu),QNX為了安全性和實(shí)時(shí)性采用了微內(nèi)核架構(gòu),絕大部分的系統(tǒng)服務(wù),比如網(wǎng)絡(luò)協(xié)議棧,它是完全運(yùn)行在內(nèi)核之外以服務(wù)(Resource Manager)的方式運(yùn)行。如果采用UDS(Unix Domain Socket)這用基于網(wǎng)絡(luò)服務(wù)(嚴(yán)格意義上講,UDS并不需要經(jīng)過(guò)網(wǎng)絡(luò)協(xié)議棧,但也是需要經(jīng)過(guò)QNX的網(wǎng)絡(luò)服務(wù)io-pkt支持)的通訊方式,那么所有的數(shù)據(jù)報(bào)都需要經(jīng)過(guò)網(wǎng)絡(luò)服務(wù)中轉(zhuǎn),相比直接通訊多了一次IPC,這就帶來(lái)了系統(tǒng)資源的浪費(fèi)。建議的優(yōu)化方案是采用更高效的IPC方式,一般情況下,中小量的數(shù)據(jù)量傳輸建議使用message-passing,特別大的數(shù)量使用shared memory方式。另外,一些開(kāi)源軟件也會(huì)大量使用FIFO,PIPE等IPC,盡管QNX支持這類使用,但是我們也建議改成更高效的message passing方式,以減少單次IPC的開(kāi)銷。

2. 編譯選項(xiàng)優(yōu)化

QNX采用GCC的框架,出于安全性的考慮,QNX的編譯器版本更新相比沒(méi)有開(kāi)源社區(qū)激進(jìn),相比會(huì)慢一些。比如SDP 7.0采用的是GCC 5.4.0,SPD 7.1采用的GCC 8.3.0,即將推出的SDP Moun會(huì)采用GCC 11.X。有時(shí)候會(huì)發(fā)現(xiàn),運(yùn)行同樣一個(gè)算法庫(kù),QNX性能會(huì)比開(kāi)源低,那很有可能是由于編譯版本或編譯優(yōu)化選項(xiàng)差異的原因。因?yàn)樵贚inux系統(tǒng)上默認(rèn)的ARMv8的編譯優(yōu)化選項(xiàng)是滿級(jí)的,而QNX默認(rèn)不打開(kāi)ARMv8的優(yōu)化選項(xiàng),因此程序編譯時(shí)候需要打開(kāi)相關(guān)編譯選項(xiàng)才能獲得最佳性能,因?yàn)镼NX基于安全性考慮某些編譯選項(xiàng)在默認(rèn)編譯的時(shí)候并沒(méi)有打開(kāi)會(huì)導(dǎo)致性能問(wèn)題。

3. 驅(qū)動(dòng)級(jí)別優(yōu)化

如網(wǎng)絡(luò)/存儲(chǔ)設(shè)備驅(qū)動(dòng),根據(jù)以往的經(jīng)驗(yàn),大部分的性能問(wèn)題的瓶頸在設(shè)備驅(qū)動(dòng)這層。特別是新的硬件、新的驅(qū)動(dòng),要注意根據(jù)QNX系統(tǒng)服務(wù)層做好適配,驅(qū)動(dòng)的好壞,往往是除硬件本身之外最主要的性能影響因素。我們遇到非常多的來(lái)自驅(qū)動(dòng)層面的空等,忙等,最終導(dǎo)致系統(tǒng)機(jī)能的冗余浪費(fèi)。

4. 網(wǎng)絡(luò)協(xié)議棧優(yōu)化

除了網(wǎng)絡(luò)驅(qū)動(dòng)的優(yōu)化,QNX的網(wǎng)絡(luò)協(xié)議棧io-pkt本身也提供了豐富的參數(shù),可以根據(jù)具體使用的應(yīng)用場(chǎng)景來(lái)達(dá)到性能的最優(yōu)化。另外,使用QNX SDP 7.1及后續(xù)版本的用戶,可以使用最新的版本網(wǎng)絡(luò)協(xié)議棧io-sock,它對(duì)多核CPU的利用和大并發(fā)小包數(shù)據(jù)的處理能力有顯著地提升。兩個(gè)協(xié)議棧各有千秋,實(shí)際上大量的案例證明,用戶并沒(méi)有達(dá)到io-pkt的性能瓶頸,socket buffer 不足導(dǎo)致丟包,typed memory pool分配的不夠?qū)е率瞻l(fā)阻塞等等,這些都可以通過(guò)配置以及API層面的優(yōu)化達(dá)到性能提升。

5. 系統(tǒng)API優(yōu)化

如memory allocation,memory copy等,QNX提供jemalloc根據(jù)實(shí)際應(yīng)用場(chǎng)景提供額外內(nèi)存泄漏手段,提供更多的功能,jemalloc比default的malloc效率更高,特別是對(duì)于大量線程高并發(fā)調(diào)用的場(chǎng)景。

6. 用戶接口優(yōu)化

QNX 提供的底層接口,尤其是一些自有API,是有不少細(xì)微差別的,比如sendmsg()和sendmmsg(), 用戶往往會(huì)比較熟悉前者,用于socket的發(fā)包,但是后者提供了message 隊(duì)列來(lái)實(shí)現(xiàn)不增加IPC的基礎(chǔ)上提高了整體的吞吐率。又比如mmap(),我們提供了一些QNX獨(dú)有的flag來(lái)應(yīng)對(duì)不同的memory mapping 場(chǎng)景,如MAP_ANON與MAP_PHYS的配合,才代表申請(qǐng)物理連續(xù)memory region而MAP_LAZY 更會(huì)延遲內(nèi)存的申請(qǐng)分配。了解并熟悉每個(gè)接口的參數(shù)配置以及相近命名接口的應(yīng)用場(chǎng)景會(huì)對(duì)開(kāi)發(fā)幫助很大。我們的在線文檔有專門的章節(jié)完整并詳細(xì)的介紹了每一個(gè)接口的參數(shù)以及相關(guān)使用。

7. QNX提供MomenticsIDE環(huán)境對(duì)算法進(jìn)行性能分析

如memory leak,application profile等,同時(shí)提供kernel trace進(jìn)行分析,在抓取的時(shí)間段中可以獲得每個(gè)時(shí)間點(diǎn)的事件、中斷響應(yīng),給出優(yōu)化建議。我們也支持自定義的kernel 事件,來(lái)讓用戶可以精確的了解代碼片段的運(yùn)行情況。

8. QNX提供了onboard debug也支持應(yīng)用程序調(diào)用棧的實(shí)時(shí)保存及相應(yīng)的GDB,在調(diào)查一些忙等的現(xiàn)場(chǎng)會(huì)有很大的幫助。

最后總結(jié)一下,即便作為ISO26262 ASIL-D安全認(rèn)證的硬實(shí)時(shí)性操作系統(tǒng),QNX在系統(tǒng)性能上也并沒(méi)有落后宏內(nèi)核系統(tǒng)。只要合理地使用和優(yōu)化,它的性能表現(xiàn)同樣非常優(yōu)秀,同時(shí)占用更低系統(tǒng)資源。QNX有著豐富的算法移植和優(yōu)化經(jīng)驗(yàn)?zāi)芙o到用戶,同時(shí)QNX提供一系列的手段和工具去定位算法性能的瓶頸。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • qnx
    qnx
    +關(guān)注

    關(guān)注

    0

    文章

    95

    瀏覽量

    26661
  • 輔助駕駛
    +關(guān)注

    關(guān)注

    1

    文章

    281

    瀏覽量

    15443

原文標(biāo)題:QNX在自動(dòng)駕駛輔助領(lǐng)域的算法移植和性能優(yōu)化

文章出處:【微信號(hào):eng2mot,微信公眾號(hào):汽車ECU開(kāi)發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    卡車、礦車的自動(dòng)駕駛和乘用車的自動(dòng)駕駛技術(shù)要求上有何不同?

    [首發(fā)于智駕最前沿微信公眾號(hào)]自動(dòng)駕駛技術(shù)的發(fā)展,讓組合輔助駕駛得到大量應(yīng)用,但現(xiàn)在對(duì)于自動(dòng)駕駛技術(shù)的宣傳,普遍是乘用車
    的頭像 發(fā)表于 06-28 11:38 ?182次閱讀
    卡車、礦車的<b class='flag-5'>自動(dòng)駕駛</b>和乘用車的<b class='flag-5'>自動(dòng)駕駛</b><b class='flag-5'>在</b>技術(shù)要求上有何不同?

    淺析4D-bev標(biāo)注技術(shù)自動(dòng)駕駛領(lǐng)域的重要性

    ?自動(dòng)駕駛技術(shù)的發(fā)展日新月異。從最初簡(jiǎn)單的輔助駕駛功能,逐步邁向高度自動(dòng)化甚至完全自動(dòng)駕駛的階段。其中,海量且精準(zhǔn)的數(shù)據(jù)是訓(xùn)練高性能
    的頭像 發(fā)表于 06-12 16:10 ?343次閱讀

    激光雷達(dá)自動(dòng)駕駛領(lǐng)域中的優(yōu)勢(shì)

    自動(dòng)駕駛系統(tǒng)中,激光雷達(dá)起到了至關(guān)重要的作用,它是實(shí)現(xiàn)高度自動(dòng)駕駛的關(guān)鍵傳感器之一。激光雷達(dá)通過(guò)發(fā)射和接收多束脈沖信號(hào),通過(guò)測(cè)量ToF(Time of Flight,飛行時(shí)間),從而獲取每一個(gè)發(fā)射
    的頭像 發(fā)表于 05-15 11:15 ?476次閱讀
    激光雷達(dá)<b class='flag-5'>在</b><b class='flag-5'>自動(dòng)駕駛</b><b class='flag-5'>領(lǐng)域</b>中的優(yōu)勢(shì)

    天準(zhǔn)星智與BlackBerry QNX達(dá)成戰(zhàn)略合作

    近日,智能駕駛及泛機(jī)器人領(lǐng)域的創(chuàng)新企業(yè)天準(zhǔn)星智(天準(zhǔn)科技控股子公司)與全球汽車及嵌入式軟件領(lǐng)導(dǎo)者BlackBerry QNX共同宣布建立戰(zhàn)略合作。雙方將依托BlackBerry QNX
    的頭像 發(fā)表于 04-30 16:39 ?477次閱讀

    博世正式發(fā)布全新駕駛輔助品牌—博世縱橫輔助駕駛及其產(chǎn)品矩陣

    ,為用戶打造卓越的智慧出行體驗(yàn)。 博世縱橫輔助駕駛命名靈感源自縱橫交錯(cuò)的道路網(wǎng)絡(luò)——正如交通脈絡(luò)貫通南北西東,博世的輔助駕駛產(chǎn)品亦能精準(zhǔn)賦能每一條路線,實(shí)現(xiàn)無(wú)界縱橫的智慧出行。 ? ?
    的頭像 發(fā)表于 04-22 09:04 ?956次閱讀
    博世正式發(fā)布全新<b class='flag-5'>駕駛</b><b class='flag-5'>輔助</b>品牌—博世縱橫<b class='flag-5'>輔助</b><b class='flag-5'>駕駛</b>及其產(chǎn)品矩陣

    光庭信息攜手QNX共同塑造軟件定義汽車的未來(lái)

    光庭信息,一家為智能汽車提供高性能計(jì)算軟件的供應(yīng)商,宣布其數(shù)據(jù)分發(fā)服務(wù)(DDS)現(xiàn)已支持QNX軟件,使公司能夠更好地支持一系列嵌入式汽車電子應(yīng)用,包括但不限于信息娛樂(lè)系統(tǒng)、數(shù)字儀表、安全系統(tǒng)、高級(jí)駕駛輔助系統(tǒng)和
    的頭像 發(fā)表于 03-31 13:47 ?345次閱讀

    BlackBerry QNX助力FERNRIDE開(kāi)發(fā)自動(dòng)駕駛碼頭牽引車解決方案

    BlackBerry 有限公司(紐約證券交易所代碼:BB;多倫多證券交易所代碼:BB)旗下的QNX部門今日宣布,F(xiàn)ERNRIDE已選擇QNX OS for Safety解決方案,以提升其功能安全關(guān)鍵型自動(dòng)駕駛碼頭牽引車解決方案的
    的頭像 發(fā)表于 03-06 14:16 ?420次閱讀

    BlackBerry QNX:軟件定義汽車的現(xiàn)狀及發(fā)展方向

    將目光投向BlackBerry QNX。 且看當(dāng)下,全球,搭載QNX產(chǎn)品的汽車數(shù)量已達(dá)到2.55億輛。QNX以基礎(chǔ)軟件支持面向未來(lái)的工程設(shè)計(jì),從智能數(shù)字座艙、
    的頭像 發(fā)表于 02-20 14:43 ?1111次閱讀

    ADAS高級(jí)駕駛輔助系統(tǒng)

    ADAS是什么ADAS(AdvancedDriverAssistantSystem),高級(jí)駕駛輔助系統(tǒng),通過(guò)感知、決策和執(zhí)行幫助駕駛員覺(jué)察可能發(fā)生的危險(xiǎn),是提高安全性的主動(dòng)安全技術(shù),并普遍認(rèn)為是實(shí)現(xiàn)
    的頭像 發(fā)表于 12-20 15:58 ?1683次閱讀
    ADAS高級(jí)<b class='flag-5'>駕駛</b><b class='flag-5'>輔助</b>系統(tǒng)

    智能駕駛自動(dòng)駕駛的關(guān)系

    智能駕駛自動(dòng)駕駛概念上存在一定的聯(lián)系和區(qū)別,以下是對(duì)兩者關(guān)系的介紹: 一、概念定義 智能駕駛 : 智能駕駛是一個(gè)更為寬泛的概念,它指的是
    的頭像 發(fā)表于 10-23 16:02 ?1513次閱讀

    如何選擇智能駕駛輔助系統(tǒng)

    選擇智能駕駛輔助系統(tǒng)時(shí),消費(fèi)者需要考慮多個(gè)因素以確保所選系統(tǒng)能夠滿足自己的需求并提供安全、可靠的駕駛體驗(yàn)。以下是一些關(guān)鍵的選擇要素: 一、系統(tǒng)穩(wěn)定性與可靠性 穩(wěn)定性 :確保智能
    的頭像 發(fā)表于 10-23 15:47 ?1350次閱讀

    中國(guó)電動(dòng)車企競(jìng)相角逐自動(dòng)駕駛領(lǐng)域,向特斯拉發(fā)起技術(shù)挑戰(zhàn)

    中國(guó)的自動(dòng)駕駛技術(shù)競(jìng)賽正以前所未有的激烈態(tài)勢(shì)展開(kāi),各大電動(dòng)汽車廠商競(jìng)相加速研發(fā)先進(jìn)的駕駛輔助系統(tǒng)(ADAS),旨在通過(guò)技術(shù)創(chuàng)新吸引消費(fèi)者,并挑戰(zhàn)特斯拉全球
    的頭像 發(fā)表于 09-27 15:26 ?1839次閱讀

    FPGA自動(dòng)駕駛領(lǐng)域有哪些優(yōu)勢(shì)?

    FPGA(Field-Programmable Gate Array,現(xiàn)場(chǎng)可編程門陣列)自動(dòng)駕駛領(lǐng)域具有顯著的優(yōu)勢(shì),這些優(yōu)勢(shì)使得FPGA成為自動(dòng)駕駛技術(shù)中不可或缺的一部分。以下是FP
    發(fā)表于 07-29 17:11

    FPGA自動(dòng)駕駛領(lǐng)域有哪些應(yīng)用?

    FPGA(Field-Programmable Gate Array,現(xiàn)場(chǎng)可編程門陣列)自動(dòng)駕駛領(lǐng)域具有廣泛的應(yīng)用,其高性能、可配置性、低功耗和低延遲等特點(diǎn)為自動(dòng)駕駛的實(shí)現(xiàn)提供了強(qiáng)有
    發(fā)表于 07-29 17:09