《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于SoPC的通用在線調(diào)試器設(shè)計(jì)
基于SoPC的通用在線調(diào)試器設(shè)計(jì)
中電網(wǎng)
柳琳琳 桑楠
摘要: 本文基于SOPC軟硬件協(xié)調(diào)設(shè)計(jì)驗(yàn)證技術(shù)設(shè)計(jì)了一款通用在線調(diào)試器。SOPC技術(shù)將傳統(tǒng)的在線調(diào)試器以芯片形式呈現(xiàn),采用知識(shí)產(chǎn)權(quán)核(IP core)復(fù)用技術(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)境之間的交互,最后對(duì)JTAG IP core子系統(tǒng)進(jìn)行了仿真驗(yàn)證。
關(guān)鍵詞: SoPC 調(diào)試器 IP core JTAG
Abstract:
Key words :

引  言

目前,國(guó)內(nèi)生產(chǎn)的部分在線仿真調(diào)試器可以對(duì)部分嵌入式芯片進(jìn)行仿真調(diào)試。但從本質(zhì)上,這些仿真調(diào)試器無(wú)法對(duì)所有帶在線調(diào)試功能的嵌入式芯片進(jìn)行仿真調(diào)試。BDI2000和TRACE32等仿真器可以在不改變硬件條件下,通過(guò)下載針對(duì)特定嵌入式芯片的調(diào)試“核”來(lái)實(shí)現(xiàn)對(duì)不同嵌入式芯片的仿真調(diào)試,但是非常昂貴,難以適應(yīng)國(guó)內(nèi)絕大多數(shù)中小企業(yè)的實(shí)際需求。

本文基于SOPC軟硬件協(xié)調(diào)設(shè)計(jì)驗(yàn)證技術(shù)設(shè)計(jì)了一款通用在線調(diào)試器。SOPC技術(shù)將傳統(tǒng)的在線調(diào)試器以芯片形式呈現(xiàn),采用知識(shí)產(chǎn)權(quán)核(IP core)復(fù)用技術(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)境之間的交互,最后對(duì)JTAG IP core子系統(tǒng)進(jìn)行了仿真驗(yàn)證。

1  整體設(shè)計(jì)

系統(tǒng)由用戶交互、在線仿真和JTAG IP core三個(gè)子系統(tǒng)構(gòu)成,如圖1所示。



用戶交互子系統(tǒng)包括TCP/IP通信端口與用戶交互界面。它主要負(fù)責(zé)訪問(wèn)和處理源文件;接收調(diào)試命令,根據(jù)TCP/IP協(xié)議封裝成調(diào)試命令請(qǐng)求包,發(fā)送給通用調(diào)試器;同時(shí),解析目標(biāo)機(jī)的響應(yīng)。其中,通信端口負(fù)責(zé)與通用在線調(diào)試器通信。

在線仿真子系統(tǒng)是一個(gè)針對(duì)不同類(lèi)型嵌入式處理芯片的高擴(kuò)展性嵌入式系統(tǒng)。它包括硬件部分和軟件部分。硬件部分采用SOPC技術(shù)加載Altera公司的IP core形成一個(gè)以NiosII CPU為核心的,TCP/IP和JTAG IP core端口為通信模塊的硬件平臺(tái)。軟件部分包括網(wǎng)絡(luò)傳輸處理和JTAG IP core接口程序部分。

JTAG IP core是業(yè)務(wù)信號(hào)處理邏輯模塊,可以是ARM、PowerPC、MIPS等不同架構(gòu)的嵌入式處理器。

1.1  核心子系統(tǒng)設(shè)計(jì)

JTAG IP core是系統(tǒng)的核心部分。它負(fù)責(zé)目標(biāo)機(jī)調(diào)試命令的格式轉(zhuǎn)換、傳送邏輯控制,以及JTAG狀態(tài)機(jī)狀態(tài)轉(zhuǎn)換的控制。JTAG IP core子系統(tǒng)劃分為5個(gè)模塊,每個(gè)模塊又由子模塊所構(gòu)成。模塊的執(zhí)行次序不同,或并發(fā),或順序執(zhí)行。JTAG IP core子系統(tǒng)結(jié)構(gòu)圖如圖2所示。



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



參數(shù)指令傳遞模塊用于合并總線讀寫(xiě)模塊接收的參數(shù)和指令。當(dāng)寫(xiě)有效且主控模塊沒(méi)有工作時(shí),將從Avalon總線接收的前128位數(shù)據(jù)拼接起來(lái)存放在參數(shù)寄存器中,后32位數(shù)據(jù)由指令寄存器接收;當(dāng)寫(xiě)無(wú)效時(shí)停止輸入,并且啟動(dòng)狀態(tài)機(jī)模塊。參數(shù)寄存器和指令寄存器均在在本模塊中定義。

狀態(tài)機(jī)模塊負(fù)責(zé)仿真JTAG狀態(tài)機(jī)中的16個(gè)狀態(tài),憑借主控模塊中TMS序列驅(qū)動(dòng)實(shí)現(xiàn)狀態(tài)間的轉(zhuǎn)移,同時(shí)向JTAG的TMS端口送出TMS序列,以控制目標(biāo)機(jī)中JTAG狀態(tài)機(jī)的運(yùn)行。在SHIFT_IR和SHIFT_DR狀態(tài)下,相應(yīng)的目標(biāo)機(jī)指令(如ARM指令)和數(shù)據(jù)通過(guò)JTAG的TDI端口送入目標(biāo)機(jī)。

目標(biāo)機(jī)TDO序列接收模塊負(fù)責(zé)接收目標(biāo)機(jī)傳來(lái)的數(shù)據(jù),并將其存放在相應(yīng)的寄存器中。

主控模塊在JTAG狀態(tài)機(jī)運(yùn)行之前,根據(jù)參數(shù)指令傳遞模塊中指令寄存器的值更新?tīng)顟B(tài)機(jī)的TMS和TDI序列數(shù)據(jù);然后初始化TMS寄存器、TDI寄存器、標(biāo)志寄存器,通過(guò)標(biāo)志寄存器的值判斷JTAG狀態(tài)機(jī)的運(yùn)行;在其運(yùn)行結(jié)束后,在狀態(tài)機(jī)結(jié)束處理子模塊中把目標(biāo)機(jī)傳來(lái)的數(shù)據(jù)送到輸出寄存器,并設(shè)置讀有效以啟動(dòng)總線讀寫(xiě)模塊。

1.2  JTAG IP core接口程序

在線仿真子系統(tǒng)中,JTAG IP core接口為JTAG IPcore子系統(tǒng)與NiosII CPU硬件環(huán)境之間提供數(shù)據(jù)交互服務(wù)。接口程序分成宏定義、寫(xiě)數(shù)據(jù)、讀數(shù)據(jù)3個(gè)部分。

宏定義部分,JTAG IP core中的操作指令包括:進(jìn)入調(diào)試狀態(tài)、獲取CPU IDCODE、讀/寫(xiě)寄存器、讀/寫(xiě)內(nèi)存、設(shè)置斷點(diǎn)、設(shè)置觀察點(diǎn)、跳出調(diào)試狀態(tài)等。

寫(xiě)數(shù)據(jù)部分,目標(biāo)機(jī)的內(nèi)存地址和寄存器號(hào)作為參數(shù)數(shù)據(jù)傳遞到JTAG IP core子系統(tǒng)中,調(diào)試指令(即宏定義中的指令)與參數(shù)一起被寫(xiě)入JTAG IP core子系統(tǒng)中。部分程序代碼如下:



其中,pi表示參數(shù)數(shù)據(jù)(i=0,…,3),ir表示指令。IOWR_32DIRECT(JTAGTEST_0_BASE,ADDR(i),pi)表示將pi或ir的值寫(xiě)入JTAG IP core。

讀數(shù)據(jù)部分的功能是從JTAG IP core子系統(tǒng)中讀取目標(biāo)機(jī)傳回的數(shù)據(jù)。當(dāng)在線仿真子系統(tǒng)的Nios II CPU準(zhǔn)備從JTAG IP core子系統(tǒng)中讀取數(shù)據(jù)時(shí),JTAG IP core子系統(tǒng)中的寄存器數(shù)據(jù)不一定是有效數(shù)據(jù),因而需設(shè)置一個(gè)寄存器(命名為read_ready)來(lái)循環(huán)檢測(cè)數(shù)據(jù)是否有效。如果寄存器的值不為0,則允許讀取數(shù)據(jù)。



2  JTAG IP core子系統(tǒng)仿真驗(yàn)證

JTAG IP core子系統(tǒng)設(shè)計(jì)完成后,為了驗(yàn)證邏輯的正確性,在QuartusII環(huán)境下對(duì)該IP core模塊進(jìn)行了仿真驗(yàn)證。在仿真中,將NiosII CPU給出的觸發(fā)信號(hào)cLK修改為2分頻,以便能較直觀地看清觸發(fā)子系統(tǒng)允許的TCK信號(hào)的產(chǎn)生。當(dāng)JTAG IP core接口程序被啟動(dòng)時(shí),總線讀寫(xiě)模塊開(kāi)始從Avalon總線上讀取參數(shù)和指令(如圖4所示,writedata、address、inst∣reg_in[0,1,4]及ir寄存器中出現(xiàn)數(shù)據(jù))。當(dāng)參數(shù)指令傳遞模塊中的palm和ir寄存器中出現(xiàn)數(shù)據(jù)后,主控模塊開(kāi)始工作;同時(shí),主控模塊的busy_flag信號(hào)觸發(fā)狀態(tài)機(jī)模塊工作。從圖中可看到,TMS序列出現(xiàn)數(shù)據(jù),TDI端口開(kāi)始送出數(shù)據(jù)。JTAG IP core模塊能按照預(yù)定設(shè)計(jì)輸出TMS和TDI調(diào)試序列,說(shuō)明該IPcore在邏輯上是正確的。

結(jié)  語(yǔ)

本文提出了以知識(shí)產(chǎn)權(quán)核(即IP core)復(fù)用技術(shù)為主的通用性調(diào)試器設(shè)計(jì)思路以及實(shí)現(xiàn)方法。下一步,可以基于ARM、MIPS系列芯片,結(jié)合本文的解決方案實(shí)現(xiàn)具體的IP core,同時(shí)增加多線程調(diào)試等優(yōu)化工作。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美不卡三区| 国产精品亚洲综合久久| 午夜精品视频| 亚洲视频在线视频| 一本色道久久综合狠狠躁篇怎么玩 | 国产一区二区三区久久| 欧美在线免费视频| 欧美一区二区视频在线| 午夜欧美不卡精品aaaaa| 亚洲欧美影音先锋| 欧美一级黄色网| 久久国产手机看片| 亚洲电影免费观看高清完整版在线| 久久精品国产77777蜜臀| 亚洲福利视频二区| 91久久久久| 99精品国产热久久91蜜凸| 一二三区精品| 亚洲性线免费观看视频成熟| 亚洲一区二区三区视频播放| 亚洲一区网站| 欧美与欧洲交xxxx免费观看 | 亚洲欧美卡通另类91av| 小嫩嫩精品导航| 久久国产欧美日韩精品| 另类天堂av| 欧美日韩精品三区| 国产精品一二| 国语对白精品一区二区| 亚洲春色另类小说| 日韩午夜一区| 亚洲欧美视频在线| 亚洲高清不卡在线| 一区二区三区高清视频在线观看 | 国产日韩欧美另类| 亚洲二区精品| 亚洲夜间福利| 亚洲第一精品夜夜躁人人爽| 亚洲精品在线视频| 午夜在线精品偷拍| 六十路精品视频| 欧美日韩调教| 国产一区二区三区久久| 亚洲激情在线视频| 亚洲免费网站| 亚洲人成在线播放网站岛国| 亚洲一区在线直播| 久久久午夜精品| 欧美精品在线观看一区二区| 国产乱码精品一区二区三区av| 在线电影一区| 亚洲视频电影在线| 亚洲黄色天堂| 亚洲欧美不卡| 欧美成人资源网| 国产精品一区二区你懂得| 在线日本欧美| 亚洲伊人观看| 亚洲精品日产精品乱码不卡| 性色av一区二区三区| 免费不卡在线视频| 国产精品女主播| 亚洲国内精品| 欧美在线免费观看视频| 宅男噜噜噜66国产日韩在线观看| 欧美呦呦网站| 欧美日韩精品高清| 尤物精品在线| 亚洲欧美日韩一区二区三区在线| 亚洲精品免费网站| 久久久精品国产99久久精品芒果| 欧美三级不卡| 亚洲电影在线免费观看| 午夜精品影院| 亚洲欧美第一页| 欧美精品一区二区三区在线播放 | 亚洲免费观看视频| 久久九九热re6这里有精品| 欧美日韩精品一区视频| 一区福利视频| 香蕉av777xxx色综合一区| 亚洲视频中文字幕| 欧美搞黄网站| 狠狠色香婷婷久久亚洲精品| 亚洲欧美一区二区在线观看| 亚洲一区成人| 欧美日韩ab片| 亚洲高清在线观看一区| 久久激情视频免费观看| 欧美在线播放一区| 国产精品午夜国产小视频| 99国产精品视频免费观看一公开| 亚洲精品少妇| 久久综合久久美利坚合众国| 国产亚洲女人久久久久毛片| 亚洲影视在线| 性欧美大战久久久久久久久| 国产精品久久久久9999| 日韩视频永久免费| 亚洲美女色禁图| 欧美成人免费播放| 在线观看免费视频综合| 久久精品人人做人人爽电影蜜月| 欧美在线视频免费| 国产精品亚洲片夜色在线| 亚洲视频成人| 亚洲欧美韩国| 国产精品美女www爽爽爽| 中文精品在线| 亚洲欧美欧美一区二区三区| 欧美午夜宅男影院| 亚洲一区欧美激情| 亚洲欧美日韩人成在线播放| 国产精品久久久久久久久久久久久 | 欧美一区二区三区的| 国产精品欧美风情| 亚洲欧美日本日韩| 欧美一级久久久| 国产欧美日韩视频在线观看| 香蕉视频成人在线观看| 久久精品国产亚洲高清剧情介绍| 国产亚洲福利| 欧美中文字幕在线观看| 久久一区二区三区国产精品| 一区二区视频在线观看| 亚洲美女av在线播放| 欧美日韩一区二区免费在线观看 | 欧美怡红院视频| 国产亚洲人成a一在线v站| 欧美一区激情| 免费一级欧美片在线播放| 亚洲国产一区在线| 亚洲天堂久久| 国产精品色网| 欧美在线一级视频| 免费欧美日韩国产三级电影| 亚洲精品国产精品乱码不99按摩| 亚洲性夜色噜噜噜7777| 亚洲主播在线| 麻豆精品网站| 在线免费观看日韩欧美| 亚洲视频网在线直播| 国产精品最新自拍| 亚洲第一黄色网| 欧美日韩国产色视频| 亚洲香蕉成视频在线观看 | 黑人巨大精品欧美黑白配亚洲| 久久精品亚洲| 欧美日韩国产综合视频在线观看中文| 一区二区三区日韩精品视频| 久久av在线看| 亚洲黄色在线| 欧美诱惑福利视频| 亚洲国产高清一区| 亚洲欧美国产77777| 激情欧美一区| 一区二区三区四区五区在线| 国产九色精品成人porny| 亚洲欧洲综合另类| 国产精品v欧美精品∨日韩| 久久爱另类一区二区小说| 欧美激情综合五月色丁香小说| 亚洲一区久久| 你懂的视频一区二区| 亚洲视频一区| 麻豆国产精品一区二区三区| 一区二区三区**美女毛片| 久久一二三四| 亚洲一区二区在线视频| 欧美大秀在线观看| 午夜国产精品影院在线观看| 欧美成人精品在线| 亚洲欧美日韩在线观看a三区 | 亚洲欧洲精品一区二区三区波多野1战4| 欧美日韩一区二区欧美激情 | 日韩午夜视频在线观看| 国产免费观看久久黄| 亚洲精品黄网在线观看| 国产精品中文字幕欧美| 一本色道久久88精品综合| 国内成+人亚洲+欧美+综合在线| 在线视频亚洲一区| 极品日韩av| 欧美一级视频| 日韩视频中文| 麻豆精品网站| 销魂美女一区二区三区视频在线| 欧美日韩在线一区| 亚洲国产精品成人| 国产女同一区二区| 亚洲午夜一区二区三区| 精品1区2区| 久久精品1区| 亚洲制服欧美中文字幕中文字幕| 欧美精品色网| 亚洲精品黄网在线观看| 伊人狠狠色j香婷婷综合| 久久精彩视频| 香蕉免费一区二区三区在线观看 | 亚洲一区观看|