日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式動態(tài)
[導(dǎo)讀]調(diào)試是軟件開發(fā)中必不可少的環(huán)節(jié)。 調(diào)試集成操作系統(tǒng)與調(diào)試桌面操作系統(tǒng)非常不同。 內(nèi)置系統(tǒng)的視覺調(diào)試功能比桌面操作系統(tǒng)的視覺調(diào)試功能稍低。 對于具有復(fù)雜業(yè)務(wù)場景(例如導(dǎo)航)的程序的開發(fā),我們可以使用可視化調(diào)試環(huán)境以較少的精力開發(fā)業(yè)務(wù)場景,快速定位在業(yè)務(wù)之間的交互中出現(xiàn)的問題。 導(dǎo)航和其他車輛模塊,以及開發(fā)過程中的調(diào)試效率。 提高。

導(dǎo)讀

調(diào)試是軟件開發(fā)中必不可少的環(huán)節(jié)。 調(diào)試集成操作系統(tǒng)與調(diào)試桌面操作系統(tǒng)非常不同。 內(nèi)置系統(tǒng)的視覺調(diào)試功能比桌面操作系統(tǒng)的視覺調(diào)試功能稍低。 對于具有復(fù)雜業(yè)務(wù)場景(例如導(dǎo)航)的程序的開發(fā),我們可以使用可視化調(diào)試環(huán)境以較少的精力開發(fā)業(yè)務(wù)場景,快速定位在業(yè)務(wù)之間的交互中出現(xiàn)的問題。 導(dǎo)航和其他車輛模塊,以及開發(fā)過程中的調(diào)試效率。 提高。

遠(yuǎn)程調(diào)試是真機(jī)調(diào)試中最便捷的一種,開發(fā)者只需借用在PC端強(qiáng)大的調(diào)試器就能完成業(yè)務(wù)場景的調(diào)試。

背景

Thrift是一種接口描述語言和二進(jìn)制通訊協(xié)議,它被用來定義和創(chuàng)建跨語言的服務(wù),是一種RPC(遠(yuǎn)程過程調(diào)用)通信框架,由Facebook為“大規(guī)??缯Z言服務(wù)開發(fā)”。在車機(jī)系統(tǒng)中,各模塊之間也可以使用Thrift通信框架進(jìn)行通信。導(dǎo)航作為一個單獨(dú)的為進(jìn)程提供服務(wù)的模塊,只提供導(dǎo)航相關(guān)的業(yè)務(wù)以及地圖渲染的能力,導(dǎo)航的HMI界面是車機(jī)系統(tǒng)中統(tǒng)一的操作界面,系統(tǒng)HMI界面與導(dǎo)航之間的交互接口則是通過已經(jīng)定義好的接口描述語言(IDL),使用自動化工具生成本地可調(diào)用的接口,然后使用Thrift框架傳輸完成系統(tǒng)HMI與導(dǎo)航之間的通信。

調(diào)試手段

為了開發(fā)過程中調(diào)試方便,我們在PC上做了一套模擬器,能在PC上進(jìn)行地圖渲染。還實(shí)現(xiàn)了一套在PC上使用的系統(tǒng)HMI模擬命令發(fā)送工具,模擬工具是作為客戶端連接導(dǎo)航提供的服務(wù),這樣能在PC端模擬發(fā)送命令,幫助導(dǎo)航簡單業(yè)務(wù)的開發(fā),但這種方式存在著以下弊端:

模擬命令工具,只能模擬簡單的業(yè)務(wù)場景,有多個交互的場景無法模擬。

無法操作地圖HMI,也看不到HMI界面顯示以及過程中的反饋。

無法滾動地圖,后面接了Win32上面的鼠標(biāo)事件,能用鼠標(biāo)實(shí)現(xiàn)滾動,但這種方式與車機(jī)中滾動流程不一致。

PC端無法使用車機(jī)中的設(shè)備,如導(dǎo)航過程中沒有導(dǎo)航音,無法使用USB等。

PC端拿不到車機(jī)中的數(shù)據(jù),比如車身數(shù)據(jù)、GPS信號等。

調(diào)試方案優(yōu)化

針對當(dāng)前調(diào)試手段存在的以上問題。我們對調(diào)試方案進(jìn)行了優(yōu)化,我們可以借助車機(jī)中系統(tǒng)HMI來與導(dǎo)航進(jìn)行交互。實(shí)現(xiàn)了使用車機(jī)環(huán)境中的信號對PC端導(dǎo)航業(yè)務(wù)場景進(jìn)行調(diào)試。主要有以下幾點(diǎn)功能:

1.PC端模擬器接收車機(jī)發(fā)來的信號

在該項(xiàng)目中,導(dǎo)航的相關(guān)業(yè)務(wù)都是作為服務(wù)端向車機(jī)中其他模塊提供服務(wù),在車機(jī)系統(tǒng)中,系統(tǒng)HMI連接導(dǎo)航服務(wù)的地址是固定的,我們在車機(jī)中開發(fā)了一個代理--Sandwich,主要作用是啟動導(dǎo)航服務(wù),這個導(dǎo)航服務(wù)并不實(shí)現(xiàn)真正的導(dǎo)航業(yè)務(wù),而是啟動了一個空服務(wù),讓車機(jī)中其他模塊能成功建立連接,同時Sandwich作為客戶端連接PC端模擬器提供的導(dǎo)航服務(wù),PC端的導(dǎo)航服務(wù)真正實(shí)現(xiàn)導(dǎo)航業(yè)務(wù),Sandwich負(fù)責(zé)接收車機(jī)發(fā)送過來的業(yè)務(wù)請求,并將請求轉(zhuǎn)發(fā)給PC端模擬器,這樣PC端模擬器就能接收到車機(jī)中的信號,收到的業(yè)務(wù)請求并做處理再將處理結(jié)果通過Thrift反饋到車機(jī)端。

這個流程我們打通了車機(jī)中信號發(fā)送到PC端模擬器,并可以將處理完的數(shù)據(jù)反饋給車機(jī)端。

2.PC端模擬器向車機(jī)發(fā)送信號

導(dǎo)航也需要連接車機(jī)中其他模塊提供的服務(wù),如,獲取車身數(shù)據(jù)、獲取GPS定位信號,將導(dǎo)航語音數(shù)據(jù)發(fā)送到車機(jī)語音播放模塊等。

PC端模擬器需要作為客戶端來連接車機(jī)中的服務(wù),真正連接的是車機(jī)中Sandwich提供的服務(wù),Sandwich作為客戶端連接車機(jī)中其他模塊的服務(wù),比如Sandwich連接Sound模塊,GPS模塊,CarData模塊等。PC端模擬器需要使用車機(jī)設(shè)備播放導(dǎo)航音,需要將播放內(nèi)容發(fā)送給Sandwich,Sandwich收到播放內(nèi)容后,再發(fā)送給車機(jī)中的Sound模塊,導(dǎo)航音就能播放了。PC端連接車機(jī)中其他模塊的工作原理也是一樣。

3. 將PC端模擬器中顯示的地圖投射到車機(jī)端顯示

實(shí)現(xiàn)了以上兩步,一個使用車機(jī)信號調(diào)試PC端導(dǎo)航程序的環(huán)境基本完成了。已經(jīng)能實(shí)現(xiàn)車機(jī)信號與PC進(jìn)行雙向接收,但是此時導(dǎo)航的渲染能力還是停留在PC端,車機(jī)中還只是顯示了一個系統(tǒng)HMI界面,無法看到導(dǎo)航地圖展現(xiàn)的效果,這樣就會帶來一個問題,一些需要強(qiáng)依賴地圖的操作可能就無法精準(zhǔn)操作,比如點(diǎn)擊地圖上某個POI等。此時需要將PC端的展現(xiàn)同步到車機(jī)側(cè)。

要實(shí)現(xiàn)這一目的,一般我們有兩種方法:

車機(jī)與PC同步渲染

車機(jī)中的導(dǎo)航正常運(yùn)行,當(dāng)導(dǎo)航接收到系統(tǒng)模塊業(yè)務(wù)請求時,先是車機(jī)導(dǎo)航進(jìn)行處理,處理完畢后將信號轉(zhuǎn)發(fā)到PC端處理,這種方案兩端導(dǎo)航業(yè)務(wù)邏輯并行運(yùn)行,復(fù)雜的業(yè)務(wù)場景下,兩端會同時跟車機(jī)進(jìn)行交互,此時可能會產(chǎn)生互斥,會有兩端邏輯不同步的場景,達(dá)不到預(yù)期效果。

將車機(jī)中渲染的數(shù)據(jù)投射到車機(jī)端

在這里我們可以將PC上程序每渲染一幀地圖則將結(jié)果傳到車機(jī)端,由車機(jī)端Sandwich負(fù)責(zé)接收,當(dāng)Sandwich接收到一幀地圖像素?cái)?shù)據(jù)后,負(fù)責(zé)將此幀數(shù)據(jù)渲染到車機(jī)屏幕上,此時車機(jī)中呈現(xiàn)的效果跟PC端一致。在該項(xiàng)目中我們采用了這一方案,這種方案中,真正的導(dǎo)航業(yè)務(wù)邏輯是來自PC端,車機(jī)中只是一個轉(zhuǎn)發(fā)過程,所以不會存在第一種方案中的問題。

但在某些特定的環(huán)境下,導(dǎo)航描畫會很頻繁,發(fā)送給車機(jī)的數(shù)據(jù)也會很多,頻繁的數(shù)據(jù)發(fā)送可能會帶來一定的性能開銷,表現(xiàn)上可能會出現(xiàn)延遲。這里可以使用降低圖像質(zhì)量來減少圖像數(shù)據(jù),例如,可以使用16位或者8位BMP來傳輸,還可以壓縮傳輸,這樣1920*720分辨率圖像傳輸大小能控制在30-50k左右。

小結(jié)

基于車機(jī)系統(tǒng)中Thrift通信框架,實(shí)現(xiàn)的這套遠(yuǎn)程調(diào)試方案,實(shí)質(zhì)是在車機(jī)中使用Sandwich程序接管車機(jī)系統(tǒng)中與導(dǎo)航有交互的全部接口處理,通過RPC通信轉(zhuǎn)發(fā),實(shí)現(xiàn)了使用真實(shí)車機(jī)信號調(diào)試導(dǎo)航的目的。有了這套調(diào)試環(huán)境,我們甚至可以直接在真車上邊路測邊調(diào)試,跟以前的路測拿Log回來分析、重現(xiàn)相比,整個調(diào)試過程,簡單,便捷,直觀。大大提高了開發(fā)效率。

基于RPC通信的特性,我們還可以對調(diào)試方案再進(jìn)一步優(yōu)化,可以加入多客戶端調(diào)試功能,使用同一臺車機(jī)環(huán)境,不同的模塊負(fù)責(zé)人可以同時進(jìn)行復(fù)雜業(yè)務(wù)場景的聯(lián)合調(diào)試。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計(jì)中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計(jì)工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉