本發(fā)明涉及設(shè)備調(diào)試領(lǐng)域,尤其涉及一種嵌入式設(shè)備的調(diào)試方法和調(diào)試裝置。
背景技術(shù):
目前針對沒有運行Linux操作系統(tǒng)的資源有限型嵌入式設(shè)備,如嵌入式單片機的軟件,其調(diào)試方法主要有以下幾種:
1)通過硬件增加幾個LED指示燈,利用LED指示燈來觀察和診斷程序運行的狀態(tài)、時序和邏輯;
2)通過Jlink或Stlink這類的仿真器,進行在線設(shè)置斷點調(diào)試;
3)通過串口打印調(diào)試信息。
但上述調(diào)試方法存在如下缺陷:
1)若采用通過硬件增加LED指示燈來觀察和診斷程序運行的狀態(tài)的方式來進行調(diào)試,則只能用于非常簡單的功能調(diào)試,很難應(yīng)付復(fù)雜的功能和邏輯軟件調(diào)試需求;
2)若采用Jlink或Stlink這類仿真器進行在線設(shè)置斷點調(diào)試,則難以對隨機發(fā)生的異常情況進行判斷處理,同時,因為上述仿真器支持斷點的數(shù)量都很有限,因此使用上述仿真器進行斷點調(diào)試只能適用于對某塊代碼針對性非常強的指定范圍代碼,適用范圍有限。此外,因為上述仿真器要跟進程序運行狀態(tài)和地址,因此會對運行速度產(chǎn)生一定的影響,從而經(jīng)常導(dǎo)致仿真時正常,而實際全速運行時就出現(xiàn)異常的情況發(fā)生。
4)通過串口打印調(diào)試信息來進行調(diào)試的方式中,一般常用串口最高波特率是115200,其發(fā)送的最高速度跟CPU運行速率比較還是太慢,若沒有處理好串口的發(fā)送處理,則會影響系統(tǒng)的運行速度。其次是很多嵌入式設(shè)備本身需要很多個串口用來跟外部進行通信,若因調(diào)試需要再劃分一個串口用于調(diào)試,其串口資源就更緊張,不利于資源的配置和利用。
因此,有必要提供一種新的嵌入式設(shè)備的調(diào)試方法和調(diào)試裝置,使其能兼顧上述三種調(diào)試方式的優(yōu)點,同時解決上述三種調(diào)試方式的缺陷,易于操作,且可節(jié)省大量的程序開發(fā)調(diào)試時間和調(diào)試成本。
技術(shù)實現(xiàn)要素:
針對上述現(xiàn)有技術(shù)中的問題,本發(fā)明提供了一種運用于沒有運行Linux操作系統(tǒng)的并具備TCP/IP網(wǎng)絡(luò)通信功能的資源有限型嵌入式設(shè)備的調(diào)試方法和調(diào)試裝置,使其能兼顧現(xiàn)有調(diào)試方式的優(yōu)點,同時解決現(xiàn)有調(diào)試方式的缺陷,易于操作,且可節(jié)省大量的程序開發(fā)調(diào)試時間和調(diào)試成本。
本發(fā)明就上述技術(shù)問題而提出的技術(shù)方案如下:
一方面,提供一種嵌入式設(shè)備的調(diào)試方法,包括如下步驟:
S1、用戶確定用于調(diào)試所述嵌入式設(shè)備的調(diào)試信息,并將所述調(diào)試信息通過輸入單元輸入至待調(diào)試的嵌入式設(shè)備中;
S2、所述待調(diào)試的嵌入式設(shè)備中的調(diào)試信息網(wǎng)絡(luò)接收單元接收所述調(diào)試信息并輸出;
S3、所述待調(diào)試的嵌入式設(shè)備中的調(diào)試信息網(wǎng)絡(luò)加工單元接收所述調(diào)試信息網(wǎng)絡(luò)接收單元輸出的調(diào)試信息,對所述調(diào)試信息進行加工后輸出。
優(yōu)選的,步驟S3中,對所述調(diào)試信息進行加工包括:對所述調(diào)試信息附加額外信息。
優(yōu)選的,所述調(diào)試信息網(wǎng)絡(luò)加工單元對所述調(diào)試信息附加額外信息后,將附加有額外信息的調(diào)試信息輸出至與所述調(diào)試信息網(wǎng)絡(luò)加工單元連接的調(diào)試結(jié)果顯示終端,并在所述調(diào)試結(jié)果顯示終端上顯示所述附加有額外信息的調(diào)試信息。
優(yōu)選的,所述額外信息包括調(diào)試時間;所述調(diào)試信息網(wǎng)絡(luò)加工單元通過網(wǎng)絡(luò)接口連接所述調(diào)試結(jié)果顯示終端。
優(yōu)選的,所述調(diào)試信息網(wǎng)絡(luò)加工單元采用獨立的線程實現(xiàn)。
另一方面,還提供一種嵌入式設(shè)備的調(diào)試裝置,包括:
輸入單元,其設(shè)置于待調(diào)試的嵌入式設(shè)備內(nèi),用于用戶輸入確定的用于調(diào)試所述嵌入式設(shè)備的調(diào)試信息;
調(diào)試信息網(wǎng)絡(luò)接收單元,其設(shè)置于待調(diào)試的嵌入式設(shè)備內(nèi),且與所述輸入單元連接,用于接收所述調(diào)試信息并輸出;
調(diào)試信息網(wǎng)絡(luò)加工單元,其設(shè)置于待調(diào)試的嵌入式設(shè)備內(nèi),且與所述調(diào)試信息網(wǎng)絡(luò)接收單元連接,用于接收所述調(diào)試信息網(wǎng)絡(luò)接收單元輸出的調(diào)試信息,對所述調(diào)試信息進行加工后輸出。
優(yōu)選的,調(diào)試信息網(wǎng)絡(luò)加工單元對所述調(diào)試信息進行加工包括:對所述調(diào)試信息附加額外信息。
優(yōu)選的,還包括調(diào)試結(jié)果顯示終端,其設(shè)置于所述待調(diào)試的嵌入式設(shè)備外,且與所述調(diào)試信息網(wǎng)絡(luò)加工單元連接,用于接收所述調(diào)試信息網(wǎng)絡(luò)加工單元輸出的附加有額外信息的調(diào)試信息,并在所述調(diào)試結(jié)果顯示終端上顯示所述附加有額外信息的調(diào)試信息。
優(yōu)選的,所述額外信息包括調(diào)試時間;所述調(diào)試信息網(wǎng)絡(luò)加工單元通過網(wǎng)絡(luò)接口連接所述調(diào)試結(jié)果顯示終端。
優(yōu)選的,所述調(diào)試信息網(wǎng)絡(luò)加工單元采用獨立的線程實現(xiàn)。
本發(fā)明技術(shù)方案帶來的技術(shù)效果:
1)本發(fā)明的調(diào)試方法和裝置解決了現(xiàn)有的三種調(diào)試方式:硬件LED指示燈、Jlink或Stlink這類的仿真器設(shè)置斷點以及串口打印調(diào)試信息的各自調(diào)試缺陷,同時具有硬件LED指示燈調(diào)試的簡單實用的優(yōu)點,具備Jlink或Stlink這類仿真器的設(shè)置斷點的邏輯和運行路徑監(jiān)控調(diào)試功能,并且還能和PC端聯(lián)用實現(xiàn)串口打印調(diào)試信息的軟件調(diào)試方式,完美融合了上述三種現(xiàn)有調(diào)試方式的優(yōu)點。
2)本發(fā)明中的調(diào)試方法和調(diào)試裝置只需要通過一根網(wǎng)線將嵌入式設(shè)備與調(diào)試終端連接即可實現(xiàn)調(diào)試功能,無需其他工具設(shè)備,因此,相比于串口打印調(diào)試信息或Jlink/Stlink仿真器,其具有調(diào)試成本低的優(yōu)勢,且本發(fā)明使用以太網(wǎng)通信技術(shù),因此還可實現(xiàn)異地遠程調(diào)試,以及對調(diào)試設(shè)備的遠程監(jiān)測。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例一提供的嵌入式設(shè)備的調(diào)試方法流程圖;
圖2是本發(fā)明實施例二提供的嵌入式設(shè)備的調(diào)試裝置的結(jié)構(gòu)示意圖。
具體實施方式
本發(fā)明針對上述現(xiàn)有調(diào)試方法中存在的問題,提供了一種運用于沒有運行Linux操作系統(tǒng)的并具備TCP/IP網(wǎng)絡(luò)通信功能的資源有限型嵌入式設(shè)備的調(diào)試方法和調(diào)試裝置,使其能兼顧現(xiàn)有調(diào)試方式的優(yōu)點,同時解決現(xiàn)有調(diào)試方式的缺陷,易于操作,且可節(jié)省大量的程序開發(fā)調(diào)試時間和調(diào)試成本。其核心思想是:用戶輸入的調(diào)試信息先送給調(diào)試信息網(wǎng)絡(luò)接收單元,然后經(jīng)過調(diào)試信息網(wǎng)絡(luò)加工單元對調(diào)試的信息進行加工,附加上時間等額外信息,然后通過網(wǎng)絡(luò)接口向調(diào)試結(jié)果顯示終端發(fā)送調(diào)試信息,調(diào)試結(jié)果顯示終端接收到加工后的調(diào)試信息后,并對此進行顯示,從而達到網(wǎng)絡(luò)打印輸出調(diào)試的功能。
實施例一:
如圖1所示,本發(fā)明中的嵌入式設(shè)備的調(diào)試方法可運用于沒有運行Linux操作系統(tǒng)的、并具備TCP/IP網(wǎng)絡(luò)通信功能的嵌入式設(shè)備(如嵌入式單片機),
包括如下步驟:
S1、用戶確定用于調(diào)試所述嵌入式設(shè)備的調(diào)試信息,并將所述調(diào)試信息通過輸入單元輸入至待調(diào)試的嵌入式設(shè)備中;優(yōu)選的,所述輸入單元包括有API接口,用戶通過調(diào)用所述API接口將所述調(diào)試信息輸入到所述待調(diào)試的嵌入式設(shè)備中;
S2、所述待調(diào)試的嵌入式設(shè)備中的調(diào)試信息網(wǎng)絡(luò)接收單元接收所述調(diào)試信息并輸出;所述調(diào)試信息網(wǎng)絡(luò)接收單元的接收功能可通過編程來實現(xiàn);
S3、所述待調(diào)試的嵌入式設(shè)備中的調(diào)試信息網(wǎng)絡(luò)加工單元接收所述調(diào)試信息網(wǎng)絡(luò)接收單元輸出的調(diào)試信息,對所述調(diào)試信息進行加工后輸出;所述調(diào)調(diào)試信息網(wǎng)絡(luò)加工單元的接收和加工功能可通過編程來實現(xiàn)。
優(yōu)選的,步驟S3中,對所述調(diào)試信息進行加工包括:對所述調(diào)試信息附加額外信息;且所述調(diào)試信息網(wǎng)絡(luò)加工單元對所述調(diào)試信息附加額外信息后,將附加有額外信息的調(diào)試信息輸出至與所述調(diào)試信息網(wǎng)絡(luò)加工單元連接的調(diào)試結(jié)果顯示終端,并在所述調(diào)試結(jié)果顯示終端上顯示所述附加有額外信息的調(diào)試信息。
優(yōu)選的,所述額外信息包括調(diào)試時間以及其他任何與調(diào)試信息有關(guān)的附加信息;所述調(diào)試信息網(wǎng)絡(luò)加工單元通過網(wǎng)絡(luò)接口連接所述調(diào)試結(jié)果顯示終端。本實施例中,所述調(diào)試結(jié)果顯示終端可為具有顯示裝置(如顯示屏幕等)的臺式電腦、平板電腦以及手機等遠程或本地終端。
其次,所述調(diào)試信息網(wǎng)絡(luò)加工單元采用獨立的線程實現(xiàn),其可成功解決串口打印調(diào)試的串口輸出慢,影響程序正常運行的缺陷。
具體的,以下舉例說明本發(fā)明調(diào)試方法的具體流程和步驟:
1.用戶生成并確定調(diào)試信息,如打印“您好!”這個調(diào)試信息;
2.將“您好”這個調(diào)試信息傳遞給待調(diào)試嵌入式設(shè)備中的調(diào)試網(wǎng)絡(luò)接收單元,如使用Log(“您好!”)的方式進行傳遞;
3.待調(diào)試嵌入式設(shè)備中的調(diào)試信息網(wǎng)絡(luò)加工單元接收上述調(diào)試信息,并對其進行加工,附加上其他額外信息,如調(diào)試時間等,則加工后的調(diào)試信息體內(nèi)容大概如:“2016-11-30 13:08:05您好!”,并對上述加工后的調(diào)試信息發(fā)送給調(diào)試電腦終端;
4.調(diào)試電腦終端把接收到的加工后的調(diào)試信息進行顯示,在顯示屏幕上顯示“2016-11-30 13:08:05您好!”。
實施例二:
如圖2所示,本發(fā)明中的嵌入式設(shè)備的調(diào)試裝置同樣可運用于沒有運行Linux操作系統(tǒng)的、并具備TCP/IP網(wǎng)絡(luò)通信功能的嵌入式設(shè)備(如嵌入式單片機),包括:
輸入單元,其設(shè)置于待調(diào)試的嵌入式設(shè)備內(nèi),用于用戶輸入確定的用于調(diào)試所述嵌入式設(shè)備的調(diào)試信息;本實施例中,所述輸入單元可為按鍵、觸屏等輸入單元;
調(diào)試信息網(wǎng)絡(luò)接收單元,其設(shè)置于待調(diào)試的嵌入式設(shè)備內(nèi),且與所述輸入單元連接,用于接收所述調(diào)試信息并輸出;
調(diào)試信息網(wǎng)絡(luò)加工單元,其設(shè)置于待調(diào)試的嵌入式設(shè)備內(nèi),且與所述調(diào)試信息網(wǎng)絡(luò)接收單元連接,用于接收所述調(diào)試信息網(wǎng)絡(luò)接收單元輸出的調(diào)試信息,對所述調(diào)試信息進行加工后輸出。
優(yōu)選的,調(diào)試信息網(wǎng)絡(luò)加工單元對所述調(diào)試信息進行加工包括:對所述調(diào)試信息附加額外信息。
優(yōu)選的,還包括調(diào)試結(jié)果顯示終端,其設(shè)置于所述待調(diào)試的嵌入式設(shè)備外,且與所述調(diào)試信息網(wǎng)絡(luò)加工單元連接,用于接收所述調(diào)試信息網(wǎng)絡(luò)加工單元輸出的附加有額外信息的調(diào)試信息,并在所述調(diào)試結(jié)果顯示終端上顯示所述附加有額外信息的調(diào)試信息。
優(yōu)選的,所述額外信息包括調(diào)試時間以及其他任何與調(diào)試信息有關(guān)的附加信息;所述調(diào)試信息網(wǎng)絡(luò)加工單元通過網(wǎng)絡(luò)接口連接所述調(diào)試結(jié)果顯示終端。本實施例中,所述調(diào)試結(jié)果顯示終端可為具有顯示裝置(如顯示屏幕等)的臺式電腦、平板電腦以及手機等遠程或本地終端。
優(yōu)選的,所述調(diào)試信息網(wǎng)絡(luò)加工單元采用獨立的線程實現(xiàn)。其可成功解決串口打印調(diào)試的串口輸出慢,影響程序正常運行的缺陷。
具體的,以下舉例說明本發(fā)明調(diào)試方法的具體流程和步驟:
1.用戶生成并確定調(diào)試信息,如打印“您好!”這個調(diào)試信息;
2.通過設(shè)置在所述待調(diào)試嵌入式設(shè)備中的按鍵單元將“您好”這個調(diào)試信息傳遞給待調(diào)試嵌入式設(shè)備中的調(diào)試網(wǎng)絡(luò)接收單元,如在按鍵單元中輸入Log(“您好!”),將其傳遞給調(diào)試網(wǎng)絡(luò)接收單元;
3.待調(diào)試嵌入式設(shè)備中的調(diào)試信息網(wǎng)絡(luò)加工單元接收上述調(diào)試信息,并對其進行加工,附加上其他額外信息,如調(diào)試時間等,則加工后的調(diào)試信息體內(nèi)容大概如:“2016-11-30 13:08:05您好!”,并對上述加工后的調(diào)試信息發(fā)送給調(diào)試結(jié)果終端;
4.調(diào)試電腦終端把接收到的加工后的調(diào)試信息進行顯示,在顯示屏幕上顯示“2016-11-30 13:08:05您好!”。
綜上所述,本發(fā)明解決了現(xiàn)有的三種調(diào)試方式:硬件LED指示燈、Jlink或Stlink這類的仿真器設(shè)置斷點以及串口打印調(diào)試信息的各自調(diào)試缺陷,同時具有硬件LED指示燈調(diào)試的簡單實用的優(yōu)點,具備Jlink或Stlink這類仿真器的設(shè)置斷點的邏輯和運行路徑監(jiān)控調(diào)試功能,并且還能和PC端聯(lián)用實現(xiàn)串口打印調(diào)試信息的軟件調(diào)試方式,完美融合了上述三種現(xiàn)有調(diào)試方式的優(yōu)點。且本發(fā)明中的調(diào)試方法和調(diào)試裝置只需要通過一根網(wǎng)線將嵌入式設(shè)備與調(diào)試終端連接即可實現(xiàn)調(diào)試功能,無需其他工具設(shè)備,因此,相比于串口打印調(diào)試信息或Jlink/Stlink仿真器,其具有調(diào)試成本低的優(yōu)勢,且本發(fā)明使用以太網(wǎng)通信技術(shù),因此還可實現(xiàn)異地遠程調(diào)試,以及對調(diào)試設(shè)備的遠程監(jiān)測。因此,本發(fā)明的調(diào)試方法和裝置結(jié)構(gòu)簡單、操作方便,可節(jié)省大量程序調(diào)試的時間和成本。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。