本申請(qǐng)涉及一種嵌入式測(cè)試的方法、裝置及系統(tǒng),特別是一種控制器芯片及其嵌入式測(cè)試的方法、裝置及系統(tǒng)。
背景技術(shù):
1、隨著芯片技術(shù)的發(fā)展,越來(lái)越多的功能模塊被集成芯片中,控制器芯片的運(yùn)算數(shù)據(jù)量越來(lái)越大,控制器芯片需要運(yùn)行的程序也越來(lái)越大,可能有幾十萬(wàn)條甚至幾百萬(wàn)條。存在以下需求:需要達(dá)到嵌入式軟件動(dòng)態(tài)白盒測(cè)試(以下簡(jiǎn)稱(chēng)軟件動(dòng)態(tài)白盒測(cè)試)的目的。
2、在現(xiàn)有的軟件動(dòng)態(tài)白盒測(cè)試過(guò)程中,采用在程序中添加代碼插樁方法(以下簡(jiǎn)稱(chēng)代碼插樁方法)來(lái)實(shí)現(xiàn)軟件動(dòng)態(tài)白盒測(cè)試。發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)在以下情況存在不足:1.在程序中插樁需要占用控制器芯片中處理器運(yùn)行資源,運(yùn)行以前的相同功能代碼時(shí)間更長(zhǎng),可能會(huì)引入其他意外情況,增加測(cè)試難度而且效率很低;2.在程序中插樁需要添加代碼,這些額外的代碼使程序本身長(zhǎng)度變長(zhǎng),以前的程序地址就發(fā)生變化,在程序中調(diào)用這些程序絕對(duì)地址會(huì)有意外情況,增加測(cè)試難度;3.在現(xiàn)有的軟件測(cè)試中,程序黑盒測(cè)試及樣機(jī)測(cè)試和軟件動(dòng)態(tài)白盒測(cè)試無(wú)法同時(shí)進(jìn)行,測(cè)試效率不高。
技術(shù)實(shí)現(xiàn)思路
1、為了解決現(xiàn)有的軟件動(dòng)態(tài)白盒測(cè)試效率很低,測(cè)試難度大并且可能因增加代碼引起程序出錯(cuò)。本申請(qǐng)?zhí)峁┮环N嵌入式測(cè)試的方法、裝置及系統(tǒng)。所述方法如下:
2、通過(guò)信息監(jiān)測(cè)模塊監(jiān)測(cè)處理功能單元訪問(wèn)存儲(chǔ)器的程序地址值,信息監(jiān)測(cè)模塊為設(shè)置于處理功能單元之外的硬件單元;
3、將程序地址值存儲(chǔ)到存儲(chǔ)單元中和/或者將程序地址值輸出。
4、進(jìn)一步地,在將程序地址值存儲(chǔ)到存儲(chǔ)單元中和/或者將程序地址值輸出之前,方法還包括:判斷存儲(chǔ)單元中是否已經(jīng)存儲(chǔ)了程序地址值;
5、如果存儲(chǔ)單元中已經(jīng)存儲(chǔ)了程序地址值,程序結(jié)束;
6、如果存儲(chǔ)單元中沒(méi)有存儲(chǔ)程序地址值,將程序地址值存儲(chǔ)到存儲(chǔ)單元中和/或者將程序地址值輸出。
7、進(jìn)一步地,處理功能單元包括以下之一:
8、處理器;
9、處理器內(nèi)部的處理單元。
10、進(jìn)一步地,監(jiān)測(cè)處理功能單元訪問(wèn)存儲(chǔ)器的程序地址值通過(guò)監(jiān)測(cè)芯片總線上的程序地址來(lái)實(shí)現(xiàn)。
11、一種嵌入式測(cè)試的裝置,包括:
12、信息監(jiān)測(cè)模塊,信息監(jiān)測(cè)模塊用于監(jiān)測(cè)處理功能單元訪問(wèn)存儲(chǔ)器的程序地址值,信息監(jiān)測(cè)模塊為設(shè)置于處理功能單元之外的硬件單元;
13、處理模塊,處理模塊用于將程序地址值存儲(chǔ)到存儲(chǔ)單元中和/或者將程序地址值輸出。
14、進(jìn)一步地,還包括:
15、比較模塊,比較模塊用于,在將程序地址值存儲(chǔ)到存儲(chǔ)單元中和/或者將程序地址值輸出之前,判斷存儲(chǔ)單元中是否已經(jīng)存儲(chǔ)了程序地址值,
16、如果存儲(chǔ)單元中已經(jīng)存儲(chǔ)了程序地址值,程序結(jié)束;
17、如果存儲(chǔ)單元中沒(méi)有存儲(chǔ)程序地址值,將程序地址值存儲(chǔ)到存儲(chǔ)單元中和/或者將程序地址值輸出。
18、進(jìn)一步地,處理功能單元包括以下之一:
19、處理器;
20、處理器內(nèi)部的處理單元。
21、進(jìn)一步地,監(jiān)測(cè)處理功能單元訪問(wèn)存儲(chǔ)器的程序地址值通過(guò)監(jiān)測(cè)芯片總線上的程序地址來(lái)實(shí)現(xiàn)。
22、一種嵌入式測(cè)試的系統(tǒng),包括上述任一項(xiàng)所述嵌入式測(cè)試的裝置,所述嵌入式測(cè)試的系統(tǒng)還包括嵌入式軟件、處理功能單元、存儲(chǔ)器、存儲(chǔ)單元和終端,所述嵌入式軟件在所述存儲(chǔ)器中,嵌入式測(cè)試的裝置用于監(jiān)測(cè)處理功能單元訪問(wèn)存儲(chǔ)器的程序地址值,將存儲(chǔ)器的程序地址值存儲(chǔ)到存儲(chǔ)單元中,通過(guò)終端讀出存儲(chǔ)器的程序地址值,或者將存儲(chǔ)器的程序地址值輸出到終端。
23、本申請(qǐng)方法使用信息監(jiān)測(cè)模塊(設(shè)置于處理功能單元之外的專(zhuān)用硬件單元)來(lái)監(jiān)測(cè)處理功能單元訪問(wèn)存儲(chǔ)器的程序地址值,將程序地址值存儲(chǔ)到存儲(chǔ)單元中和/或者將程序地址值輸出,無(wú)需在程序中添加代碼,額外占用處理功能單元運(yùn)行資源。信息監(jiān)測(cè)模塊獨(dú)立于處理功能單元工作;信息監(jiān)測(cè)模塊和處理功能單元并行工作。
24、軟件測(cè)試(嵌入式軟件測(cè)試的簡(jiǎn)稱(chēng),以下均同)中的動(dòng)態(tài)白盒測(cè)試主要是測(cè)試和判斷被執(zhí)行過(guò)的程序,即判斷程序中處理功能單元執(zhí)行過(guò)的指令,這些指令對(duì)應(yīng)著處理功能單元執(zhí)行過(guò)的指令對(duì)應(yīng)的程序地址,所以,本申請(qǐng)通過(guò)信息監(jiān)測(cè)模塊監(jiān)測(cè)、存儲(chǔ)和/或者輸出處理功能單元訪問(wèn)存儲(chǔ)器的程序地址值,就可以判斷被執(zhí)行過(guò)的程序,達(dá)到了動(dòng)態(tài)白盒測(cè)試的目的。
25、相對(duì)于現(xiàn)有動(dòng)態(tài)白盒測(cè)試中采用的代碼插樁方法,本申請(qǐng)采用信息監(jiān)測(cè)模塊從外部進(jìn)行檢測(cè),至少帶來(lái)以下有益效果:
26、1.使用現(xiàn)有的代碼插樁方法需要添加額外代碼,這些代碼需要額外占用處理功能單元運(yùn)行資源,使得添加額外代碼后程序每個(gè)任務(wù)處理運(yùn)行的時(shí)間會(huì)變長(zhǎng),就像處理器處理速度變慢了;加入的這些代碼后還可能會(huì)導(dǎo)致與現(xiàn)有程序產(chǎn)生一些問(wèn)題和沖突,會(huì)導(dǎo)致程序運(yùn)行不正常。而本申請(qǐng)無(wú)需改動(dòng)源程序,使用設(shè)置于處理功能單元之外的信息監(jiān)測(cè)模塊(硬件單元),即使用了獨(dú)立于源程序之外的信息監(jiān)測(cè)模塊對(duì)源程序進(jìn)行監(jiān)測(cè),相對(duì)于現(xiàn)有的代碼插樁方法,程序運(yùn)行每個(gè)任務(wù)處理的時(shí)間沒(méi)有發(fā)生變化,處理器處理速度不發(fā)生改變。
27、2.同時(shí),使用現(xiàn)有的代碼插樁方法需要添加額外代碼,加入的這些代碼后使得代碼長(zhǎng)度發(fā)生了變化,使得有些程序存儲(chǔ)地址和以前發(fā)生變化,程序中有訪問(wèn)這些程序絕對(duì)地址的情況時(shí),導(dǎo)致程序無(wú)法正常運(yùn)行,為保證添加額外代碼后的程序正常運(yùn)行,需要對(duì)加入這些代碼后的程序進(jìn)一步的調(diào)整,這會(huì)進(jìn)一步增加程序的復(fù)雜性和出錯(cuò)的可能性。而本申請(qǐng)通過(guò)設(shè)置于處理功能單元之外的硬件單元,即使用了獨(dú)立于源程序之外的其他單元(也就是硬件)對(duì)源程序進(jìn)行監(jiān)測(cè),無(wú)需改動(dòng)源程序,存儲(chǔ)或者輸出不會(huì)因檢測(cè)受到任何影響,可以完全避免現(xiàn)有的代碼插樁方法引起的程序復(fù)雜化,也避免了現(xiàn)有的代碼插樁方法導(dǎo)致的程序出錯(cuò)問(wèn)題。
28、3.由于無(wú)需修改程序,在程序黑盒測(cè)試及樣機(jī)測(cè)試中,也可以采用本申請(qǐng)同時(shí)進(jìn)行軟件動(dòng)態(tài)白盒測(cè)試,相對(duì)于現(xiàn)有的測(cè)試方法,進(jìn)一步極大地提高了測(cè)試效率、研發(fā)效率和生產(chǎn)效率。
29、現(xiàn)有的代碼插樁方法是基于軟件測(cè)試和嵌入式軟件設(shè)計(jì)(以下簡(jiǎn)稱(chēng)“軟件設(shè)計(jì)”)結(jié)合的方法,本申請(qǐng)的方法是將芯片設(shè)計(jì)及應(yīng)用(硬件設(shè)計(jì))、軟件測(cè)試和軟件設(shè)計(jì)結(jié)合在一起的方法。在以前軟件測(cè)試和軟件設(shè)計(jì)基礎(chǔ)上,本申請(qǐng)創(chuàng)新性引入硬件單元監(jiān)測(cè)方法,在同樣效果的情況下,極大地提高了測(cè)試效率、研發(fā)效率和生產(chǎn)效率。
1.一種嵌入式測(cè)試的方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的嵌入式測(cè)試的方法,其特征在于,在將所述程序地址值存儲(chǔ)到存儲(chǔ)單元中和/或者將所述程序地址值輸出之前,所述嵌入式測(cè)試的方法還包括:判斷存儲(chǔ)單元中是否已經(jīng)存儲(chǔ)了所述程序地址值;
3.根據(jù)權(quán)利要求1所述的嵌入式測(cè)試的方法,其特征在于,所述處理功能單元包括以下之一:
4.根據(jù)權(quán)利要求1所述的嵌入式測(cè)試的方法,其特征在于,所述監(jiān)測(cè)處理功能單元訪問(wèn)存儲(chǔ)器的程序地址值通過(guò)監(jiān)測(cè)芯片總線上的程序地址來(lái)實(shí)現(xiàn)。
5.一種嵌入式測(cè)試的裝置,其特征在于,包括:
6.根據(jù)權(quán)利要求5所述的嵌入式測(cè)試的裝置,其特征在于,還包括:
7.根據(jù)權(quán)利要求5所述的嵌入式測(cè)試的裝置,其特征在于,所述處理功能單元包括以下之一:
8.根據(jù)權(quán)利要求5所述的嵌入式測(cè)試的裝置,其特征在于,所述監(jiān)測(cè)處理功能單元訪問(wèn)存儲(chǔ)器的程序地址值通過(guò)監(jiān)測(cè)芯片總線上的程序地址來(lái)實(shí)現(xiàn)。
9.一種嵌入式測(cè)試的系統(tǒng),其特征在于,包括權(quán)利要求5~8任一項(xiàng)所述嵌入式測(cè)試的裝置,所述嵌入式測(cè)試的系統(tǒng)還包括嵌入式軟件、處理功能單元、存儲(chǔ)器、存儲(chǔ)單元和終端,所述嵌入式軟件在所述存儲(chǔ)器中,所述嵌入式測(cè)試的裝置用于監(jiān)測(cè)處理功能單元訪問(wèn)所述存儲(chǔ)器的程序地址值,將所述存儲(chǔ)器的程序地址值存儲(chǔ)到存儲(chǔ)單元中,通過(guò)終端讀出所述存儲(chǔ)器的程序地址值,或者將所述存儲(chǔ)器的程序地址值輸出到終端。