[發明專利]異構多核芯片系統中通過大核調試小核程序的實現方法在審
| 申請號: | 201710156681.4 | 申請日: | 2017-03-16 |
| 公開(公告)號: | CN107038116A | 公開(公告)日: | 2017-08-11 |
| 發明(設計)人: | 袁智巧;次廣波;張路 | 申請(專利權)人: | 杭州朔天科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 杭州浙科專利事務所(普通合伙)33213 | 代理人: | 杜立 |
| 地址: | 310012 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 多核 芯片 系統 通過 調試 程序 實現 方法 | ||
技術領域
本發明屬于異構多核芯片領域,具體是一種異構多核芯片系統中通過大核調試小核程序的實現方法。
背景技術
傳統的多核芯片的各個核調試都需要有硬件的JTAG。JTAG有2線制和5線制,需要占用額外的硬件資源,成本比較高;另外在小核單獨用JTAG調試時由于無法和大核同步,所以無法滿足很多應用場景下的調試需求。
發明內容
為了解決現有技術中存在的上述技術問題,本發明提供了一種異構多核芯片系統中通過大核調試小核程序的實現方法,大核與小核通過郵箱(mailbox)進行溝通,每個核都設有一個郵箱(mailbox),小核代碼的數據段、代碼段以及符號表放入頭文件,大核通過包含小核的頭文件來獲得小核的上述內容,調試運行時大核把代碼段和數據段拷貝到小核程序在編譯鏈接階段所指定的地址,然后復位小核,使小核程序開始運行,實現開始運行、設置斷點、清除斷點、讀取變量或地址的值、修改某個變量或地址的值、和/或恢復運行。
進一步的,所述郵箱(mailbox)不同的寄存器地址,對應不同的中斷,通過對郵箱(mailbox)進行讀寫,觸發不同的中斷,然后接收到中斷的CPU讀取相應寄存器值,得到其他核傳遞過來的信息。
進一步的,通過GNU的objcopy和readelf命令,將小核代碼的數據段、代碼段以及符號表放進C語言的頭文件。
進一步的,所述開始運行具體為:在大核內將小核程序的代碼段和數據段分別拷貝到鏈接階段所指定的地址,復位小核的開始運行寄存器。
進一步的,所述設置斷點具體為:大核查詢自己保存的符號表,找到要設置斷點的代碼地址,發送郵箱(mailbox)命令,告知小核設置斷點的位置,小核的郵箱(mailbox)中斷服務程序備份原來代碼內容,并修改大核指定該斷點地址的內容為trap0指令;當程序運行到斷點處會發生trap0異常,CPU保存當前pc值,后進入trap0異常服務程序;trap0服務程序等待大核發過來的郵箱(mailbox)命令。
進一步的,所述讀取某個變量或地址具體為:進入斷點后,大核發來郵箱(mailbox)命令,小核mailbox中斷服務程序運行,把大核郵箱(mailbox)命令通知到trap0異常服務程序后退出;trap0異常服務程序檢測到讀取命令,將相應內容通過郵箱(mailbox)發給大核。
進一步的,所述設置變量或地址的內容具體為:進入斷點后,大核發來郵箱(mailbox)命令,小核郵箱(mailbox)中斷服務程序運行,修改相應位置的內容。
進一步的,所述恢復運行具體為:大核發來郵箱(mailbox)命令,trap0異常服務程序備份斷點指令,修改斷點處下一條指令為trap1,還原本斷點處指令,退出trap0異常服務程序,讓CPU執行剛被還原的指令;下一條指令為trap1,進入trap1異常服務程序,trap1異常服務程序修改上一條指令為trap0,還原本條指令,退出trap1異常服務程序,繼續執行本條指令。
進一步的,所述清除斷點具體為:大核發來郵箱(mailbox)命令,小核進入郵箱(mailbox)中斷服務程序,把大核命令通知到trap0異常服務程序后退出,trap0異常服務程序隨后將某個斷點的代碼復原,并刪除斷點記錄。
本發明不使用JTAG硬件的情況下,實現大核使用郵箱(mailbox)中斷打斷小核程序的運行并進行斷點調試;使用trap0異常服務程序程序作為調試器服務端(server),在服務器(server)運行時通過郵箱(mailbox)與調試器客戶端(client)進行交互;通過兩個trap異常(trap0和trap1),巧妙地實現了退出斷點恢復運行的機制。
附圖說明
圖1為trap0異常服務程序,小核程序運行到所設斷點處(trap0指令)便進入trap0異常服務程序。
圖2為trap1異常服務程序,其作用為輔助trap0異常服務程序執行恢復運行(continue)命令。
圖3為小核程序,小核被郵箱(mailbox)中斷則進入郵箱(mailbox)中斷服務程序。
圖4為小核郵箱(mailbox)中斷服務程序。
圖5為大核程序。
具體實施方式
下面結合附圖對本發明作進一步說明。
如圖1-5所示:
大核與小核的溝通方式
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州朔天科技有限公司,未經杭州朔天科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710156681.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種可適應多卷徑規格的封卷尾機構
- 下一篇:一種包裝紙復合機收料推料裝置





