[發明專利]一種基于嵌入式實時系統的實時調試方法有效
| 申請號: | 201810221411.1 | 申請日: | 2018-03-17 |
| 公開(公告)號: | CN108319555B | 公開(公告)日: | 2021-03-09 |
| 發明(設計)人: | 李平勇 | 申請(專利權)人: | 成都大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 成都君合集專利代理事務所(普通合伙) 51228 | 代理人: | 張鳴潔 |
| 地址: | 610100 *** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 嵌入式 實時 系統 調試 方法 | ||
1.一種基于嵌入式實時系統的實時調試方法,其特征在于,包括:
步驟S100:在PC機安裝GUI程序和GDB調試程序,在嵌入式設備上安裝多線程服務器程序和中斷服務程序ISR,將所述PC機與所述嵌入式設備通過TCP/IP協議連接;
步驟S200:在所述GUI程序中對原程序中的代碼行設置斷點,分析gcc編譯器產生的中間文件,得到所述斷點所在代碼行對應的指令地址,然后將所述指令地址發送至所述嵌入式設備;
步驟S300:所述嵌入式設備上安裝的多線程服務器程序接收所述指令地址,并將指令地址中指令替換為中斷觸發指令;
步驟S400:運行中斷服務程序ISR;
步驟S500:所述中斷服務程序ISR抓取上下文信息,將所述上下文信息復制到一個目標內存中;所述上下文信息不超過256個字節;
步驟S600:嵌入式設備的多線程服務器程序再通過TCP/IP協議,將所述目標內存中的上下文信息發送給PC機上;
步驟S700:PC機上的GDB調試程序解析所述上下文信息并輸出。
2.根據權利要求1所述的一種基于嵌入式實時系統的實時調試方法,其特征在于,所述步驟S200具體包括:
步驟S210:在GUI程序里面設置,在原程序的某一代碼行左側,用鼠標點擊一下,則在這一行設置了一個斷點;
步驟S220:gcc編譯器對原程序進行編譯鏈接得到含調試信息的可執行文件,再利用nm命令分析這個可執行文件,可得到所述斷點所在代碼行對應的指令地址;
步驟S230:PC機將所述指令地址發送至嵌入式設備。
3.根據權利要求2所述的一種基于嵌入式實時系統的實時調試方法,其特征在于,所述步驟S300具體為:
步驟S310:根據原代碼中的指令地址找到對應的存儲單元;
步驟S320:將中斷觸發指令寫入所述存儲單元。
4.根據權利要求1-3中任意一項所述的一種基于嵌入式實時系統的實時調試方法,其特征在于,所述步驟S500中的上下文信息包括全局變量、局部變量和函數調用棧。
5.根據權利要求1-3中任意一項所述的一種基于嵌入式實時系統的實時調試方法,其特征在于,所述PC機基于Linux操作系統,所述嵌入式設備基于ARM。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于成都大學,未經成都大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810221411.1/1.html,轉載請聲明來源鉆瓜專利網。





