當(dāng)前位置:首頁 > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化

引 言

目前,國(guó)內(nèi)生產(chǎn)的部分在線仿真調(diào)試器可以對(duì)部分嵌入式芯片進(jìn)行仿真調(diào)試。但從本質(zhì)上,這些仿真調(diào)試器無法對(duì)所有帶在線調(diào)試功能的嵌入式芯片進(jìn)行仿真調(diào)試。BDI2000和TRACE32等仿真器可以在不改變硬件條件下,通過下載針對(duì)特定嵌入式芯片的調(diào)試“核”來實(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é)訪問和處理源文件;接收調(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ì)不同類型嵌入式處理芯片的高擴(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所示。



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



參數(shù)指令傳遞模塊用于合并總線讀寫模塊接收的參數(shù)和指令。當(dāng)寫有效且主控模塊沒有工作時(shí),將從Avalon總線接收的前128位數(shù)據(jù)拼接起來存放在參數(shù)寄存器中,后32位數(shù)據(jù)由指令寄存器接收;當(dāng)寫無效時(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ù)通過JTAG的TDI端口送入目標(biāo)機(jī)。

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

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

1.2 JTAG IP core接口程序

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

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

寫數(shù)據(jù)部分,目標(biāo)機(jī)的內(nèi)存地址和寄存器號(hào)作為參數(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)中讀取目標(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)來循環(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í),總線讀寫模塊開始從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ù)后,主控模塊開始工作;同時(shí),主控模塊的busy_flag信號(hào)觸發(fā)狀態(tài)機(jī)模塊工作。從圖中可看到,TMS序列出現(xiàn)數(shù)據(jù),TDI端口開始送出數(shù)據(jù)。JTAG IP core模塊能按照預(yù)定設(shè)計(jì)輸出TMS和TDI調(diào)試序列,說明該IPcore在邏輯上是正確的。

結(jié) 語

本文提出了以知識(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)化工作。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉