




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
(19)國(guó)家知識(shí)產(chǎn)權(quán)局98號(hào)院7號(hào)樓701-3室限公司(72)發(fā)明人李海濱杜磊石健李世煒劉晨所(普通合伙)36161專(zhuān)利代理師郭成文本申請(qǐng)適用于ECU測(cè)試技術(shù)領(lǐng)域,尤其涉及測(cè)試提供基礎(chǔ)數(shù)據(jù)息;對(duì)目標(biāo)ECU的固件數(shù)據(jù)進(jìn)使得后續(xù)模擬環(huán)境能準(zhǔn)確模擬目標(biāo)ECU的運(yùn)行狀態(tài);根據(jù)模擬定制參數(shù)對(duì)目標(biāo)ECU的固件數(shù)據(jù)進(jìn)值變化數(shù)據(jù),為評(píng)估目標(biāo)ECU運(yùn)行穩(wěn)定性和準(zhǔn)確2對(duì)所述目標(biāo)ECU的所述固件數(shù)據(jù)進(jìn)行指令翻譯,確定所述目標(biāo)ECU對(duì)應(yīng)的模擬定制參數(shù);其中,所述模擬定制參數(shù)用于對(duì)所述目標(biāo)ECU進(jìn)行架構(gòu)適配;根據(jù)所述模擬定制參數(shù)對(duì)所述目標(biāo)ECU的所述固件數(shù)據(jù)進(jìn)行動(dòng)態(tài)模擬,并通過(guò)預(yù)設(shè)回調(diào)函數(shù)對(duì)所述目標(biāo)ECU的相關(guān)寄存器數(shù)據(jù)進(jìn)行監(jiān)控,得到所述相關(guān)寄存器的數(shù)值變化數(shù)據(jù);基于所述相關(guān)寄存器的所述數(shù)值變化數(shù)據(jù)對(duì)所述目標(biāo)ECU進(jìn)行絕對(duì)偏移分析,確定所述目標(biāo)ECU固件的動(dòng)態(tài)測(cè)試報(bào)告。述固件數(shù)據(jù)進(jìn)行指令翻譯,確定所述目標(biāo)ECU對(duì)應(yīng)的模擬定制參數(shù),包括:對(duì)所述目標(biāo)ECU的所述固件數(shù)據(jù)進(jìn)行指令翻譯,確定所述目標(biāo)ECU的指令翻譯完成度;其中,所述指令翻譯完成度的取值區(qū)間為[0,1];在所述指令翻譯完成度的數(shù)值等于1的情況下,將默認(rèn)模擬定制參數(shù)確定為所述目標(biāo)在所述指令翻譯完成度的數(shù)值不等于1的情況下,根據(jù)所述固件數(shù)據(jù)進(jìn)行模擬參數(shù)定制,確定所述目標(biāo)ECU對(duì)應(yīng)的模擬定制參數(shù)。3.如權(quán)利要求2所述的車(chē)載ECU固件的動(dòng)態(tài)模擬方法,其特征在于,所述對(duì)所述目標(biāo)ECU的所述固件數(shù)據(jù)進(jìn)行指令翻譯,確定所述目標(biāo)ECU的指令翻譯完成度,包括:對(duì)所述目標(biāo)ECU的所述固件數(shù)據(jù)進(jìn)行指令翻譯,并統(tǒng)計(jì)所述固件數(shù)據(jù)中的指令總數(shù)量與成功翻譯的指令的完成指令數(shù)量;基于所述完成指令數(shù)量和所述指令總數(shù)量進(jìn)行比例計(jì)算,確定所述目標(biāo)ECU的指令翻譯完成度。4.如權(quán)利要求3所述的車(chē)載ECU固件的動(dòng)態(tài)模擬方法,其特征在于,根據(jù)所述固件數(shù)據(jù)進(jìn)行模擬參數(shù)定制,確定所述目標(biāo)ECU對(duì)應(yīng)的模擬定制參數(shù),包括:根據(jù)所述固件數(shù)據(jù)得到所述固件數(shù)據(jù)中未完成翻譯的所有指令的異常指令集合;對(duì)所述異常指令集合中的所有指令進(jìn)行遍歷,確定所述異常指令集合中每個(gè)指令的異常類(lèi)型數(shù)據(jù);對(duì)所述異常指令集合中每個(gè)指令的異常類(lèi)型數(shù)據(jù)進(jìn)行重復(fù)項(xiàng)合并,得到所述異常指令集合對(duì)應(yīng)的異常類(lèi)型表;基于所述異常指令集合對(duì)應(yīng)的所述異常類(lèi)型表進(jìn)行模擬參數(shù)定制,確定所述目標(biāo)ECU對(duì)應(yīng)的模擬定制參數(shù)。5.如權(quán)利要求1所述的車(chē)載ECU固件的動(dòng)態(tài)模擬方法,其特征在于,所述預(yù)設(shè)回調(diào)函數(shù)包括第一預(yù)設(shè)回調(diào)函數(shù)和第二預(yù)設(shè)回調(diào)函數(shù);通過(guò)預(yù)設(shè)回調(diào)函數(shù)對(duì)所述目標(biāo)ECU的相關(guān)寄存器數(shù)據(jù)進(jìn)行監(jiān)控,得到所述相關(guān)寄存器通過(guò)第一預(yù)設(shè)回調(diào)函數(shù)對(duì)所述目標(biāo)ECU的相關(guān)寄存器進(jìn)行讀寄存器操作,得到所述目通過(guò)第二預(yù)設(shè)回調(diào)函數(shù)對(duì)所述目標(biāo)ECU的相關(guān)寄存器進(jìn)行寫(xiě)寄存器操作,得到所述目3根據(jù)所述目標(biāo)ECU的所述第一返回?cái)?shù)據(jù)和所述第二返回?cái)?shù)據(jù),得到所述相關(guān)寄存器的數(shù)值變化數(shù)據(jù)。6.如權(quán)利要求5所述的車(chē)載ECU固件的動(dòng)態(tài)模擬方法,其特征在于,所述通過(guò)第一預(yù)設(shè)回調(diào)函數(shù)對(duì)所述目標(biāo)ECU的相關(guān)寄存器進(jìn)行讀寄存器操作,得到所述目標(biāo)ECU的第一返回?cái)?shù)對(duì)所述目標(biāo)ECU的相關(guān)寄存器進(jìn)行讀寄存器操作,基于內(nèi)存保護(hù)單元數(shù)據(jù)特征確定所述相關(guān)寄存器的內(nèi)存保護(hù)單元的第一特征數(shù)據(jù)段;通過(guò)第一預(yù)設(shè)回調(diào)函數(shù)對(duì)所述相關(guān)寄存器的內(nèi)存保護(hù)單元的所述第一特征數(shù)據(jù)段進(jìn)行相對(duì)位置讀取,得到所述目標(biāo)ECU的第一返回?cái)?shù)據(jù)。7.如權(quán)利要求5所述的車(chē)載ECU固件的動(dòng)態(tài)模擬方法,其特征在于,所述通過(guò)第二預(yù)設(shè)回調(diào)函數(shù)對(duì)所述目標(biāo)ECU的相關(guān)寄存器進(jìn)行寫(xiě)寄存器操作,得到所述目標(biāo)ECU的第二返回?cái)?shù)對(duì)所述目標(biāo)ECU的相關(guān)寄存器進(jìn)行寫(xiě)寄存器操作,基于內(nèi)存保護(hù)單元數(shù)據(jù)特征確定所述相關(guān)寄存器的內(nèi)存保護(hù)單元的第二特征數(shù)據(jù)段;通過(guò)第一預(yù)設(shè)回調(diào)函數(shù)對(duì)所述相關(guān)寄存器的內(nèi)存保護(hù)單元的所述第二特征數(shù)據(jù)段進(jìn)行相對(duì)位置讀取,得到所述目標(biāo)ECU的第二返回?cái)?shù)據(jù)。8.如權(quán)利要求1所述的車(chē)載ECU固件的動(dòng)態(tài)模擬方法,其特征在于,所述基于所述相關(guān)寄存器的所述數(shù)值變化數(shù)據(jù)對(duì)所述目標(biāo)ECU進(jìn)行絕對(duì)偏移分析,確定所述目標(biāo)ECU固件的動(dòng)態(tài)測(cè)試報(bào)告,包括:基于所述相關(guān)寄存器的所述數(shù)值變化數(shù)據(jù)進(jìn)行位置偏移量計(jì)算,得到所述相關(guān)寄存器的內(nèi)存保護(hù)單元的絕對(duì)偏移量數(shù)據(jù);獲取所述相關(guān)寄存器的所述內(nèi)存保護(hù)單元的內(nèi)存基地址;根據(jù)所述內(nèi)存保護(hù)單元的所述絕對(duì)偏移量數(shù)據(jù)和所述內(nèi)存基地址計(jì)算絕對(duì)起始地址,確定所述目標(biāo)ECU固件的動(dòng)態(tài)測(cè)試報(bào)告。9.如權(quán)利要求8所述的車(chē)載ECU固件的動(dòng)態(tài)模擬方法,其特征在于,所述根據(jù)所述內(nèi)存保護(hù)單元的所述絕對(duì)偏移量數(shù)據(jù)和所述內(nèi)存基地址計(jì)算絕對(duì)起始地址,確定所述目標(biāo)ECU固件的動(dòng)態(tài)測(cè)試報(bào)告,包括:將所述內(nèi)存保護(hù)單元的所述絕對(duì)偏移量數(shù)據(jù)和所述內(nèi)存基地址進(jìn)行相加,得到所述內(nèi)存保護(hù)單元的對(duì)應(yīng)配置數(shù)據(jù);根據(jù)所述內(nèi)存保護(hù)單元的所述對(duì)應(yīng)配置數(shù)據(jù)進(jìn)行異常風(fēng)險(xiǎn)分析,確定所述目標(biāo)ECU固件的動(dòng)態(tài)測(cè)試報(bào)告。10.一種電子設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器中并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如權(quán)利要求1至9任一項(xiàng)所述的方法。4一種車(chē)載ECU固件的動(dòng)態(tài)模擬方法及設(shè)備技術(shù)領(lǐng)域[0001]本申請(qǐng)屬于ECU測(cè)試技術(shù)領(lǐng)域,尤其涉及一種車(chē)載ECU固件的動(dòng)態(tài)模擬方法及設(shè)背景技術(shù)[0002]隨著汽車(chē)電子技術(shù)的快速發(fā)展,汽車(chē)電子電氣架構(gòu)經(jīng)歷了從分布式架構(gòu)向域集中化和中央計(jì)算平臺(tái)架構(gòu)的演進(jìn)。在分布式架構(gòu)中,每個(gè)功能通常由一個(gè)獨(dú)立的ECU完成,這導(dǎo)致了復(fù)雜的線(xiàn)束網(wǎng)絡(luò)、系統(tǒng)集成難度大、維護(hù)與升級(jí)困難等問(wèn)題。為了解決這些痛點(diǎn),汽車(chē)電子電氣架構(gòu)逐漸向域集中化和中央計(jì)算平臺(tái)發(fā)展,減少了單車(chē)ECU的數(shù)量,但單個(gè)ECU需處理的任務(wù)復(fù)雜度卻大幅提高。[0003]在車(chē)載ECU固件的開(kāi)發(fā)測(cè)試過(guò)程中,傳統(tǒng)的開(kāi)發(fā)測(cè)試流程存在迭代時(shí)間長(zhǎng)、受原型車(chē)和測(cè)試設(shè)備限制等問(wèn)題,缺乏有效的開(kāi)發(fā)測(cè)試工具,導(dǎo)致開(kāi)發(fā)測(cè)試周期長(zhǎng)且效率低,測(cè)試硬件成本高。發(fā)明內(nèi)容[0004]本申請(qǐng)實(shí)施例提供了一種車(chē)載ECU固件的動(dòng)態(tài)模擬方法及設(shè)備,可以解決車(chē)載ECU開(kāi)發(fā)測(cè)試過(guò)程中由于缺乏有效的開(kāi)發(fā)測(cè)試工具,導(dǎo)致開(kāi)發(fā)測(cè)試周期長(zhǎng)且效率低,測(cè)試硬件成本高的問(wèn)題。對(duì)所述目標(biāo)ECU的所述固件數(shù)據(jù)進(jìn)行指令翻譯,確定所述目標(biāo)ECU對(duì)應(yīng)的模擬定制參數(shù);其中,所述模擬定制參數(shù)用于對(duì)所述目標(biāo)ECU進(jìn)行架構(gòu)適配;根據(jù)所述模擬定制參數(shù)對(duì)所述目標(biāo)ECU的所述固件數(shù)據(jù)進(jìn)行動(dòng)態(tài)模擬,并通過(guò)預(yù)設(shè)回調(diào)函數(shù)對(duì)所述目標(biāo)ECU的相關(guān)寄存器數(shù)據(jù)進(jìn)行監(jiān)控,得到所述相關(guān)寄存器的數(shù)值變化基于所述相關(guān)寄存器的所述數(shù)值變化數(shù)據(jù)對(duì)所述目標(biāo)ECU進(jìn)行絕對(duì)偏移分析,確定所述目標(biāo)ECU固件的動(dòng)態(tài)測(cè)試報(bào)告。[0006]本申請(qǐng)實(shí)施例中上述的技術(shù)方案,至少具有如下技術(shù)效果:本申請(qǐng)實(shí)施例提供的車(chē)載ECU固件的動(dòng)態(tài)模擬方法,通過(guò)獲取目標(biāo)ECU的固件數(shù)據(jù),為后續(xù)對(duì)目標(biāo)ECU進(jìn)行深入分析和測(cè)試提供基礎(chǔ)數(shù)據(jù),全面了解目標(biāo)ECU的原始運(yùn)行邏得后續(xù)模擬環(huán)境能準(zhǔn)確模擬目標(biāo)ECU的運(yùn)行狀態(tài)。根據(jù)模擬定制參數(shù)對(duì)目標(biāo)ECU的固件數(shù)據(jù)進(jìn)行動(dòng)態(tài)模擬,并通過(guò)預(yù)設(shè)回調(diào)函數(shù)對(duì)目標(biāo)ECU的相關(guān)寄存器數(shù)據(jù)進(jìn)行監(jiān)控,得到相關(guān)寄存器的數(shù)值變化數(shù)據(jù),為評(píng)估目標(biāo)ECU運(yùn)行穩(wěn)定性和準(zhǔn)確性提供關(guān)鍵數(shù)據(jù)?;谙嚓P(guān)寄存器的數(shù)值變化數(shù)據(jù)對(duì)目標(biāo)ECU進(jìn)行絕對(duì)偏移分析,確定目標(biāo)ECU固件的動(dòng)態(tài)測(cè)試報(bào)告,精準(zhǔn)分析寄存器數(shù)值變化的偏移情況,全面評(píng)估目標(biāo)ECU固件的性能和潛在風(fēng)險(xiǎn),生成詳細(xì)且有針對(duì)5性的動(dòng)態(tài)測(cè)試報(bào)告,為固件的優(yōu)化和改進(jìn)提供有力依據(jù),減少開(kāi)發(fā)測(cè)試周期,提升開(kāi)發(fā)測(cè)試定制單元,用于對(duì)所述目標(biāo)ECU的所述固件數(shù)據(jù)進(jìn)行指令翻譯,確定所述目標(biāo)ECU對(duì)應(yīng)的模擬定制參數(shù);其中,所述模擬定制參數(shù)用于對(duì)所述目標(biāo)ECU進(jìn)行架構(gòu)適配;模擬單元,用于根據(jù)所述模擬定制參數(shù)對(duì)所述目標(biāo)ECU的所述固件數(shù)據(jù)進(jìn)行動(dòng)態(tài)模擬,并通過(guò)預(yù)設(shè)回調(diào)函數(shù)對(duì)所述目標(biāo)ECU的相關(guān)寄存器數(shù)據(jù)進(jìn)行監(jiān)控,得到所述相關(guān)寄存器的數(shù)值變化數(shù)據(jù);結(jié)果單元,用于基于所述相關(guān)寄存器的所述數(shù)值變化數(shù)據(jù)對(duì)所述目標(biāo)ECU進(jìn)行絕[0008]第三方面,本申請(qǐng)實(shí)施例提供了一種電子設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器中并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如上述方面任一項(xiàng)所述的方法。[0009]第四方面,本申請(qǐng)實(shí)施例提供了一種計(jì)算機(jī)程序產(chǎn)品,當(dāng)計(jì)算機(jī)程序產(chǎn)品在電子設(shè)備上運(yùn)行時(shí),使得電子設(shè)備執(zhí)行上述方面中任一項(xiàng)的所述方法。[0010]可以理解的是,上述第二方面至第四方面的有益效果可以參見(jiàn)上述方面中的相關(guān)附圖說(shuō)明[0011]為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。[0012]圖1是本申請(qǐng)一實(shí)施例提供的車(chē)載ECU固件的動(dòng)態(tài)模擬方法的流程示意圖;圖2是本申請(qǐng)一實(shí)施例提供的車(chē)載ECU固件的動(dòng)態(tài)模擬方法的運(yùn)行示意圖;圖3是本申請(qǐng)一實(shí)施例提供的車(chē)載ECU固件的動(dòng)態(tài)模擬方法的部分示意圖;圖4是本申請(qǐng)一實(shí)施例提供的車(chē)載ECU固件的動(dòng)態(tài)模擬方法的部分示意圖;圖5是本申請(qǐng)一實(shí)施例提供的車(chē)載ECU固件的動(dòng)態(tài)模擬系統(tǒng)的部分示意圖圖6是本申請(qǐng)一實(shí)施例提供的電子設(shè)備的結(jié)構(gòu)示意圖。具體實(shí)施方式[0013]以下描述中,為了說(shuō)明而不是為了限定,提出了諸如特定系統(tǒng)結(jié)構(gòu)、技術(shù)之類(lèi)的具體細(xì)節(jié),以便透徹理解本申請(qǐng)實(shí)施例。然而,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)清楚,在沒(méi)有這些具體細(xì)節(jié)的其它實(shí)施例中也可以實(shí)現(xiàn)本申請(qǐng)。在其它情況中,省略對(duì)眾所周知的系統(tǒng)、裝置、電路以及方法的詳細(xì)說(shuō)明,以免不必要的細(xì)節(jié)妨礙本申請(qǐng)的描述。[0014]應(yīng)當(dāng)理解,當(dāng)在本申請(qǐng)說(shuō)明書(shū)和所附權(quán)利要求書(shū)中使用時(shí),術(shù)語(yǔ)“包括”指示所描6[0015]還應(yīng)當(dāng)理解,在本申請(qǐng)說(shuō)明書(shū)和所附權(quán)利要求書(shū)中使用的術(shù)語(yǔ)“和/或”是指相關(guān)聯(lián)列出的項(xiàng)中的一個(gè)或多個(gè)的任何組合以及所有可能組合,并且包括這些組合。[0016]如在本申請(qǐng)說(shuō)明書(shū)和所附權(quán)利要求書(shū)中所使用的那樣,術(shù)語(yǔ)“如果”可以依據(jù)上下等僅用于區(qū)分描述,而不能理解為指示或暗示相對(duì)重要性。[0018]在本申請(qǐng)說(shuō)明書(shū)中描述的參考“一個(gè)實(shí)施例”或“一些實(shí)施例”等意味著在本申請(qǐng)的一個(gè)或多個(gè)實(shí)施例中包括結(jié)合該實(shí)施例描述的特定特征、結(jié)構(gòu)或特點(diǎn)。由此,在本說(shuō)明書(shū)“在另外一些實(shí)施例中”等不是必然都參考相同的實(shí)施例,而是意味著“一個(gè)或多個(gè)但不是形都意味著“包括但不限于”,除非是以其他方式另外特別強(qiáng)調(diào)。[0019]在車(chē)載ECU固件的開(kāi)發(fā)過(guò)程中,傳統(tǒng)的開(kāi)發(fā)流程存在迭代時(shí)間長(zhǎng)、受原型車(chē)和測(cè)試地提高了測(cè)試效果和效率還降低了測(cè)試成本。動(dòng)態(tài)模擬方法能夠模擬ECU的運(yùn)行環(huán)境,使開(kāi)發(fā)人員能夠在PC機(jī)上對(duì)軟件進(jìn)行模擬、校準(zhǔn)和測(cè)量,從而縮短開(kāi)發(fā)周期,減少對(duì)稀缺資源和實(shí)際硬件的依賴(lài)。此外,通過(guò)動(dòng)態(tài)模擬方法,開(kāi)發(fā)人員可以隨時(shí)觀(guān)察和修改內(nèi)存變量甚至硬[0020]為解決上述問(wèn)題,本申請(qǐng)實(shí)施例提供了一種車(chē)載ECU固件的動(dòng)態(tài)模擬方法及設(shè)備。該方法中,通過(guò)獲取目標(biāo)ECU的固件數(shù)據(jù),為后續(xù)對(duì)目標(biāo)ECU進(jìn)行深入分析和測(cè)試提供基礎(chǔ)確定目標(biāo)ECU對(duì)應(yīng)的模擬定制參數(shù),使得后續(xù)模擬環(huán)境能準(zhǔn)確模擬目標(biāo)ECU的運(yùn)行狀態(tài)。根據(jù)模擬定制參數(shù)對(duì)目標(biāo)ECU的固件數(shù)據(jù)進(jìn)行動(dòng)態(tài)模擬,并通過(guò)預(yù)設(shè)回調(diào)函數(shù)對(duì)目標(biāo)ECU的相關(guān)寄存器數(shù)據(jù)進(jìn)行監(jiān)控,得到相關(guān)寄存器的數(shù)值變化數(shù)據(jù),為評(píng)估目標(biāo)ECU運(yùn)行穩(wěn)定性和準(zhǔn)確性提供關(guān)鍵數(shù)據(jù)。基于相關(guān)寄存器的數(shù)值變化數(shù)據(jù)對(duì)目標(biāo)ECU進(jìn)行絕對(duì)偏移分析,確定目標(biāo)ECU固件的動(dòng)態(tài)測(cè)試報(bào)告,精準(zhǔn)分析寄存器數(shù)值變化的偏移情況,全面評(píng)估目標(biāo)ECU固件的性能和潛在風(fēng)險(xiǎn),生成詳細(xì)且有針對(duì)性的動(dòng)態(tài)測(cè)試報(bào)告,為固件的優(yōu)化和改進(jìn)提供有力[0021]本申請(qǐng)實(shí)施例提供的車(chē)載ECU固件的動(dòng)態(tài)模擬方法可以應(yīng)用于電子設(shè)備上,此時(shí)電子設(shè)備即為本申請(qǐng)實(shí)施例提供的車(chē)載ECU固件的動(dòng)態(tài)模擬方法的執(zhí)行主體,本申請(qǐng)實(shí)施例對(duì)電子設(shè)備的具體類(lèi)型不作任何限制。[0022]例如,電子設(shè)備可以是超級(jí)移動(dòng)個(gè)人計(jì)算機(jī)(ultra-mobilepersonalcomputer,[0023]為了更好地理解本申請(qǐng)實(shí)施例提供的車(chē)載ECU固件的動(dòng)態(tài)模擬方法,下面對(duì)本申請(qǐng)實(shí)施例提供的車(chē)載ECU固件的動(dòng)態(tài)模擬方法的具體實(shí)現(xiàn)過(guò)程進(jìn)行示例性介紹。[0024]圖1示出了本申請(qǐng)實(shí)施例提供的車(chē)載ECU固件的動(dòng)態(tài)模擬方法的示意性流程圖,圖2示出了本申請(qǐng)實(shí)施例提供的車(chē)載ECU固件的動(dòng)態(tài)模擬方法的運(yùn)行示意圖,車(chē)載ECU固件的7動(dòng)態(tài)模擬方法包括:S100,獲取目標(biāo)ECU的固件數(shù)據(jù)。[0025]可以理解,獲取目標(biāo)ECU的固件數(shù)據(jù)可通過(guò)多種途徑實(shí)現(xiàn)。例如可以通過(guò)ECU編程器,利用其適配的接口與目標(biāo)ECU連接,按照特定的通信協(xié)議,如CAN(ControllerAreaNetwork)協(xié)議,從ECU的存儲(chǔ)芯片中直接讀取固件數(shù)據(jù);可以通過(guò)汽車(chē)診斷接口,依據(jù)OBD(On-BoardDiagnostics)標(biāo)準(zhǔn)協(xié)議,向ECU發(fā)送數(shù)據(jù)讀取指令,從而獲取所需的固件數(shù)據(jù)。還能從汽車(chē)制造商提供的官方數(shù)據(jù)庫(kù)中,根據(jù)ECU的型號(hào)和版本信息,下載對(duì)應(yīng)的固件數(shù)[0026]S200,對(duì)目標(biāo)ECU的固件數(shù)據(jù)進(jìn)行指令翻譯,確定目標(biāo)ECU對(duì)應(yīng)的模擬定制參數(shù);其中,模擬定制參數(shù)用于對(duì)目標(biāo)ECU進(jìn)行架構(gòu)適配。[0027]可以理解,指令翻譯是將目標(biāo)ECU固件中的二進(jìn)制指令轉(zhuǎn)換為便于分析和處理的形式??梢酝ㄟ^(guò)專(zhuān)業(yè)芯片仿真工具(如QEMU、ModelSim、VivadoSimulator等)運(yùn)件中的二進(jìn)制指令并記錄芯片運(yùn)行數(shù)據(jù)??梢曰谥噶罴軜?gòu)(ISA)的查表法,構(gòu)建一個(gè)包含目標(biāo)ECU指令集的映射表,表中記錄每條二進(jìn)制指令對(duì)應(yīng)的操作碼、操作數(shù)以及對(duì)應(yīng)的高級(jí)語(yǔ)言指令描述,翻譯時(shí)依據(jù)二進(jìn)制指令查找映射表進(jìn)行轉(zhuǎn)換。也可以通過(guò)語(yǔ)法分析算法,根據(jù)目標(biāo)ECU指令集的語(yǔ)法規(guī)則,對(duì)固件數(shù)據(jù)中的指令進(jìn)行詞法和語(yǔ)法解析,識(shí)別指令的各架構(gòu)需求,如確定其所需的時(shí)鐘頻率、內(nèi)存分配模式、外設(shè)接口配置等參數(shù),使后續(xù)的模擬環(huán)境與目標(biāo)ECU的實(shí)際架構(gòu)相適配。[0028]在一種可能的實(shí)現(xiàn)方式中,S200,對(duì)目標(biāo)ECU的固件數(shù)據(jù)進(jìn)行指令翻譯,確定目標(biāo)S210,對(duì)目標(biāo)ECU的固件數(shù)據(jù)進(jìn)行指令翻譯,確定目標(biāo)ECU的指令翻譯完成度;其中,指令翻譯完成度的取值區(qū)間為[0,1]。[0029]可以理解,可以使用模擬測(cè)試工具如QEMU,通過(guò)翻譯指令達(dá)到模擬目標(biāo)ECU運(yùn)行的效果。在對(duì)目標(biāo)ECU的固件數(shù)據(jù)進(jìn)行指令翻譯時(shí),可以采用逐字節(jié)解析算法,從固件數(shù)據(jù)的起始位置開(kāi)始,按字節(jié)讀取數(shù)據(jù),依據(jù)目標(biāo)ECU的指令集規(guī)則,逐步解析每個(gè)字節(jié)對(duì)應(yīng)的指令。也可以基于滑動(dòng)窗口的解析算法,設(shè)置一個(gè)固定大小的窗口,在固件數(shù)據(jù)上滑動(dòng)窗口,每次根據(jù)窗口內(nèi)的數(shù)據(jù)進(jìn)行指令解析。確定指令翻譯完成度時(shí),可以通過(guò)統(tǒng)計(jì)翻譯的進(jìn)度S211,對(duì)目標(biāo)ECU的固件數(shù)據(jù)進(jìn)行指令翻譯,并統(tǒng)計(jì)固件數(shù)據(jù)中的指令總數(shù)量與成功翻譯的指令的完成指令數(shù)量。[0031]可以理解,統(tǒng)計(jì)指令總數(shù)量時(shí),可采用遍歷計(jì)數(shù)算法,從固件數(shù)據(jù)的起始地址開(kāi)始,按照指令的長(zhǎng)度規(guī)則,逐段遍歷固件數(shù)據(jù),每識(shí)別出一條指令,指令總數(shù)量計(jì)數(shù)器加1。在翻譯過(guò)程中,對(duì)于成功解析的指令,完成指令數(shù)量計(jì)數(shù)器加1。若遇標(biāo)記其位置,繼續(xù)向后統(tǒng)計(jì)指令總數(shù)量,保證統(tǒng)計(jì)的完整性,以便后續(xù)準(zhǔn)確計(jì)算指令翻譯完成度。[0032]S212,基于完成指令數(shù)量和指令總數(shù)量進(jìn)行比例計(jì)算,確定目標(biāo)ECU的指令翻譯完8成度。[0033]可以理解,可以采用除法運(yùn)算算法,將完成指令數(shù)量除以指令總數(shù)量,得到的結(jié)果即為指令翻譯完成度。例如,若指令總數(shù)量為n條,成功翻譯的完成指令數(shù)量為m條,那么指令翻譯完成度就是m/n。[0034]S220,在指令翻譯完成度的數(shù)值等于1的情況下,將默認(rèn)模擬定制參數(shù)確定為目標(biāo)[0035]可以理解,默認(rèn)模擬定制參數(shù)是預(yù)先設(shè)置好的一組適用于大多數(shù)常見(jiàn)情況的參數(shù)。當(dāng)指令翻譯完成度為1時(shí),即固件數(shù)據(jù)中的所有指令都已成功翻譯,此時(shí)認(rèn)為當(dāng)前的默認(rèn)模擬定制參數(shù)能夠滿(mǎn)足目標(biāo)ECU的模擬需求,無(wú)需進(jìn)行額外的參數(shù)定制,直接將默認(rèn)參數(shù)賦值給目標(biāo)ECU對(duì)應(yīng)的模擬定制參數(shù),可以提高處理效率,減少不必要的[0036]S230,在指令翻譯完成度的數(shù)值不等于1的情況下,根據(jù)固件數(shù)據(jù)進(jìn)行模擬參數(shù)定制,確定目標(biāo)ECU對(duì)應(yīng)的模擬定制參數(shù)。[0037]可以理解,當(dāng)指令翻譯存在未完成情況時(shí),說(shuō)明固件數(shù)據(jù)中存在特殊或異常的指令,默認(rèn)模擬定制參數(shù)可能無(wú)法滿(mǎn)足模擬需求??梢陨钊敕治龉碳?shù)據(jù),針對(duì)未翻譯的指確定需要調(diào)整或新增的模擬參數(shù),以確保模擬環(huán)境能準(zhǔn)確模擬目標(biāo)ECU的運(yùn)行情況。例如針版本和Tricore版本的Qemu,請(qǐng)參閱圖3;Qemu原生版本個(gè)別指令翻譯錯(cuò)誤或者沒(méi)有翻譯,造成固件運(yùn)行異常,因此,可以通過(guò)模版匹配補(bǔ)充多條相應(yīng)指令。[0038]可選地,S230,根據(jù)固件數(shù)據(jù)進(jìn)行模擬參數(shù)定制,確定目標(biāo)ECU對(duì)應(yīng)的模擬定制參S231,根據(jù)固件數(shù)據(jù)得到固件數(shù)據(jù)中未完成翻譯的所有指令的異常指令集合。[0039]可以理解,在翻譯過(guò)程中,當(dāng)遇到無(wú)法按照現(xiàn)有指令集規(guī)則解析的指令時(shí),可以將這些指令收集到一個(gè)集合中,形成異常指令集合??梢圆捎帽闅v標(biāo)記算法,在指令翻譯時(shí),對(duì)每一條指令進(jìn)行判斷,若翻譯失敗,則將其標(biāo)記并添加到異常指令集合中。同時(shí)記錄該指令在固件數(shù)據(jù)中的位置信息,方便后續(xù)對(duì)異常指令進(jìn)行詳細(xì)分析。[0040]S232,對(duì)異常指令集合中的所有指令進(jìn)行遍歷,確定異常指令集合中每個(gè)指令的異常類(lèi)型數(shù)據(jù)。[0041]可以理解,遍歷異常指令集合時(shí),可以采用特征匹配算法,根據(jù)異常指令的二令的操作碼無(wú)法識(shí)別,可歸類(lèi)為“未知操作碼異常”;若指令的操作數(shù)格式不符合指令集規(guī)數(shù)據(jù),以便后續(xù)針對(duì)性地進(jìn)行處理。[0042]S233,對(duì)異常指令集合中每個(gè)指令的異常類(lèi)型數(shù)據(jù)進(jìn)行重復(fù)項(xiàng)合并,得到異常指令集合對(duì)應(yīng)的異常類(lèi)型表。[0043]可以理解,可以采用哈希表統(tǒng)計(jì)算法,遍歷異常指令集合中每個(gè)指令的異常類(lèi)型加1。遍歷結(jié)束后,根據(jù)哈希表生成異常類(lèi)型表,表中記錄每種異常類(lèi)9樣可以對(duì)異常指令的分布情況有更清晰的了解,便于集中處理主要的異常類(lèi)型。[0044]S234,基于異常指令集合對(duì)應(yīng)的異常類(lèi)型表進(jìn)行模擬參數(shù)定制,確定目標(biāo)ECU對(duì)應(yīng)的模擬定制參數(shù)。[0045]可以理解,根據(jù)異常類(lèi)型表中不同異常類(lèi)型的特點(diǎn)和出現(xiàn)頻率,對(duì)模擬參數(shù)進(jìn)行存地址校驗(yàn)規(guī)則、調(diào)整內(nèi)存分配策略等;對(duì)于“未知指令異?!?可以擴(kuò)展指令集解析規(guī)則,或設(shè)置特殊的模擬處理邏輯,以確保能正確模擬這些異常指令的行為,最終確定適合目標(biāo)[0046]S300,根據(jù)模擬定制參數(shù)對(duì)目標(biāo)ECU的固件數(shù)據(jù)進(jìn)行動(dòng)態(tài)模擬,并通過(guò)預(yù)設(shè)回調(diào)函數(shù)對(duì)目標(biāo)ECU的相關(guān)寄存器數(shù)據(jù)進(jìn)行監(jiān)控,得到相關(guān)寄存器的數(shù)值變化數(shù)據(jù)。[0047]可以理解,在通過(guò)根據(jù)模擬定制參數(shù)的進(jìn)行定制的QEMU對(duì)目標(biāo)ECU的固件數(shù)據(jù)模擬過(guò)程中,請(qǐng)參閱圖4,可以在執(zhí)行到與寄存器操作相關(guān)的指令時(shí),觸發(fā)預(yù)設(shè)回調(diào)函數(shù)。預(yù)設(shè)回調(diào)函數(shù)的執(zhí)行算法方面,對(duì)于讀寄存器操作,一種算法是直接從模擬的寄存器存儲(chǔ)區(qū)域中讀取數(shù)據(jù);對(duì)于寫(xiě)寄存器操作,一種算法是先檢查寫(xiě)操作的合法性,如地址是否越界、數(shù)據(jù)格式是否正確等,若合法則更新模擬寄存器存儲(chǔ)區(qū)域中的數(shù)據(jù)。通過(guò)對(duì)每次讀、寫(xiě)操作后寄存器數(shù)據(jù)的記錄,就能得到相關(guān)寄存器的數(shù)值變化數(shù)據(jù)。這里的寄存器是CPU內(nèi)部用來(lái)暫時(shí)存放參與運(yùn)算的數(shù)據(jù)和運(yùn)算結(jié)果的高速存儲(chǔ)單元,在ECU的運(yùn)行過(guò)程中起著關(guān)鍵的數(shù)據(jù)存儲(chǔ)和處理作用。[0048]預(yù)設(shè)回調(diào)函數(shù)是預(yù)先設(shè)定好的一類(lèi)特殊函數(shù),用于在特定事件發(fā)生時(shí)被調(diào)用,以實(shí)現(xiàn)對(duì)目標(biāo)對(duì)象相關(guān)數(shù)據(jù)的監(jiān)控、處理或其他特定功能。預(yù)設(shè)回調(diào)函數(shù)包括第一預(yù)設(shè)回調(diào)函數(shù)和第二預(yù)設(shè)回調(diào)函數(shù)。第一預(yù)設(shè)回調(diào)函數(shù)主要用于對(duì)目標(biāo)ECU的相關(guān)寄存器進(jìn)行讀寄存器操作,獲取目標(biāo)ECU讀寄存器操作的返回值,讀寄存器操作的返回值即是第一返回?cái)?shù)據(jù),第一返回?cái)?shù)據(jù)可以為分析寄存器當(dāng)前值提供依據(jù)。第二預(yù)設(shè)回調(diào)函數(shù)主要負(fù)責(zé)對(duì)目標(biāo)ECU的相關(guān)寄存器進(jìn)行寫(xiě)寄存器操作,并得到目標(biāo)ECU寫(xiě)寄存器操作的返回值,寫(xiě)寄存器操作的返回值及時(shí)第二返回?cái)?shù)據(jù)。在對(duì)目標(biāo)ECU的固件數(shù)據(jù)進(jìn)行動(dòng)態(tài)模擬時(shí),當(dāng)模擬過(guò)程執(zhí)行到與寄存器操作相關(guān)的指令時(shí),可以自動(dòng)觸發(fā)相應(yīng)的預(yù)設(shè)回調(diào)函數(shù)。預(yù)設(shè)回調(diào)函數(shù)按照預(yù)先設(shè)定的算法執(zhí)行操作,如地址映射、數(shù)據(jù)校驗(yàn)、偏移計(jì)算等,從而實(shí)現(xiàn)對(duì)寄存器數(shù)據(jù)的有效監(jiān)控和處理,為后續(xù)獲取相關(guān)寄存器的數(shù)值變化數(shù)據(jù)、進(jìn)行絕對(duì)偏移分析以及生成動(dòng)態(tài)測(cè)試報(bào)告提供支持。[0049]預(yù)設(shè)回調(diào)函數(shù)包括第一預(yù)設(shè)回調(diào)函數(shù)和第二預(yù)設(shè)回調(diào)函數(shù);在步驟S300中,通過(guò)預(yù)設(shè)回調(diào)函數(shù)對(duì)目標(biāo)ECU的相關(guān)寄存器數(shù)據(jù)進(jìn)行監(jiān)控,得到相關(guān)寄存器的數(shù)值變化數(shù)據(jù),包S310,通過(guò)第一預(yù)設(shè)回調(diào)函數(shù)對(duì)目標(biāo)ECU的相關(guān)寄存器進(jìn)行讀寄存器操作,得到目[0050]可以理解,在執(zhí)行讀寄存器操作時(shí),可以采用地址映射算法,根據(jù)目標(biāo)ECU的寄存器地址映射關(guān)系,將邏輯寄存器地址轉(zhuǎn)換為實(shí)際的內(nèi)存地址??梢詮哪M的內(nèi)存區(qū)域中讀取對(duì)應(yīng)的數(shù)據(jù)作為返回值。第一預(yù)設(shè)回調(diào)函數(shù)在觸發(fā)時(shí),會(huì)按照這個(gè)地址映射規(guī)則進(jìn)行讀操作,并將讀取到的數(shù)據(jù)作為第一返回?cái)?shù)據(jù)傳遞出去。[0051]可選地,S310,通過(guò)第一預(yù)設(shè)回調(diào)函數(shù)對(duì)目標(biāo)ECU的相關(guān)寄存器進(jìn)行讀寄存器操S311,對(duì)目標(biāo)ECU的相關(guān)寄存器進(jìn)行讀寄存器操作,基于內(nèi)存保護(hù)單元數(shù)據(jù)特征確定相關(guān)寄存器的內(nèi)存保護(hù)單元的第一特征數(shù)據(jù)段。[0052]可以理解,內(nèi)存保護(hù)單元(MPU,MemoryProtectionUnit,是一種用于保護(hù)內(nèi)存區(qū)域安全的硬件單元,可設(shè)置不同內(nèi)存區(qū)域的訪(fǎng)問(wèn)權(quán)限,防止非法的內(nèi)存訪(fǎng)問(wèn))用于保護(hù)內(nèi)存數(shù)據(jù)的安全和完整性。在進(jìn)行讀寄存器操作時(shí),依據(jù)內(nèi)存保護(hù)單元設(shè)定的訪(fǎng)問(wèn)權(quán)限和數(shù)據(jù)特征標(biāo)識(shí),確定相關(guān)寄存器所在內(nèi)存區(qū)域的特征數(shù)據(jù)段。例如,內(nèi)存保護(hù)單元可能設(shè)置了不同的讀寫(xiě)權(quán)限位、數(shù)據(jù)類(lèi)型標(biāo)識(shí)位等,通過(guò)解析這些位信息,確定第一特征數(shù)據(jù)段的起始地[0053]S312,通過(guò)第一預(yù)設(shè)回調(diào)函數(shù)對(duì)相關(guān)寄存器的內(nèi)存保護(hù)單元的第一特征數(shù)據(jù)段進(jìn)行相對(duì)位置讀取,得到目標(biāo)ECU的第一返回?cái)?shù)據(jù)。[0054]可以理解,在確定了第一特征數(shù)據(jù)段后,根據(jù)寄存器在該數(shù)據(jù)段中的相對(duì)位置進(jìn)行讀取操作。采用偏移計(jì)算算法,將特征數(shù)據(jù)段的起始地址加上寄存器的相對(duì)偏移地址,得到實(shí)際的讀取地址。第一預(yù)設(shè)回調(diào)函數(shù)根據(jù)這個(gè)計(jì)算得到的地址,從模擬內(nèi)存中讀取數(shù)據(jù),并將其作為目標(biāo)ECU的第一返回?cái)?shù)據(jù),確保讀取的數(shù)據(jù)準(zhǔn)確反映相關(guān)寄存器的當(dāng)前值。[0055]S320,通過(guò)第二預(yù)設(shè)回調(diào)函數(shù)對(duì)目標(biāo)ECU的相關(guān)寄存器進(jìn)行寫(xiě)寄存器操作,得到目[0056]可以理解,在寫(xiě)寄存器操作時(shí),可以采用數(shù)據(jù)校驗(yàn)算法,先對(duì)要寫(xiě)入的數(shù)據(jù)進(jìn)行格式、范圍等方面的校驗(yàn)。若數(shù)據(jù)不符合目標(biāo)ECU寄存器的要求,則返回錯(cuò)誤信息。若數(shù)據(jù)校驗(yàn)通過(guò),再根據(jù)寄存器地址將數(shù)據(jù)寫(xiě)入模擬的寄存器內(nèi)存區(qū)域。第二預(yù)設(shè)回調(diào)函數(shù)在執(zhí)行寫(xiě)操作后,會(huì)返回一個(gè)表示操作結(jié)果的第二返回?cái)?shù)據(jù),該數(shù)據(jù)可以包含寫(xiě)入是否成功、是否觸發(fā)了內(nèi)存保護(hù)異常等信息。[0057]可選地,S320,通過(guò)第二預(yù)設(shè)回調(diào)函數(shù)對(duì)目標(biāo)ECU的相關(guān)寄存器進(jìn)行寫(xiě)寄存器操S321,對(duì)目標(biāo)ECU的相關(guān)寄存器進(jìn)行寫(xiě)寄存器操作,基于內(nèi)存保護(hù)單元數(shù)據(jù)特征確定相關(guān)寄存器的內(nèi)存保護(hù)單元的第二特征數(shù)據(jù)段。[0058]可以理解,與讀寄存器操作類(lèi)似,在寫(xiě)寄存器時(shí),根據(jù)內(nèi)存保護(hù)單元的數(shù)據(jù)特征來(lái)確定相關(guān)寄存器所在內(nèi)存區(qū)域的第二特征數(shù)據(jù)段??梢酝ㄟ^(guò)解析內(nèi)存保護(hù)單元中的權(quán)限控制位、數(shù)據(jù)類(lèi)型標(biāo)識(shí)等信息,明確該數(shù)據(jù)段的邊界、訪(fǎng)問(wèn)規(guī)則等特征,以確保寫(xiě)操作在合法的內(nèi)存區(qū)域內(nèi)進(jìn)行,避免因非法寫(xiě)入導(dǎo)致模擬錯(cuò)誤。[0059]S322,通過(guò)第一預(yù)設(shè)回調(diào)函數(shù)對(duì)相關(guān)寄存器的內(nèi)存保護(hù)單元的第二特征數(shù)據(jù)段進(jìn)行相對(duì)位置讀取,得到目標(biāo)ECU的第二返回?cái)?shù)據(jù)。[0060]可以理解,在完成寫(xiě)操作后,為了獲取寫(xiě)操作的結(jié)果信息,通過(guò)第一預(yù)設(shè)回調(diào)函數(shù)對(duì)相關(guān)寄存器內(nèi)存保護(hù)單元的第二特征數(shù)據(jù)段進(jìn)行相對(duì)位置讀取。可以采用與讀操作相同的偏移計(jì)算方法,計(jì)算出要讀取的地址,從模擬內(nèi)存中讀取數(shù)據(jù)。這些數(shù)據(jù)可以包含寫(xiě)入后寄存器的值、內(nèi)存保護(hù)單元的狀態(tài)變化等信息,作為目標(biāo)ECU的第二返回?cái)?shù)據(jù),用于后續(xù)分析寫(xiě)操作的執(zhí)行情況。[0061]S330,根據(jù)目標(biāo)ECU的第一返回?cái)?shù)據(jù)和第二返回?cái)?shù)據(jù),得到相關(guān)寄存器的數(shù)值變化11[0062]可以理解,可以采用數(shù)據(jù)對(duì)比算法,將第一返回?cái)?shù)據(jù)(讀操作前寄存器的值)與第二返回?cái)?shù)據(jù)(寫(xiě)操作后寄存器的值)進(jìn)行對(duì)比。若兩個(gè)數(shù)據(jù)不同,則計(jì)算它們之間的差值或變化情況,記錄為相關(guān)寄存器的數(shù)值變化數(shù)據(jù)。例如,對(duì)于數(shù)值型寄存器,計(jì)算第二返回?cái)?shù)據(jù)減去第一返回?cái)?shù)據(jù)的差值;對(duì)于標(biāo)志位寄存器,分析哪些標(biāo)志位發(fā)生了改變。通過(guò)這種對(duì)比,清晰地獲取寄存器在讀寫(xiě)操作過(guò)程中的數(shù)值變化情況,為后續(xù)的絕對(duì)偏移分析提供數(shù)據(jù)支持。[0063]S400,基于相關(guān)寄存器的數(shù)值變化數(shù)據(jù)對(duì)目標(biāo)ECU進(jìn)行絕對(duì)偏移分析,確定目標(biāo)[0064]可以理解,絕對(duì)偏移分析旨在確定寄存器數(shù)據(jù)在內(nèi)存中的實(shí)際偏移位置,以評(píng)估ECU固件運(yùn)行的準(zhǔn)確性和穩(wěn)定性可以基于內(nèi)存映射的偏移計(jì)算方法,根據(jù)目標(biāo)ECU的內(nèi)存映射表(內(nèi)存映射是將程序中的邏輯地址空間與物理內(nèi)存地址空間建立對(duì)應(yīng)關(guān)系的過(guò)程,內(nèi)存映射表記錄了這種對(duì)應(yīng)關(guān)系),將寄存器的數(shù)值變化數(shù)據(jù)與內(nèi)存地址進(jìn)行關(guān)聯(lián),計(jì)算出絕對(duì)偏移量。也可通過(guò)跟蹤指令執(zhí)行過(guò)程中對(duì)寄存器的操作順序和內(nèi)存訪(fǎng)問(wèn)模式,結(jié)合內(nèi)存基地址信息,推導(dǎo)出絕對(duì)偏移量。確定動(dòng)態(tài)測(cè)試報(bào)告時(shí),會(huì)依據(jù)絕對(duì)偏移分析的結(jié)果,判斷寄存器數(shù)據(jù)是否在預(yù)期的內(nèi)存范圍內(nèi)變化,是否存在異常的偏移情況,從而評(píng)估ECU固件是否存在潛在的錯(cuò)誤或風(fēng)險(xiǎn),最終生成包含測(cè)試結(jié)果、問(wèn)題分析以及建議的動(dòng)態(tài)測(cè)試報(bào)告。[0065]在一種可能的實(shí)現(xiàn)方式中,S400,基于相關(guān)寄存器的數(shù)值變化數(shù)據(jù)對(duì)目標(biāo)ECU進(jìn)行S410,基于相關(guān)寄存器的數(shù)值變化數(shù)據(jù)進(jìn)行位置偏移量計(jì)算,得到相關(guān)寄存器的內(nèi)存保護(hù)單元的絕對(duì)偏移量數(shù)據(jù)。[0066]可以理解,可以采用地址偏移計(jì)算算法,根據(jù)相關(guān)寄存器的數(shù)值變化以及目標(biāo)ECU的內(nèi)存映射規(guī)則,計(jì)算出內(nèi)存保護(hù)單元的絕對(duì)偏移量。例如,如果寄存器的值表示內(nèi)存地址的偏移,且已知內(nèi)存保護(hù)單元的基準(zhǔn)地址,那么將寄存器的變化值與基準(zhǔn)地址進(jìn)行運(yùn)算(如相加或相減),得到絕對(duì)偏移量數(shù)據(jù)。絕對(duì)偏移量反映了相關(guān)寄存器所指向的內(nèi)存位置在內(nèi)存空間中的實(shí)際偏移情況。[0067]S420,獲取相關(guān)寄存器的內(nèi)存保護(hù)單元的內(nèi)存基地址。[0068]可以理解,內(nèi)存基地址是內(nèi)存保護(hù)單元所管理內(nèi)存區(qū)域的起始地址。獲取內(nèi)存基地址的方式可以從目標(biāo)ECU的系統(tǒng)配置信息中讀取,這些配置信息可能存儲(chǔ)在特定的內(nèi)存區(qū)域或由模擬環(huán)境的初始化參數(shù)設(shè)定。也可以通過(guò)解析目標(biāo)ECU的啟動(dòng)代碼或相關(guān)的配置文件,從中提取出內(nèi)存保護(hù)單元的內(nèi)存基地址信息,為后續(xù)計(jì)算絕對(duì)起始地址提供基礎(chǔ)數(shù)[0069]S430,根據(jù)內(nèi)存保護(hù)單元的絕對(duì)偏移量數(shù)據(jù)和內(nèi)存基地址計(jì)算絕對(duì)起始地址,確定目標(biāo)ECU固件的動(dòng)態(tài)測(cè)試報(bào)告。[0070]可以理解,可以通過(guò)將絕對(duì)偏移量數(shù)據(jù)與內(nèi)存基地址相加,得到內(nèi)存保護(hù)單元中相關(guān)數(shù)據(jù)的絕對(duì)起始地址??梢愿鶕?jù)絕對(duì)起始地址,分析目標(biāo)ECU固件在運(yùn)行過(guò)程中對(duì)內(nèi)存的訪(fǎng)問(wèn)是否合法、是否存在越界等異常情況。若存在異常,將異常信息記錄在動(dòng)態(tài)測(cè)試報(bào)告正常,從而完成動(dòng)態(tài)測(cè)試報(bào)告的確定。[0071]可選地,S430,根據(jù)內(nèi)存保護(hù)單元的絕對(duì)偏移量數(shù)據(jù)和內(nèi)存基地址計(jì)算絕對(duì)起始S431,將內(nèi)存保護(hù)單元的絕對(duì)偏移量數(shù)據(jù)和內(nèi)存基地址進(jìn)行相加,得到內(nèi)存保護(hù)單元的對(duì)應(yīng)配置數(shù)據(jù)。[0072]可以理解,可以加法運(yùn)算算法,將計(jì)算得到的絕對(duì)偏移量數(shù)據(jù)與獲取的內(nèi)存基地址進(jìn)行相加操作。得到的結(jié)果即為內(nèi)存保護(hù)單元中相關(guān)數(shù)據(jù)的對(duì)應(yīng)配置數(shù)據(jù),其表示了在內(nèi)存中的實(shí)際位置配置信息,為后續(xù)分析內(nèi)存訪(fǎng)問(wèn)情況提供關(guān)鍵數(shù)據(jù)。[0073]S432,根據(jù)內(nèi)存保護(hù)單元的對(duì)應(yīng)配置數(shù)據(jù)進(jìn)行異常風(fēng)險(xiǎn)分析,確定目標(biāo)ECU固件的動(dòng)態(tài)測(cè)試報(bào)告。[0074]可以理解,可以采用邊界檢查算法,將對(duì)應(yīng)配置數(shù)據(jù)與內(nèi)存保護(hù)單元設(shè)定的邊界范圍進(jìn)行比較。若配置數(shù)據(jù)超出了合法的內(nèi)存范圍,則判定為存在內(nèi)存越界風(fēng)險(xiǎn),記錄在動(dòng)態(tài)測(cè)試報(bào)告中。同時(shí),還可以檢查配置數(shù)據(jù)所對(duì)應(yīng)的內(nèi)存區(qū)域的訪(fǎng)問(wèn)權(quán)限,若當(dāng)前操作的權(quán)限與配置的權(quán)限不匹配,也記錄為異常情況。根據(jù)異常風(fēng)險(xiǎn)分析結(jié)果,生成包含詳細(xì)問(wèn)題描述和風(fēng)險(xiǎn)等級(jí)的動(dòng)態(tài)測(cè)試報(bào)告,為評(píng)估目標(biāo)ECU固件的質(zhì)量和穩(wěn)定性提供依據(jù),從而縮短開(kāi)發(fā)測(cè)試周期,減少對(duì)稀缺資源和實(shí)際硬件的依賴(lài)。此外,通過(guò)動(dòng)態(tài)模擬方法,開(kāi)發(fā)人員可以隨時(shí)觀(guān)察和修改內(nèi)存變量甚至硬件狀態(tài),極大提升工作效率。[0075]對(duì)應(yīng)于上文實(shí)施例的車(chē)載ECU固件的動(dòng)態(tài)模擬方法,本申請(qǐng)實(shí)施例還提供了一種車(chē)載ECU固件的動(dòng)態(tài)模擬系統(tǒng),該系統(tǒng)的各個(gè)單元可以實(shí)現(xiàn)車(chē)載ECU固件的動(dòng)態(tài)模擬方法的各個(gè)步驟。圖5示出了本申請(qǐng)實(shí)施例提供的車(chē)載ECU固件的動(dòng)態(tài)模擬系統(tǒng)的結(jié)構(gòu)框圖,為了便于說(shuō)明,僅示出了與本申請(qǐng)實(shí)施例相關(guān)的部分。[0076]參照?qǐng)D5,該車(chē)載ECU固件的動(dòng)態(tài)模擬系統(tǒng)包括:定制單元,用于對(duì)所述目標(biāo)ECU的所述固件數(shù)據(jù)進(jìn)行指令翻譯,確定所述目標(biāo)ECU對(duì)應(yīng)的模擬定制參數(shù);其中,所述模擬定制參數(shù)用于對(duì)所述目標(biāo)ECU進(jìn)行架構(gòu)適配;模擬單元,用于根據(jù)所述模擬定制參數(shù)對(duì)所述目標(biāo)ECU的所述固件數(shù)據(jù)進(jìn)行動(dòng)態(tài)模擬,并通過(guò)預(yù)設(shè)回調(diào)函數(shù)對(duì)所述目標(biāo)ECU的相關(guān)寄存器數(shù)據(jù)進(jìn)行監(jiān)控,得到所述相關(guān)寄存器的數(shù)值變化數(shù)據(jù);結(jié)果單元,用于基于所述相關(guān)寄存器的所述數(shù)值變化數(shù)據(jù)對(duì)所述目標(biāo)ECU進(jìn)行絕[0077]需要說(shuō)明的是,上述系統(tǒng)/單元之間的信息交互、執(zhí)行過(guò)程等內(nèi)容,由于與本申請(qǐng)方法實(shí)施例基于同一構(gòu)思,其具體功能及帶來(lái)的技術(shù)效果,具體可參見(jiàn)方法實(shí)施例部分,此處不再贅述。[0078]所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為了描述的方便和簡(jiǎn)潔,僅以上述各功能單元、模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能單元、模塊完成,即將所述系統(tǒng)的內(nèi)部結(jié)構(gòu)劃分成不同的功能單元或模塊,以完成以上描述的全部或者部分功能。實(shí)施例中的各功能單元、模塊可以集成在一個(gè)處理單元中,也可以是各個(gè)單元模塊單獨(dú)物理存在,也可以?xún)蓚€(gè)或兩個(gè)以上單元模塊集成在一個(gè)單元中,上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。另外,各功能單元、模塊的具體名稱(chēng)也只是為了便于相互區(qū)分,并不用于限制本申請(qǐng)的保護(hù)范圍。上述系統(tǒng)中單元、模塊的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。[0079]本申請(qǐng)實(shí)施例還提供了一種電子設(shè)備,圖6為本申請(qǐng)一實(shí)施例提供的電子設(shè)備的結(jié)構(gòu)示意圖。如圖6所示,該實(shí)施例的電子設(shè)備6包括:至少一個(gè)處理器60(圖6中僅示出一個(gè))、至少一個(gè)存儲(chǔ)器61(圖6中僅示出一個(gè))以及存儲(chǔ)在所述至少一個(gè)存儲(chǔ)器61中并可在所述至少一個(gè)處理器60上運(yùn)行的計(jì)算機(jī)程序62,所述處理器60執(zhí)行所述計(jì)算機(jī)程序62時(shí),使所述電子設(shè)備6實(shí)現(xiàn)上述任意各個(gè)車(chē)載ECU固件的動(dòng)態(tài)模擬方法實(shí)施例中的步驟,或者使所述電子設(shè)備6實(shí)現(xiàn)上述各系統(tǒng)實(shí)施例中各單元的功能。[0080]示例性地,所述計(jì)算機(jī)程序62可以被分割成一個(gè)或多個(gè)單元,所述一個(gè)或者多個(gè)單元被存儲(chǔ)在所述存儲(chǔ)器61中,并由所述處理器60執(zhí)行,以完成本申請(qǐng)。所述一個(gè)或多個(gè)單元可以是能夠完成特定功能的一系列計(jì)算機(jī)程序指令段,該指令段用于描述所述計(jì)算機(jī)程序62在所述電子設(shè)備6中的執(zhí)行過(guò)程。[0081]電子設(shè)備6可以是桌上型計(jì)算機(jī)、筆記本、掌上電腦及云端服務(wù)器等計(jì)算設(shè)備或終圖6僅僅是電子設(shè)備6的舉例,并不構(gòu)成對(duì)電子設(shè)備6的限定,可以包括比圖示更多或更少的總線(xiàn)等。[0082]所述處理器60可以是中央處理單元(CentralProcessingUnit,CPU),該處理器60還可以是其他通用處理器、數(shù)字信號(hào)處理器(DigitalSignal成電路(ApplicationSpecificIntegratedCircuit,ASIC)、現(xiàn)成可編程門(mén)陣列(Field-ProgrammableGateArray,FPGA)或者其他可編程邏輯器件、分立門(mén)或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。[0083]所述存儲(chǔ)器61在一些實(shí)施例中可以是所述電子設(shè)備6的內(nèi)部存儲(chǔ)單元,例如電子設(shè)備6的硬盤(pán)或內(nèi)存。所述存儲(chǔ)器61在另一些實(shí)施例中也可以是所述電子設(shè)備6的外部存儲(chǔ)設(shè)備,例如所述電子設(shè)備6上配備的插接式硬盤(pán),智能存儲(chǔ)卡(SmartMediaCard,SMC),安全數(shù)字(SecureDigital,SD)卡,閃存卡(FlashCard)等。進(jìn)一步地,所述存儲(chǔ)器61還可以既包括所述電子設(shè)備6的內(nèi)部存儲(chǔ)單元也包括外部存儲(chǔ)設(shè)備。所述存儲(chǔ)器61用于存儲(chǔ)操作系統(tǒng)、應(yīng)用程序、引導(dǎo)裝載程序(BootLoader)、數(shù)據(jù)以及其他程序等,例如所述計(jì)算機(jī)程序的程序代碼等。所述存儲(chǔ)器61還可以用于暫時(shí)地存儲(chǔ)已經(jīng)輸出或者將要輸出的數(shù)據(jù)。[0084]本申請(qǐng)實(shí)施例還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述任
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 大件運(yùn)輸查驗(yàn)課件
- 大專(zhuān)做課件教學(xué)課件
- 農(nóng)作物副產(chǎn)品加工與市場(chǎng)對(duì)接策略方案
- 未來(lái)教育核心題庫(kù)及答案
- 公共建筑暖通協(xié)同設(shè)計(jì)與室內(nèi)裝飾探討
- 2025年宿州學(xué)院專(zhuān)職輔導(dǎo)員公開(kāi)招聘12人模擬試卷及答案詳解(考點(diǎn)梳理)
- 多重耐藥知識(shí)培訓(xùn)總結(jié)課件
- 氫能產(chǎn)業(yè)園加氫站項(xiàng)目社會(huì)穩(wěn)定風(fēng)險(xiǎn)評(píng)估報(bào)告
- 工程項(xiàng)目中資源整合與優(yōu)化管理方案
- 2025湖南長(zhǎng)沙仲裁委員會(huì)調(diào)解員招聘100人模擬試卷及答案詳解(網(wǎng)校專(zhuān)用)
- 項(xiàng)目經(jīng)理年中會(huì)議匯報(bào)
- 2024年北控水務(wù)集團(tuán)招聘筆試真題
- 2025年盤(pán)錦市總工會(huì)面向社會(huì)公開(kāi)招聘工會(huì)社會(huì)工作者52人考試參考試題及答案解析
- 2025河北水發(fā)節(jié)水有限公司公開(kāi)招聘工作人員16人筆試參考題庫(kù)附答案解析
- 2025年秋人教版數(shù)學(xué)四年級(jí)上學(xué)期第一次月考測(cè)試卷【附答案】
- 新版中華民族共同體概論課件第十二講民族危亡與中華民族意識(shí)覺(jué)醒(1840-1919)-2025年版
- 夜間紅外成像算法優(yōu)化-洞察及研究
- 2025年全國(guó)高校輔導(dǎo)員素質(zhì)能力大賽基礎(chǔ)知識(shí)測(cè)試卷及答案(共五套)
- 酒類(lèi)釀造產(chǎn)品品質(zhì)追溯體系建設(shè)方案
- 電焊車(chē)間衛(wèi)生管理辦法
- 書(shū)店服務(wù)禮儀培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論