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

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]基于SoPC的通用在線調(diào)試器設計

引  言

目前,國內(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所示。

[!--empirenews.page--]

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

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

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

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

1.2  JTAG IP core接口程序

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

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

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



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

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



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

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

結(jié)  語

本文提出了以知識產(chǎn)權(quán)核(即IP core)復用技術(shù)為主的通用性調(diào)試器設計思路以及實現(xiàn)方法。下一步,可以基于ARM、MIPS系列芯片,結(jié)合本文的解決方案實現(xiàn)具體的IP core,同時增加多線程調(diào)試等優(yōu)化工作。
本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

北京2022年8月26日 /美通社/ -- 引言:國家發(fā)展改革委等部門研究制定《關(guān)于加快煤礦智能化發(fā)展的指導意見》指出,到2025年,大型煤礦和災害嚴重煤礦基本實現(xiàn)智能化,形成煤礦智能化建設技術(shù)規(guī)范與標準體系;到2035...

關(guān)鍵字: 智能化 AI 云計算 子系統(tǒng)

(全球TMT2022年7月14日訊)集成量子計算公司Quantinuum宣布與日本材料技術(shù)領(lǐng)先企業(yè)JSR Corporation開展全球合作,探索量子計算方法在半導體研究中的應用。這項合作將匯聚JSR世界領(lǐng)先的材料科學...

關(guān)鍵字: ANTI 量子計算 子系統(tǒng) 軟件平臺

(全球TMT2022年6月22日訊)借助IBM Planning Analytics with Watson (IBM Planning Analytics)與IBM Cognos Analytics,愛德數(shù)智為領(lǐng)先的...

關(guān)鍵字: IBM ANALYTICS PLANNING 子系統(tǒng)

在這篇文章中,小編將對FPGA的相關(guān)內(nèi)容和情況加以介紹以幫助大家增進對它的了解程度,和小編一起來閱讀以下內(nèi)容吧。

關(guān)鍵字: FPGA SOPC 芯片

摘 要:以ARM Core Sight Architecture Specification規(guī)范和ARM Debug Interface Architecture Specification規(guī)范為出發(fā)點,分析了ARM C...

關(guān)鍵字: SWD JTAG 調(diào)試 CortexM3 CoreSight

摘 要 :為了節(jié)約油氣生產(chǎn)的建設投資成本,提高勞動生產(chǎn)效率,中石油建設了規(guī)范、統(tǒng)一的油氣生產(chǎn)物聯(lián)網(wǎng)系統(tǒng)。文中介紹了油氣生產(chǎn)物聯(lián)網(wǎng)管理子系統(tǒng)的功能設計、系統(tǒng)數(shù)據(jù)架構(gòu)及數(shù)據(jù)處理。該系統(tǒng)的持續(xù)完善與深入應用必將為轉(zhuǎn)變油氣田生產(chǎn)...

關(guān)鍵字: 油氣生產(chǎn) 物聯(lián)網(wǎng) 管理 Java 生產(chǎn)效率 子系統(tǒng)

摘要:基于SOPC的在線分析儀器平臺從數(shù)據(jù)采集到顯示已經(jīng)可以完成分析儀器的基本功能。通過添加與上位機的通信來方便數(shù)據(jù)的驗證和平臺與網(wǎng)絡的鏈接以及數(shù)據(jù)傳輸,從而在非線性驗證和TCP/IP通訊方面實現(xiàn)對上位機的信息管理,同時...

關(guān)鍵字: SOPC 信息管理 非線性 TCP/IP

在上一篇文章中,我們主要聊了一下:在Windows系統(tǒng)中,安裝WSL子系統(tǒng)。文章在此:WSL:在Windows系統(tǒng)中開發(fā)Linux程序的又一神器但是WSL只是長得像Linux而已,雖然在這個子系統(tǒng)中,我們可以執(zhí)行Linu...

關(guān)鍵字: Windows 子系統(tǒng)

摘 要:為了更好地實現(xiàn)物聯(lián)網(wǎng)或工業(yè)控制領(lǐng)域中傳感器網(wǎng)絡設備的遠程監(jiān)控功能,本文設計了一種基于FPGA的嵌入式網(wǎng)關(guān)系統(tǒng)的隨機方法。該設計通過構(gòu)建可編程片上系統(tǒng) (SOPC),并利用Nios II嵌入式系統(tǒng)通過串口通信來實現(xiàn)...

關(guān)鍵字: 嵌入式網(wǎng)關(guān) FPGA NIOS II COS-II操作系統(tǒng) SOPC

在上一篇文章中,我們主要聊了一下:在Windows系統(tǒng)中,安裝WSL子系統(tǒng)。文章在此:WSL:在Windows系統(tǒng)中開發(fā)Linux程序的又一神器但是WSL只是長得像Linux而已,雖然在這個子系統(tǒng)中,我們可以執(zhí)行Linu...

關(guān)鍵字: Windows 子系統(tǒng)

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉