[發(fā)明專(zhuān)利]一種軟硬件協(xié)同片上系統(tǒng)診斷方法有效
| 申請(qǐng)?zhí)枺?/td> | 202211225207.X | 申請(qǐng)日: | 2022-10-09 |
| 公開(kāi)(公告)號(hào): | CN115480976B | 公開(kāi)(公告)日: | 2023-05-23 |
| 發(fā)明(設(shè)計(jì))人: | 田建軍;刁永翔;汪宏志;宮曉淵;王歡;宋曉寧 | 申請(qǐng)(專(zhuān)利權(quán))人: | 無(wú)錫眾星微系統(tǒng)技術(shù)有限公司 |
| 主分類(lèi)號(hào): | G06F11/26 | 分類(lèi)號(hào): | G06F11/26;G06F11/22 |
| 代理公司: | 北京動(dòng)力號(hào)知識(shí)產(chǎn)權(quán)代理有限公司 11775 | 代理人: | 楊潤(rùn) |
| 地址: | 214000 江蘇省無(wú)錫市新吳區(qū)*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 軟硬件 協(xié)同 系統(tǒng) 診斷 方法 | ||
本發(fā)明提供了一種軟硬件協(xié)同片上系統(tǒng)診斷方法,該方法包括:接收片上系統(tǒng)的硬件Trace數(shù)據(jù),當(dāng)所述片上系統(tǒng)的CPU在運(yùn)行中檢測(cè)到命令執(zhí)行異常時(shí),將軟件日志數(shù)據(jù)進(jìn)行緩存;監(jiān)測(cè)所述軟件日志數(shù)據(jù)的緩存數(shù)據(jù)量,當(dāng)所述緩存數(shù)據(jù)量達(dá)到預(yù)定義閾值時(shí),讀出所緩存的軟件日志數(shù)據(jù);根據(jù)讀出的所述軟件日志數(shù)據(jù)生成軟件Trace數(shù)據(jù),并將所述硬件Trace數(shù)據(jù)和所述軟件Trace數(shù)據(jù)輸出到片外進(jìn)行解析。本發(fā)明的方法能夠增強(qiáng)系統(tǒng)問(wèn)題診斷分析能力,提高系統(tǒng)問(wèn)題分析效率并且節(jié)約芯片調(diào)試成本。
技術(shù)領(lǐng)域
本發(fā)明屬于芯片調(diào)試領(lǐng)域,特別涉及一種軟硬件協(xié)同片上系統(tǒng)診斷方法。
背景技術(shù)
在芯片調(diào)試階段,片內(nèi)數(shù)據(jù)和指令的跟蹤對(duì)于片上系統(tǒng)的診斷是至關(guān)重要的。在片上處理器調(diào)試過(guò)程,需要解決處理器運(yùn)行狀態(tài)的實(shí)時(shí)跟蹤觀測(cè)問(wèn)題。越來(lái)越多的處理器廠(chǎng)商開(kāi)始提供硬件片上Trace即跟蹤功能。片上Trace系統(tǒng)通過(guò)專(zhuān)用硬件設(shè)計(jì),以非入侵方式實(shí)時(shí)記錄程序執(zhí)行路徑和數(shù)據(jù)讀寫(xiě)等信息,隨后將有效信息壓縮成Trace數(shù)據(jù)流,然后通過(guò)專(zhuān)用數(shù)據(jù)通道傳輸至調(diào)試主機(jī),最后通過(guò)外部接收工具接收解壓縮Trace數(shù)據(jù)流,恢復(fù)程序運(yùn)行信息以進(jìn)行系統(tǒng)調(diào)試和性能分析。常用的兩種片上調(diào)試方法包括軟件日志調(diào)試方法和CoreSight?Trace數(shù)據(jù)分析方法。
其中,軟件日志調(diào)試是指在系統(tǒng)軟件運(yùn)行過(guò)程中,額外加入開(kāi)發(fā)的日志調(diào)試程序,該日志調(diào)試程序隨系統(tǒng)軟件一起運(yùn)行,對(duì)系統(tǒng)運(yùn)行狀態(tài)進(jìn)行記錄,對(duì)寄存器狀態(tài)和軟件執(zhí)行或跳轉(zhuǎn)標(biāo)記進(jìn)行日志生成,通過(guò)預(yù)留調(diào)試接口(通常為UART通用異步收發(fā)傳輸器)對(duì)外輸出,由外部工具進(jìn)行接收存儲(chǔ)為文本形式,最后由調(diào)試人員進(jìn)行系統(tǒng)分析和調(diào)試。所述UART是一種異步收發(fā)傳輸器。它將要傳輸?shù)馁Y料在串行通信與并行通信之間進(jìn)行轉(zhuǎn)換。作為將并行輸入信號(hào)轉(zhuǎn)成串行輸出信號(hào)的芯片,UART通常被集成于其他通訊接口的連結(jié)上。UART工作原理分為發(fā)送數(shù)據(jù)過(guò)程和接收數(shù)據(jù)過(guò)程,具體接口連接方式如圖1所示。發(fā)送數(shù)據(jù)端TX用于連接對(duì)端設(shè)備的接收數(shù)據(jù)端RX。GND為接地端,保證收發(fā)設(shè)備共地,具有統(tǒng)一的參考平面,在發(fā)送數(shù)據(jù)過(guò)程中,空閑狀態(tài)下線(xiàn)路處于高電平;當(dāng)收到發(fā)送數(shù)據(jù)指令后,拉低線(xiàn)路一個(gè)數(shù)據(jù)位的時(shí)間,然后數(shù)據(jù)按低位到高位依次發(fā)送,數(shù)據(jù)發(fā)送完畢后,然后發(fā)送奇偶校驗(yàn)位和停止位(停止位為高電平),一幀數(shù)據(jù)發(fā)送結(jié)束。而在接收數(shù)據(jù)過(guò)程中,空閑狀態(tài)下線(xiàn)路處于高電位;當(dāng)檢測(cè)到線(xiàn)路的下降沿即線(xiàn)路電位由高電位變?yōu)榈碗娢粫r(shí)說(shuō)明線(xiàn)路存在數(shù)據(jù)傳輸,按照約定的波特率從低位到高位接收數(shù)據(jù),數(shù)據(jù)接收完畢后,然后接收并比較奇偶校驗(yàn)位是否正確,如果正確,則通知后續(xù)設(shè)備準(zhǔn)備接收數(shù)據(jù)或存入緩存。由于UART傳輸速率較低,在面對(duì)CPU多核復(fù)雜場(chǎng)景下生成的日志信息,可能影響對(duì)外輸出,進(jìn)而導(dǎo)致日志信息即使已經(jīng)正常生成也不能快速無(wú)損地輸出至片外,造成日志記錄丟失,最終影響系統(tǒng)調(diào)試分析。軟件日志程序的開(kāi)發(fā)編寫(xiě)也受到UART傳輸速率的限制,在調(diào)試過(guò)程中還需要反復(fù)修改日志輸出代碼或等級(jí)以控制信息量大小和適應(yīng)輸出帶寬,勢(shì)必造成軟件程序維護(hù)成本過(guò)高和使用便捷性較低。
此外,盡管軟件日志調(diào)試方法可以直觀的記錄反映片內(nèi)寄存器狀態(tài)和軟件預(yù)設(shè)標(biāo)記,幫助測(cè)試人員進(jìn)行系統(tǒng)問(wèn)題大致定位,但是對(duì)于較復(fù)雜的系統(tǒng)問(wèn)題難以進(jìn)行更深層次分析。為支持軟件日志輸出功能,在芯片封裝加工時(shí)還需要保留專(zhuān)用的對(duì)外調(diào)試接口,增加了封裝成本。例如在分析CPU多核協(xié)同工作場(chǎng)景時(shí),系統(tǒng)軟件本身就較復(fù)雜,再加上額外的調(diào)試程序會(huì)造成整個(gè)軟件復(fù)雜度極大增加。此外,硬件內(nèi)部數(shù)據(jù)流控制和狀態(tài)機(jī)跳轉(zhuǎn)邏輯全部由硬件電路設(shè)計(jì)實(shí)現(xiàn),一旦芯片制造出來(lái)后這些電路就難以更改,而軟件通常難以獲取硬件內(nèi)部狀態(tài)機(jī)和關(guān)鍵數(shù)據(jù)流等實(shí)時(shí)信息,因此硬件自身設(shè)計(jì)的復(fù)雜性和不可觀測(cè)性會(huì)極大地增加芯片工作異常的風(fēng)險(xiǎn)。如果芯片工作過(guò)程中出現(xiàn)異常,僅靠典型軟件日志數(shù)據(jù)進(jìn)行硬件診斷,很有可能出現(xiàn)系統(tǒng)問(wèn)題無(wú)法定位和分析的情況。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于無(wú)錫眾星微系統(tǒng)技術(shù)有限公司,未經(jīng)無(wú)錫眾星微系統(tǒng)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211225207.X/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 噴墨式記錄系統(tǒng)及噴墨式記錄方法
- 軟硬體資源的管理系統(tǒng)及其方法
- 軟硬件協(xié)同函數(shù)庫(kù)的構(gòu)造方法
- 基于改進(jìn)混洗蛙跳算法的軟硬件劃分方法
- 一種統(tǒng)一監(jiān)控告警的方法、一站式監(jiān)控告警平臺(tái)及系統(tǒng)
- 一種軟硬件混合系統(tǒng)的聯(lián)合可靠性試驗(yàn)剖面構(gòu)造方法
- 圖像處理的環(huán)境確定方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì)
- 一種面向智能交通軟硬件數(shù)據(jù)準(zhǔn)確性的評(píng)估方法
- 一種用于視頻處理服務(wù)端的軟硬件編碼協(xié)同系統(tǒng)、方法及電子裝置
- 一種基于組合測(cè)試的軟硬件混合系統(tǒng)聯(lián)合試驗(yàn)剖面構(gòu)造方法
- 移動(dòng)通信終端的協(xié)同方法及其界面系統(tǒng)
- 業(yè)務(wù)協(xié)同流程配置、業(yè)務(wù)協(xié)同方法及裝置
- 一種基于健康檔案共享平臺(tái)的跨醫(yī)院協(xié)同檢查信息系統(tǒng)
- 一種協(xié)同控制方法、協(xié)同控制系統(tǒng)及變頻器
- 基于協(xié)同網(wǎng)關(guān)的跨域協(xié)同交互方法
- 一種生產(chǎn)協(xié)同管理方法及系統(tǒng)
- 云邊協(xié)同方法、裝置、系統(tǒng)、設(shè)備和介質(zhì)
- 一種智能辦公協(xié)同操作方法及系統(tǒng)
- 一種用于無(wú)人裝備的時(shí)間協(xié)同航跡規(guī)劃方法
- 基于大數(shù)據(jù)的智慧辦公協(xié)同方法及系統(tǒng)
- 診斷系統(tǒng)、診斷方法、診斷末端及診斷末端的使用方法
- 診斷系統(tǒng)
- 一種汽車(chē)診斷方法、診斷接頭,及診斷系統(tǒng)
- 車(chē)輛診斷方法和系統(tǒng)
- 診斷顆粒計(jì)算方法、裝置及可讀存儲(chǔ)介質(zhì)
- 一種車(chē)輛診斷方法、診斷終端及診斷盒
- 車(chē)輛診斷裝置、車(chē)輛診斷系統(tǒng)以及車(chē)輛診斷程序
- 車(chē)輛遠(yuǎn)程診斷系統(tǒng)及其方法
- 業(yè)務(wù)系統(tǒng)診斷方法、系統(tǒng)以及相關(guān)產(chǎn)品
- 一種車(chē)輛遠(yuǎn)程診斷方法、裝置、存儲(chǔ)介質(zhì)及系統(tǒng)





