基于SoPC的通用在線(xiàn)調試器設計
目前,國內生產(chǎn)的部分在線(xiàn)仿真調試器可以對部分嵌入式芯片進(jìn)行仿真調試。但從本質(zhì)上,這些仿真調試器無(wú)法對所有帶在線(xiàn)調試功能的嵌入式芯片進(jìn)行仿真調試。BDI2000和TRACE32等仿真器可以在不改變硬件條件下,通過(guò)下載針對特定嵌入式芯片的調試“核”來(lái)實(shí)現對不同嵌入式芯片的仿真調試,但是非常昂貴,難以適應國內絕大多數中小企業(yè)的實(shí)際需求。
本文基于SOPC軟硬件協(xié)調設計驗證技術(shù)設計了一款通用在線(xiàn)調試器。SOPC技術(shù)將傳統的在線(xiàn)調試器以芯片形式呈現,采用知識產(chǎn)權核(IP core)復用技術(shù),抽象各種不同架構的嵌入式處理器接口,給出支持統一調試接口的IP core架構,提出了基于通用在線(xiàn)調試器的嵌入式軟件調試方法。
本文介紹了系統架構,以及關(guān)鍵子系統的工作原理及其與所處硬件環(huán)境之間的交互,最后對JTAG IP core子系統進(jìn)行了仿真驗證。
1 整體設計
系統由用戶(hù)交互、在線(xiàn)仿真和JTAG IP core三個(gè)子系統構成,如圖1所示。

用戶(hù)交互子系統包括TCP/IP通信端口與用戶(hù)交互界面。它主要負責訪(fǎng)問(wèn)和處理源文件;接收調試命令,根據TCP/IP協(xié)議封裝成調試命令請求包,發(fā)送給通用調試器;同時(shí),解析目標機的響應。其中,通信端口負責與通用在線(xiàn)調試器通信。
在線(xiàn)仿真子系統是一個(gè)針對不同類(lèi)型嵌入式處理芯片的高擴展性嵌入式系統。它包括硬件部分和軟件部分。硬件部分采用SOPC技術(shù)加載Altera公司的IP core形成一個(gè)以NiosII CPU為核心的,TCP/IP和JTAG IP core端口為通信模塊的硬件平臺。軟件部分包括網(wǎng)絡(luò )傳輸處理和JTAG IP core接口程序部分。
JTAG IP core是業(yè)務(wù)信號處理邏輯模塊,可以是ARM、PowerPC、MIPS等不同架構的嵌入式處理器。
1.1 核心子系統設計
JTAG IP core是系統的核心部分。它負責目標機調試命令的格式轉換、傳送邏輯控制,以及JTAG狀態(tài)機狀態(tài)轉換的控制。JTAG IP core子系統劃分為5個(gè)模塊,每個(gè)模塊又由子模塊所構成。模塊的執行次序不同,或并發(fā),或順序執行。JTAG IP core子系統結構圖如圖2所示。

總線(xiàn)讀寫(xiě)模塊負責接收參數和指令,同時(shí)將處理后的數據輸出到總線(xiàn)。接收總線(xiàn)數據子模塊接收Avalon總線(xiàn)的數據并更新標志位;讀信號觸發(fā)向總線(xiàn)發(fā)送數據子模塊進(jìn)行數據傳輸??偩€(xiàn)讀寫(xiě)模塊邏輯流程如圖3所示。

評論