《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于SoPC的通用在線調試器設計
基于SoPC的通用在線調試器設計
中電網
柳琳琳 桑楠
摘要: 本文基于SOPC軟硬件協調設計驗證技術設計了一款通用在線調試器。SOPC技術將傳統的在線調試器以芯片形式呈現,采用知識產權核(IP core)復用技術,抽象各種不同架構的嵌入式處理器接口,給出支持統一調試接口的IP core架構,提出了基于通用在線調試器的嵌入式軟件調試方法。本文介紹了系統架構,以及關鍵子系統的工作原理及其與所處硬件環境之間的交互,最后對JTAG IP core子系統進行了仿真驗證。
關鍵詞: SoPC 調試器 IP core JTAG
Abstract:
Key words :

引  言

目前,國內生產的部分在線仿真調試器可以對部分嵌入式芯片進行仿真調試。但從本質上,這些仿真調試器無法對所有帶在線調試功能的嵌入式芯片進行仿真調試。BDI2000和TRACE32等仿真器可以在不改變硬件條件下,通過下載針對特定嵌入式芯片的調試“核”來實現對不同嵌入式芯片的仿真調試,但是非常昂貴,難以適應國內絕大多數中小企業的實際需求。

本文基于SOPC軟硬件協調設計驗證技術設計了一款通用在線調試器。SOPC技術將傳統的在線調試器以芯片形式呈現,采用知識產權核(IP core)復用技術,抽象各種不同架構的嵌入式處理器接口,給出支持統一調試接口的IP core架構,提出了基于通用在線調試器的嵌入式軟件調試方法。

本文介紹了系統架構,以及關鍵子系統的工作原理及其與所處硬件環境之間的交互,最后對JTAG IP core子系統進行了仿真驗證。

1  整體設計

系統由用戶交互、在線仿真和JTAG IP core三個子系統構成,如圖1所示。



用戶交互子系統包括TCP/IP通信端口與用戶交互界面。它主要負責訪問和處理源文件;接收調試命令,根據TCP/IP協議封裝成調試命令請求包,發送給通用調試器;同時,解析目標機的響應。其中,通信端口負責與通用在線調試器通信。

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

JTAG IP core是業務信號處理邏輯模塊,可以是ARM、PowerPC、MIPS等不同架構的嵌入式處理器。

1.1  核心子系統設計

JTAG IP core是系統的核心部分。它負責目標機調試命令的格式轉換、傳送邏輯控制,以及JTAG狀態機狀態轉換的控制。JTAG IP core子系統劃分為5個模塊,每個模塊又由子模塊所構成。模塊的執行次序不同,或并發,或順序執行。JTAG IP core子系統結構圖如圖2所示。



總線讀寫模塊負責接收參數和指令,同時將處理后的數據輸出到總線。接收總線數據子模塊接收Avalon總線的數據并更新標志位;讀信號觸發向總線發送數據子模塊進行數據傳輸。總線讀寫模塊邏輯流程如圖3所示。



參數指令傳遞模塊用于合并總線讀寫模塊接收的參數和指令。當寫有效且主控模塊沒有工作時,將從Avalon總線接收的前128位數據拼接起來存放在參數寄存器中,后32位數據由指令寄存器接收;當寫無效時停止輸入,并且啟動狀態機模塊。參數寄存器和指令寄存器均在在本模塊中定義。

狀態機模塊負責仿真JTAG狀態機中的16個狀態,憑借主控模塊中TMS序列驅動實現狀態間的轉移,同時向JTAG的TMS端口送出TMS序列,以控制目標機中JTAG狀態機的運行。在SHIFT_IR和SHIFT_DR狀態下,相應的目標機指令(如ARM指令)和數據通過JTAG的TDI端口送入目標機。

目標機TDO序列接收模塊負責接收目標機傳來的數據,并將其存放在相應的寄存器中。

主控模塊在JTAG狀態機運行之前,根據參數指令傳遞模塊中指令寄存器的值更新狀態機的TMS和TDI序列數據;然后初始化TMS寄存器、TDI寄存器、標志寄存器,通過標志寄存器的值判斷JTAG狀態機的運行;在其運行結束后,在狀態機結束處理子模塊中把目標機傳來的數據送到輸出寄存器,并設置讀有效以啟動總線讀寫模塊。

1.2  JTAG IP core接口程序

在線仿真子系統中,JTAG IP core接口為JTAG IPcore子系統與NiosII CPU硬件環境之間提供數據交互服務。接口程序分成宏定義、寫數據、讀數據3個部分。

宏定義部分,JTAG IP core中的操作指令包括:進入調試狀態、獲取CPU IDCODE、讀/寫寄存器、讀/寫內存、設置斷點、設置觀察點、跳出調試狀態等。

寫數據部分,目標機的內存地址和寄存器號作為參數數據傳遞到JTAG IP core子系統中,調試指令(即宏定義中的指令)與參數一起被寫入JTAG IP core子系統中。部分程序代碼如下:



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

讀數據部分的功能是從JTAG IP core子系統中讀取目標機傳回的數據。當在線仿真子系統的Nios II CPU準備從JTAG IP core子系統中讀取數據時,JTAG IP core子系統中的寄存器數據不一定是有效數據,因而需設置一個寄存器(命名為read_ready)來循環檢測數據是否有效。如果寄存器的值不為0,則允許讀取數據。



2  JTAG IP core子系統仿真驗證

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

結  語

本文提出了以知識產權核(即IP core)復用技術為主的通用性調試器設計思路以及實現方法。下一步,可以基于ARM、MIPS系列芯片,結合本文的解決方案實現具體的IP core,同時增加多線程調試等優化工作。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
一区二区三区自拍| 亚洲婷婷国产精品电影人久久 | 亚洲综合色在线| 99国产麻豆精品| 亚洲高清一区二区三区| 欧美一级专区免费大片| 亚洲综合首页| 亚洲欧美激情四射在线日| 在线一区观看| 在线视频一区观看| 一区二区三区欧美在线| 亚洲素人一区二区| 亚洲专区欧美专区| 欧美一区二区三区免费视频| 欧美一区二视频| 欧美在线一级视频| 久久成人羞羞网站| 亚洲国产91精品在线观看| 亚洲国产成人不卡| 亚洲人成网站在线播| 亚洲精品视频在线观看网站| 亚洲精品国产拍免费91在线| 性做久久久久久免费观看欧美| 一区二区三区欧美在线| 国产精品99久久久久久人| 中文国产成人精品久久一| 亚洲一区亚洲| 欧美在线日韩| 久久高清一区| 亚洲欧洲精品成人久久奇米网 | 欧美破处大片在线视频| 欧美欧美午夜aⅴ在线观看| 欧美日韩成人精品| 国产精品久久福利| 国产日韩一区欧美| 极品尤物av久久免费看| 亚洲国产精品小视频| 亚洲美女黄网| 亚洲综合不卡| 亚洲国产欧美不卡在线观看| 日韩亚洲欧美一区| 亚洲制服丝袜在线| 久久久国产亚洲精品| 欧美成人精品福利| 国产精品劲爆视频| 激情五月婷婷综合| 99精品黄色片免费大全| 午夜精品久久久久久99热软件| 久久国产精品网站| 一区二区三区久久| 久久精品在线视频| 欧美精品久久99| 国产精品社区| 在线观看日韩av先锋影音电影院| 亚洲精品视频在线观看免费| 亚洲在线黄色| 亚洲国产第一页| 亚洲一区二区三区免费视频| 久久久久久91香蕉国产| 牛牛精品成人免费视频| 国产精品成人国产乱一区| 国产在线视频欧美| 亚洲精品在线观看免费| 亚洲欧美日韩精品一区二区| 亚洲欧洲偷拍精品| 欧美亚洲视频在线看网址| 免费观看在线综合色| 国产精品日韩在线一区| 亚洲国产二区| 午夜久久黄色| 亚洲视频福利| 久久久之久亚州精品露出| 欧美日韩喷水| 在线成人激情黄色| 午夜精品久久久久99热蜜桃导演| 日韩亚洲国产精品| 久久夜精品va视频免费观看| 国产精品久久久久久久久久久久久久 | 欧美一级在线视频| 欧美高清在线一区| 狠狠色综合网| 亚洲影院高清在线| 在线综合亚洲欧美在线视频| 老司机一区二区| 国产农村妇女毛片精品久久麻豆| 亚洲精品在线视频| 久久激情久久| 欧美在线一级va免费观看| 欧美日韩视频第一区| 永久免费毛片在线播放不卡| 亚洲一区二区三区久久| 日韩视频中文| 嫩草国产精品入口| 国产真实乱偷精品视频免| 亚洲一区区二区| 亚洲图片你懂的| 欧美xart系列在线观看| 国产自产精品| 午夜精品久久久久久久99黑人| 亚洲亚洲精品在线观看| 欧美激情区在线播放| 在线观看一区视频| 欧美主播一区二区三区美女 久久精品人| 亚洲字幕一区二区| 欧美日韩妖精视频| 亚洲乱码日产精品bd| 亚洲精品久久久久| 猫咪成人在线观看| 狠狠爱成人网| 欧美在线免费| 久久精品99| 国产深夜精品| 午夜日韩在线| 欧美一级专区| 国产免费亚洲高清| 亚洲欧美视频一区二区三区| 欧美亚洲一区二区在线| 国产精品爽爽ⅴa在线观看| 亚洲午夜精品福利| 亚洲免费小视频| 国产精品扒开腿做爽爽爽软件 | 亚洲一区二区三区三| 亚洲一区国产一区| 国产精品久久久久久久久久免费 | 亚欧成人在线| 久久精品电影| 国产在线乱码一区二区三区| 欧美一级电影久久| 久久精品一区二区三区不卡| 国产一级精品aaaaa看| 欧美一区二区三区在线视频 | 亚洲精品免费一区二区三区| 日韩视频在线免费观看| 欧美日韩不卡合集视频| 日韩视频―中文字幕| 亚洲一区视频在线| 国产欧美日韩在线视频| 欧美中文字幕在线| 欧美成人黄色小视频| 亚洲黄色影院| 在线亚洲观看| 国产精品乱码妇女bbbb| 午夜精品久久久久久久99热浪潮| 久久精品国产免费观看| 精品不卡在线| 一区二区三区日韩| 国产精品稀缺呦系列在线| 欧美一级免费视频| 麻豆精品在线观看| 亚洲伦理在线| 欧美伊人久久大香线蕉综合69| 国内久久婷婷综合| 亚洲精品网址在线观看| 欧美亚日韩国产aⅴ精品中极品| 亚洲中字在线| 免费不卡视频| 一卡二卡3卡四卡高清精品视频| 欧美一区二区国产| 亚洲成人在线免费| 在线视频精品一| 国产亚洲精品bv在线观看| 亚洲精品1区| 欧美亚州在线观看| 久久国产黑丝| 欧美日韩国产一区二区三区地区| 亚洲影院免费观看| 欧美成人免费va影院高清| 国产精品99久久久久久有的能看| 久久精品国产亚洲aⅴ| 亚洲国产精品久久久久秋霞不卡| 亚洲一级特黄| 激情综合色综合久久| 这里只有精品丝袜| 激情亚洲成人| 亚洲欧美日韩第一区| 一区二区三区在线观看欧美| 亚洲无玛一区| 狠狠做深爱婷婷久久综合一区| 一区二区三区日韩精品| 国产一区二区欧美| 中文精品视频| 好男人免费精品视频| 亚洲视频在线观看网站| 国产亚洲一区二区三区| 9色porny自拍视频一区二区| 国产亚洲一本大道中文在线| 一区二区三区四区精品| 黄色av成人| 亚洲欧美视频一区二区三区| 在线观看视频日韩| 欧美一二三区精品| 亚洲另类在线视频| 狼狼综合久久久久综合网| 亚洲亚洲精品三区日韩精品在线视频 | 亚洲欧美制服中文字幕| 欧美人与性动交cc0o| 亚洲电影激情视频网站| 国产精品爽爽ⅴa在线观看| 日韩一级精品视频在线观看| 国内综合精品午夜久久资源|