日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 工業(yè)控制 > 電子設計自動化

引 言

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

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

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

1 整體設計

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



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

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

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

1.1 核心子系統設計

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



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



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

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

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

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

1.2 JTAG IP core接口程序

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

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

寫數據部分,目標機的內存地址和寄存器號作為參數數據傳遞到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)來循環(huán)檢測數據是否有效。如果寄存器的值不為0,則允許讀取數據。



2 JTAG IP core子系統仿真驗證

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

結 語

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

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

這款開發(fā)工具以更實惠的價格為專業(yè)工程師、學生和愛好者提供強大調試功能

關鍵字: 調試器 單片機 USB

在Linux操作系統中,GNU調試器(GDB)是一款功能強大的程序調試工具,廣泛應用于C、C++以及其他能夠被編譯成GDB可理解格式的編程語言中。GDB不僅允許開發(fā)者在程序運行時查看內存內容、控制程序執(zhí)行流程,還能實現源...

關鍵字: Linux 調試器 GDB

瑞典烏普薩拉,2024年12月5日 — 全球領先的嵌入式系統開發(fā)軟件解決方案供應商IAR宣布,對VS Code中的調試擴展IAR C-SPY調試器進行了重大升級。此次升級引入了IAR的Listwindow技術,進一步提升...

關鍵字: 調試器 嵌入式

讀源碼的目的是讓我們學習大佬的想法和技巧,通過大量的閱讀進行積累,將有用的代碼放在自己的常用代碼中,把一些零碎的知識點結合起來。其次就是讓我們積累經驗,因為很多開源組件會出現各種各樣的問題,我們沒遇到但是可以參考前輩的經...

關鍵字: 源碼 調試器

新一代MPLAB? ICD 5和MPLAB? PICkit? 5在線調試器/編程器提供了全新的編程和連接方式

關鍵字: 編程器 調試器 嵌入式設計

本教程以板上按鍵控制點亮RV-STAR開發(fā)板上的LED為目標,從IDE的下載安裝開始詳細介紹了使用NucleiStudio蜂鳥調試器進行RISC-V嵌入式開發(fā)的方法。系統環(huán)境:Windows10-64bit硬件平臺:基于...

關鍵字: ST 調試器 Studio

關注「嵌入式大雜燴」,選擇「星標公眾號」一起進步!來源|?電子電路開發(fā)學習前言分享一篇之前寫的文章。趁著前段時間兩家PCB廠家打價格戰(zhàn),一天之內,多次降價,看著真是熱鬧。捷配降到最低3元一款,而嘉立創(chuàng)降到最低5元一款,都...

關鍵字: link 調試器

前言分享一篇之前寫的文章。趁著前段時間兩家PCB廠家打價格戰(zhàn),一天之內,多次降價,看著真是熱鬧。捷配降到最低3元一款,而嘉立創(chuàng)降到最低5元一款,都是順豐包郵,不過嘉立創(chuàng)免顏色費,而捷配不免,本著吃瓜群眾的態(tài)度,趕緊薅了一...

關鍵字: 調試器 固件 原理圖

J-Link作為被廣泛使用的調試器,提供了多種配套的軟件工具。

關鍵字: J-Link 調試器 DDL

作為嵌入式工程師,下載調試器都應該知道,但你真正了解其SWD和JTAG接口的含義和區(qū)別嗎?

關鍵字: 調試器 嵌入式
關閉