引 言
目前,國內(nèi)生產(chǎn)的部分在線仿真調(diào)試器可以對部分嵌入式芯片進行仿真調(diào)試。但從本質(zhì)上,這些仿真調(diào)試器無法對所有帶在線調(diào)試功能的嵌入式芯片進行仿真調(diào)試。BDI2000和TRACE32等仿真器可以在不改變硬件條件下,通過下載針對特定嵌入式芯片的調(diào)試“核”來實現(xiàn)對不同嵌入式芯片的仿真調(diào)試,但是非常昂貴,難以適應國內(nèi)絕大多數(shù)中小企業(yè)的實際需求。
本文基于SOPC軟硬件協(xié)調(diào)設計驗證技術(shù)設計了一款通用在線調(diào)試器。SOPC技術(shù)將傳統(tǒng)的在線調(diào)試器以芯片形式呈現(xiàn),采用知識產(chǎn)權(quán)核(IP core)復用技術(shù),抽象各種不同架構(gòu)的嵌入式處理器接口,給出支持統(tǒng)一調(diào)試接口的IP core架構(gòu),提出了基于通用在線調(diào)試器的嵌入式軟件調(diào)試方法。
本文介紹了系統(tǒng)架構(gòu),以及關(guān)鍵子系統(tǒng)的工作原理及其與所處硬件環(huán)境之間的交互,最后對JTAG IP core子系統(tǒng)進行了仿真驗證。
1 整體設計
系統(tǒng)由用戶交互、在線仿真和JTAG IP core三個子系統(tǒng)構(gòu)成,如圖1所示。
用戶交互子系統(tǒng)包括TCP/IP通信端口與用戶交互界面。它主要負責訪問和處理源文件;接收調(diào)試命令,根據(jù)TCP/IP協(xié)議封裝成調(diào)試命令請求包,發(fā)送給通用調(diào)試器;同時,解析目標機的響應。其中,通信端口負責與通用在線調(diào)試器通信。
在線仿真子系統(tǒng)是一個針對不同類型嵌入式處理芯片的高擴展性嵌入式系統(tǒng)。它包括硬件部分和軟件部分。硬件部分采用SOPC技術(shù)加載Altera公司的IP core形成一個以NiosII CPU為核心的,TCP/IP和JTAG IP core端口為通信模塊的硬件平臺。軟件部分包括網(wǎng)絡傳輸處理和JTAG IP core接口程序部分。
JTAG IP core是業(yè)務信號處理邏輯模塊,可以是ARM、PowerPC、MIPS等不同架構(gòu)的嵌入式處理器。
1.1 核心子系統(tǒng)設計
JTAG IP core是系統(tǒng)的核心部分。它負責目標機調(diào)試命令的格式轉(zhuǎn)換、傳送邏輯控制,以及JTAG狀態(tài)機狀態(tài)轉(zhuǎn)換的控制。JTAG IP core子系統(tǒng)劃分為5個模塊,每個模塊又由子模塊所構(gòu)成。模塊的執(zhí)行次序不同,或并發(fā),或順序執(zhí)行。JTAG IP core子系統(tǒng)結(jié)構(gòu)圖如圖2所示。
總線讀寫模塊負責接收參數(shù)和指令,同時將處理后的數(shù)據(jù)輸出到總線。接收總線數(shù)據(jù)子模塊接收Avalon總線的數(shù)據(jù)并更新標志位;讀信號觸發(fā)向總線發(fā)送數(shù)據(jù)子模塊進行數(shù)據(jù)傳輸?偩讀寫模塊邏輯流程如圖3所示。