一種嵌入式系統(tǒng)調(diào)試方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及嵌入式系統(tǒng)領(lǐng)域,尤其涉及一種僅在處理器上維護(hù)數(shù)據(jù)接口的調(diào)試方法。
【背景技術(shù)】
[0002]通常嵌入式系統(tǒng)的調(diào)試基于請(qǐng)求6響應(yīng)模式,即由位于調(diào)試主機(jī)上的調(diào)試工具與位于板卡或設(shè)備上的處理器按如下步驟完成:
調(diào)試工具向處理器發(fā)送約定數(shù)據(jù)接口格式為A的請(qǐng)求命令;
處理器在收到請(qǐng)求命令后,向調(diào)試工具發(fā)送約定數(shù)據(jù)接口格式為B的數(shù)據(jù);
調(diào)試工具在收到數(shù)據(jù)接口格式為B的數(shù)據(jù)后,按格式B進(jìn)行解析并進(jìn)行呈現(xiàn)。
[0003]在圖2所示的約定數(shù)據(jù)接口的調(diào)試模型中,如果處理器修改數(shù)據(jù)接口,則需要調(diào)測(cè)工具進(jìn)行修改相應(yīng)的數(shù)據(jù)接口,而后再由處理器與調(diào)測(cè)工具共同驗(yàn)證此次修改。其流程如下:
步驟S21:在處理器上修改數(shù)據(jù)接口 ;
步驟S22:在調(diào)試工具上修改數(shù)據(jù)接口 ;
步驟S23:由調(diào)試工具與處理器共同驗(yàn)證修改的數(shù)據(jù)接口 ;
步驟S24:驗(yàn)證通過(guò)后發(fā)布修改。
[0004]上述調(diào)試方法存在如下問(wèn)題:
需要處理器與調(diào)試工具共同維護(hù)對(duì)應(yīng)的數(shù)據(jù)接口,增加了開(kāi)發(fā)約束,并且當(dāng)數(shù)據(jù)接口的數(shù)量較大時(shí),也會(huì)增加數(shù)據(jù)接口一致性的維護(hù)工作量;
在處理器對(duì)數(shù)據(jù)接口進(jìn)行修改后,必須要調(diào)試工具也進(jìn)行相應(yīng)修改,并且需要兩方共同進(jìn)行驗(yàn)證,增加了開(kāi)發(fā)的工作量,也降低了開(kāi)發(fā)效率。
[0005]針對(duì)上述問(wèn)題,本發(fā)明提出了一種更為靈活的嵌入式系統(tǒng)調(diào)試方法,只需要在處理器上維護(hù)數(shù)據(jù)接口,減少了處理器與調(diào)試工具開(kāi)發(fā)的依賴性,提高了開(kāi)發(fā)效率。
【發(fā)明內(nèi)容】
[0006]為解決現(xiàn)有技術(shù)中存在的上述問(wèn)題,本發(fā)明實(shí)施例提供了一種嵌入式系統(tǒng)調(diào)試方法,方法包括:
處理器上的軟件模塊通過(guò)調(diào)用數(shù)據(jù)接口注冊(cè)函數(shù),向調(diào)試代理注冊(cè)數(shù)據(jù)接口,并由調(diào)試代理進(jìn)行記錄;
調(diào)試工具在獲取處理器上的數(shù)據(jù)接口之前,需要與處理器建立通信連接;
調(diào)試工具向處理器下發(fā)命令,請(qǐng)求處理器上傳數(shù)據(jù)接口列表;
處理器上的調(diào)試代理將當(dāng)前已經(jīng)注冊(cè)的數(shù)據(jù)接口連續(xù)發(fā)送給調(diào)試工具,由調(diào)試工具以列表的形式呈現(xiàn)在軟件上;
當(dāng)調(diào)試工具的使用者在軟件界面上選擇某個(gè)數(shù)據(jù)接口后,調(diào)試工具下發(fā)命令,向處理器請(qǐng)求具體的數(shù)據(jù)接口內(nèi)容;處理器將數(shù)據(jù)接口的內(nèi)容及其附加信息按固定的格式上傳給測(cè)試工具;
調(diào)試工具按接收的數(shù)據(jù)接口進(jìn)行數(shù)據(jù)解析并進(jìn)行呈現(xiàn);
調(diào)試代理記錄了所有已注冊(cè)的數(shù)據(jù)接口,為每一個(gè)數(shù)據(jù)接口生成一個(gè)惟一的ID ;
調(diào)試代理記錄了如下信息,包括:
數(shù)據(jù)接口所屬的模塊名稱;
數(shù)據(jù)接口的生成函數(shù)入口;
數(shù)據(jù)接口的屬性;
數(shù)據(jù)接口的參數(shù):描述信息、提示信息、參數(shù)的類型與存儲(chǔ)寬度。
[0007]數(shù)據(jù)接口的生成函數(shù)中,使用表格、樹(shù)狀結(jié)構(gòu),或者表格與樹(shù)狀結(jié)構(gòu)的結(jié)合,生成復(fù)雜的數(shù)據(jù)接口。
[0008]數(shù)據(jù)接口在內(nèi)存中創(chuàng)建一個(gè)數(shù)據(jù)內(nèi)容為空的數(shù)據(jù)結(jié)構(gòu),并且記錄此結(jié)構(gòu)的描述信息,包含結(jié)構(gòu)的樹(shù)枝級(jí)別、列的數(shù)量、列的名稱、描述信息、存儲(chǔ)寬度、數(shù)據(jù)指針。
[0009]調(diào)測(cè)工具存儲(chǔ)了數(shù)據(jù)接口名稱以及處理器上的調(diào)試代理為其分配的惟一 ID,調(diào)測(cè)工具主要在請(qǐng)求數(shù)據(jù)接口的命令中指定此ID,從而在處理器的調(diào)試代理中調(diào)用相應(yīng)的數(shù)據(jù)接口生成函數(shù)。
[0010]數(shù)據(jù)接口生成函數(shù)更新結(jié)構(gòu)中的數(shù)據(jù)內(nèi)容,并且將整個(gè)數(shù)據(jù)結(jié)構(gòu)上傳至調(diào)測(cè)工具,由調(diào)測(cè)工具進(jìn)行呈現(xiàn)。
[0011]本發(fā)明實(shí)施例,采用一種只需要在處理器上維護(hù)數(shù)據(jù)接口的方法,提供了一種更為靈活的嵌入式系統(tǒng)調(diào)試方法,減少了處理器與調(diào)試工具開(kāi)發(fā)的依賴性,提高了開(kāi)發(fā)效率。
【附圖說(shuō)明】
[0012]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0013]圖1為嵌入式系統(tǒng)通常調(diào)試接口的示意圖;
圖2為嵌入式系統(tǒng)通常調(diào)試接口修改的示意圖;
圖3為本發(fā)明的嵌入式系統(tǒng)通常調(diào)試接口修改的示意圖;
圖4為本發(fā)明的嵌入式系統(tǒng)調(diào)試方法的第一實(shí)施例示意圖。
【具體實(shí)施方式】
[0014]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0015]圖4,是本發(fā)明的一種嵌入式系統(tǒng)調(diào)試方法的第一實(shí)施例的流程示意圖,該方法包括:
步驟S11:處理器上的軟件模塊向調(diào)試代理注冊(cè)數(shù)據(jù)接口。
[0016]本步驟中,處理器上的軟件向處理器上運(yùn)行的調(diào)試代理注冊(cè)其數(shù)據(jù)接口,由調(diào)試代理記錄以下信息:
數(shù)據(jù)接口所屬的模塊名稱;
數(shù)據(jù)接口的生成函數(shù)入口;
數(shù)據(jù)接口的屬性;
數(shù)據(jù)接口的參數(shù):如描述信息、提示信息、參數(shù)的類型與存儲(chǔ)寬度;
調(diào)試代理記錄了所有已注冊(cè)的數(shù)據(jù)接口,為每一個(gè)數(shù)據(jù)接口生成一個(gè)惟一的ID。
[0017]步驟S12:調(diào)試工具與處理器建立連接。
[0018]本步驟中,調(diào)試工具與處理器上的調(diào)試代理建立數(shù)據(jù)通信的連接,連接的通信方式可以是多種多樣的,如以太網(wǎng)。
[0019]步驟S13:調(diào)試工具向處理器請(qǐng)求數(shù)據(jù)接口列表。
[0020]本步驟中,調(diào)試工具向處理器上的調(diào)試代理查詢數(shù)據(jù)接口列表。
[0021]步驟S14:處理器上傳數(shù)據(jù)接口列表。
[0022]本步驟中,處理器上的調(diào)試代理接收到來(lái)自調(diào)試工具的查詢請(qǐng)求后,將處理器上已經(jīng)注冊(cè)的調(diào)試接口信息回復(fù)給調(diào)試工具;
所述調(diào)試代理回復(fù)的信息包括數(shù)據(jù)接口的描述信息、提示信息、參數(shù)的類型與存儲(chǔ)寬度。
[0023]步驟S15:調(diào)試工具請(qǐng)求指定的數(shù)據(jù)接口內(nèi)容。
[0024]本步驟中,調(diào)測(cè)工具存儲(chǔ)了數(shù)據(jù)接口名稱以及處理器上的調(diào)試代理為其分配的惟一 ID ;
調(diào)測(cè)工具主要在請(qǐng)求數(shù)據(jù)接口的命令中指定此ID,從而在處理器的調(diào)試代理中調(diào)用相應(yīng)的數(shù)據(jù)接口生成函數(shù)。
[0025]步驟S16:處理器回復(fù)所請(qǐng)求數(shù)據(jù)接口的內(nèi)容。
[0026]本步驟中,數(shù)據(jù)接口生成函數(shù)更新結(jié)構(gòu)中的數(shù)據(jù)內(nèi)容,并且將整個(gè)數(shù)據(jù)結(jié)構(gòu)上傳至調(diào)測(cè)工具。
[0027]所述調(diào)試代理回復(fù)的消息包括:
數(shù)據(jù)接口所屬的模塊名稱;
數(shù)據(jù)接口的生成函數(shù)入口;
數(shù)據(jù)接口的屬性;
數(shù)據(jù)接口的參數(shù),如描述信息、提示信息、參數(shù)的類型與存儲(chǔ)寬度;
步驟S17:調(diào)試工具進(jìn)行可視化呈現(xiàn)。
[0028]本步驟中,調(diào)試工具將接收到的數(shù)據(jù)進(jìn)行可視化呈現(xiàn),從而方便開(kāi)發(fā)人員直觀的分析處理器的運(yùn)行狀態(tài)或問(wèn)題。
[0029]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用于限定本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種嵌入式系統(tǒng)調(diào)試方法,其特征在于,所述方法包括: 處理器上的軟件模塊通過(guò)調(diào)用數(shù)據(jù)接口注冊(cè)函數(shù),向調(diào)試代理注冊(cè)數(shù)據(jù)接口,并由調(diào)試代理進(jìn)行記錄; 調(diào)試工具在獲取處理器上的數(shù)據(jù)接口之前,建立與處理器的通信連接; 調(diào)試工具向處理器下發(fā)命令,請(qǐng)求處理器上傳數(shù)據(jù)接口列表; 處理器上的調(diào)試代理將當(dāng)前已經(jīng)注冊(cè)的數(shù)據(jù)接口發(fā)送給調(diào)試工具; 調(diào)試工具將接收到的數(shù)據(jù)接口以列表的形式呈現(xiàn)在工具上; 調(diào)試工具的使用者在軟件界面上選擇某個(gè)數(shù)據(jù)接口后,調(diào)試工具下發(fā)命令,向處理器上的調(diào)試代理請(qǐng)求具體的數(shù)據(jù)接口內(nèi)容; 處理器將數(shù)據(jù)接口的內(nèi)容及其附加信息上傳給測(cè)試工具; 調(diào)試工具按接收的數(shù)據(jù)接口進(jìn)行數(shù)據(jù)解析并進(jìn)行呈現(xiàn)。2.如權(quán)利要求1所述的方法,其特征在于,所述調(diào)試代理記錄了所有已注冊(cè)的數(shù)據(jù)接口,并為每一個(gè)數(shù)據(jù)接口生成一個(gè)惟一的ID ; 所述調(diào)測(cè)工具向調(diào)試代理請(qǐng)求時(shí),調(diào)試代理將信息上傳給調(diào)測(cè)工具。3.如權(quán)利要求1所述的方法,其特征在于,所述調(diào)試代理記錄的信息包括: 數(shù)據(jù)接口所屬的模塊名稱; 數(shù)據(jù)接口的生成函數(shù)入口; 數(shù)據(jù)接口的屬性; 數(shù)據(jù)接口的參數(shù),如描述信息、提示信息、參數(shù)的類型與存儲(chǔ)寬度。4.如權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)接口的生成函數(shù)中,使用表格、樹(shù)狀結(jié)構(gòu),或者表格與樹(shù)狀結(jié)構(gòu)的結(jié)合,生成數(shù)據(jù)接口。5.如權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)接口在內(nèi)存中創(chuàng)建一個(gè)數(shù)據(jù)內(nèi)容為空的數(shù)據(jù)結(jié)構(gòu),并且記錄此結(jié)構(gòu)的描述信息,包含結(jié)構(gòu)的樹(shù)枝級(jí)別、列的數(shù)量、列的名稱、描述信息、存儲(chǔ)寬度、數(shù)據(jù)指針。6.如權(quán)利要求1所述的方法,其特征在于,所述調(diào)測(cè)工具存儲(chǔ)了數(shù)據(jù)接口名稱以及處理器上的調(diào)試代理為其分配的惟一 ID,調(diào)測(cè)工具在請(qǐng)求數(shù)據(jù)接口的命令中指定此ID,從而在處理器的調(diào)試代理中調(diào)用相應(yīng)的數(shù)據(jù)接口生成函數(shù)。7.如權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)接口生成函數(shù)更新結(jié)構(gòu)中的數(shù)據(jù)內(nèi)容,并且將整個(gè)數(shù)據(jù)結(jié)構(gòu)上傳至調(diào)測(cè)工具,由調(diào)測(cè)工具進(jìn)行呈現(xiàn)。
【專利摘要】本發(fā)明涉及嵌入式系統(tǒng)領(lǐng)域,提供了一種僅需要在處理器上維護(hù)數(shù)據(jù)接口的調(diào)試方法,減少了處理器與調(diào)試工具開(kāi)發(fā)的依賴性,提高了開(kāi)發(fā)效率。
【IPC分類】G06F11/36
【公開(kāi)號(hào)】CN104899145
【申請(qǐng)?zhí)枴緾N201510344402
【發(fā)明人】何宗彬, 唐杰
【申請(qǐng)人】成都彬鴻科技有限公司
【公開(kāi)日】2015年9月9日
【申請(qǐng)日】2015年6月20日