亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        異構雙核SoC軟件調試環(huán)境的研究與設計

        2016-04-12 00:00:00王品袁春如賀紅衛(wèi)
        現代電子技術 2016年3期

        摘 要: 分析了嵌入式系統(tǒng)遠程調試原理,提出面向某異構雙核SoC的調試環(huán)境設計方案,討論了仿真器軟硬件設計和調試代理軟件設計等關鍵技術。該調試環(huán)境能夠對目標平臺進行在線編程和調試,解決了自主雙核SoC處理器缺乏配套軟件調試手段的實際問題,為目標平臺的應用和推廣提供了有力支撐,對其他面向多核處理器的調試環(huán)境設計具有參考價值。

        關鍵詞: 異構雙核SoC; 仿真器; 遠程調試; USB; JTAG

        中圖分類號: TN911?34; TP311.5 文獻標識碼: A 文章編號: 1004?373X(2016)03?0001?04

        Research and design of software debugging environment for heterogeneous dual?core SoC

        WANG Pin1, YUAN Chunru2, HE Hongwei1

        (1. Academy of Chinese Weapon Science, Beijing 100089, China;

        2. Institute of the 706, Second Academy of China Aerospace Science and Industry Corporation, Beijing 100039, China)

        Abstract: Based on analysis of the remote debugging principle of the embedded system, the debugging environment design scheme for a heterogeneous dual?core SoC is proposed, and the key technologies of software hardware design for the emulator and the debugging agent software design are discussed. The debugging environment can conduct online programming and debugging for the target platform, which can solve the practical problem that the independent dual?core SoC processor lacks of the debugging means for bundled software, and provide a strong support for target platform application and promotion. It has a refe?rence value for debugging environment design of other multi?core processors.

        Keywords: heterogeneous dual?core SoC; emulator; remote debugging; USB; JTAG

        0 引 言

        多核技術是提升CPU計算能力的重要途徑。武器裝備嵌入式系統(tǒng)對高精度、高性能和安全可控的計算需求不斷提高,促使我國在核心電子器件領域的技術水平有了長足進步。目前,許多處理器已經能夠自主研制,對相應的軟件開發(fā)調試環(huán)境提出了迫切的需求。如果能夠提供包括仿真器在內的、與處理器相配套的調試環(huán)境,將會給自主芯片的應用、推廣與發(fā)展提供更加廣闊的空間。

        1 嵌入式系統(tǒng)遠程調試原理

        嵌入式系統(tǒng)一般使用遠程調試的方式進行調試,一個典型的遠程調試系統(tǒng)主要包括三個部分:調試主機、仿真器(調試協議轉換器)和調試目標板。通常來說,調試主機通過某個接口(如并口、網口、USB接口)與仿真器相連,仿真器通過JTAG接口連接調試目標板,以此達到調試主機與調試目標進行交互的目的。調試主機運行調試器(如GDB)和調試代理,并為開發(fā)調試人員和目標系統(tǒng)的交互提供友好的用戶界面。遠程調試系統(tǒng)結構如圖1所示。

        相對于本地調試,遠程調試具有以下特點:

        (1) 調試器和被調試程序運行在不同的計算機上,通過一定的通信方式將調試主機和目標板相連,繞開了目標板上軟硬件資源有限的限制,為用戶提供強大的調試環(huán)境。

        (2) 目標板上無需操作系統(tǒng)支持。目標板上即使運行操作系統(tǒng),也主要是用于嵌入式應用的支撐,而不是用于目標板的開發(fā)環(huán)境平臺。

        (3) 本地調試只能調試相同指令集的程序,而遠程調試可以調試與主機不同指令集的程序,這一特點被稱為交叉調試。

        (4) 由于調試器和被調試程序的分離,不可避免地引入了通信開銷,對調試效率有一定影響。

        2 JTAG調試標準

        JTAG是JOINT TEST ACTION GROUP的簡稱。IEEE 1149.1標準就是由JTAG組織最初提出,并由IEEE批準和標準化的。所以IEEE 1149.1標準也稱為JTAG調試標準。邊界掃描(Boundary?Scan)是JTAG調試中的關鍵技術,其基本思想是在靠近芯片的輸入/輸出管腳上增加一個移位寄存器單元,因為這些移位寄存器單元都分布在芯片的邊界上,所以被稱為邊界掃描寄存器(Boundary?Scan Register Cell)。當芯片處于調試狀態(tài)時,這些邊界掃描寄存器可以將芯片和外圍的輸入/輸出隔離開來。通過邊界掃描寄存器單元,可以實現對芯片輸入/輸出信號的觀察和控制。對于芯片的輸入管腳,可以通過與之相連的邊界掃描寄存器單元把信號(數據)加載到該管腳中去;對于芯片的輸出管腳,也可以通過與之相連的邊界掃描寄存器“捕獲”(CAPTURE)該管腳上的輸出信號。在正常的運行狀態(tài)下,這些邊界掃描寄存器對芯片來說是透明的,所以正常的運行不會受到任何影響。這樣,邊界掃描寄存器提供了一個便捷的方式用以觀測和控制所需要調試的芯片。另外,芯片輸入/輸出管腳上的邊界掃描(移位)寄存器單元可以相互連接起來,在芯片的周圍形成一個邊界掃描鏈(Boundary?Scan Chain)。一般的芯片都會提供幾條獨立的邊界掃描鏈,用來實現完整的測試功能。邊界掃描鏈可以串行的輸入和輸出,通過相應的時鐘信號和控制信號,就可以方便地觀察和控制處在調試狀態(tài)下的芯片。在IEEE 1149.1標準中,寄存器被分為兩大類:數據寄存器(Data Register,DR)和指令寄存器(Instruction Register,IR)。邊界掃描鏈是一種重要的數據寄存器,用來實現對芯片的輸入/輸出的觀察和控制。而指令寄存器用來實現對數據寄存器的控制,例如:在芯片提供的所有邊界掃描鏈中,通過指令寄存器選擇一條指定的邊界掃描鏈作為當前的目標掃描鏈即訪問對象。

        3 異構雙核SoC調試環(huán)境設計方案

        本文設計的調試環(huán)境的目標平臺為某自主異構雙核SoC,該SoC由一個ARM核與一個DSP核組成。為了節(jié)約片上資源,將SoC的ARM核和DSP核中符合IEEE 1149.1標準的JTAG控制器用菊花鏈的方式連接起來,通過一個JTAG接口進行控制。

        為了對這一設計進行支持, ARM核與DSP核的JTAG控制器都支持Bypass指令,通過Bypass指令,可以將Bypass寄存器連接到數據移入接口TDI和數據移出接口TDO之間。在某個處理器內核不需要進行任何測試的時候,將Bypass寄存器連接在TDI和TDO之間,在TDI和TDO之間提供一條長度最短的串行路徑。這樣允許測試數據快速地通過該處理器內核送到處理器其他內核上去。

        目標平臺設計了自主的調試協議,無法使用現有的任何一種軟件開發(fā)環(huán)境進行軟件的開發(fā)和調試;因此,迫切需要針對目標平臺的特點和調試協議,設計并實現與目標平臺配套的軟件調試環(huán)境。

        本文針對異構雙核處理器結構,結合JTAG標準及菊花鏈連接方式、調試環(huán)境設計技術以及多線程技術,提出了一種調試環(huán)境設計方案。調試環(huán)境交互界面基于ECLIPSE平臺,主要功能是提供友好的開發(fā)調試界面,接收用戶調試命令輸入,并顯示調試結果,如目標機寄存器內容、內存內容、堆棧內容及斷點信息等;采用GNU開源組織發(fā)布的支持多種目標平臺的程序調試工具GDB作為調試器,ECLIPSE平臺同時集成針對ARM的GDB與針對DSP的GDB,ECLIPSE平臺與GDB通過標準的Mi協議通信;調試主機駐留惟一的調試代理軟件,調試代理通過兩個線程采用兩個端口分別與兩個調試器建立連接,利用信號量解決通過單一JTAG接口訪問雙核SoC的互斥問題;調試代理利用調試主機的USB接口和仿真器進行通信。仿真器駐留異構雙核SoC調試協議解析程序,該程序作為宿主機調試代理和被調試程序之間的媒介存在。

        用戶通過ECLIPSE平臺輸入調試命令,ECLIPSE平臺根據當前處于活動狀態(tài)的工程,區(qū)分輸入命令的目標平臺,將命令轉換為若干Mi協議指令,發(fā)送給相應GDB,GDB將Mi協議指令轉換為若干遠程串行協議(RSP)指令,通過Socket連接發(fā)送給調試代理,調試代理根據接收到指令的線程區(qū)分指令的目標內核,將指令添加目標內核信息,封裝成為異構雙核調試協議指令,通過USB接口發(fā)送給仿真器軟件;仿真器軟件接收異構雙核調試指令,根據指令中的目標內核信息,區(qū)分指令對應的內核,將指令解析為ARM或DSP單個內核的調試指令DSP或ARM內核的Bypass指令,按照JTAG狀態(tài)機的時序要求,通過GPIO口將解析后的指令數據掃描到目標平臺中,同時以移位方式獲取返回結果;最后仿真器將調試結果通過USB接口發(fā)送給調試主機,經ECLIPSE解析后以圖形方式呈現給用戶。整個遠程調試系統(tǒng)結構如圖2所示。

        目前,GDB已經提供了對ARM和DSP指令集的支持,只需下載GDB源碼,使用相應編譯選項分別進行編譯,即可生成針對目標平臺的調試器。因此,本方案的關鍵技術是調試代理軟件的設計和仿真器軟硬件的設計。

        4 調試代理軟件設計

        根據異構雙核SoC調試環(huán)境設計方案,調試代理啟動兩個線程,使用兩個端口分別建立與面向ARM和DSP的GDB的Socket連接。其中一個連接接收到完整的RSP調試指令后,需獲取全局信號量,以避免與另一個內核的調試相沖突;獲取到全局信號量后,通過USB接口向仿真器發(fā)送雙核調試協議指令,等待仿真器軟件返回執(zhí)行結果;接收到執(zhí)行結果后,將結果封裝為RSP數據包,通過Socket連接返回給相應的GDB;最后釋放全局信號量,一條RSP指令執(zhí)行完畢,等待接收下一條GDB發(fā)送來的RSP指令。

        調試代理軟件通過內部變量記錄兩個內核的狀態(tài)(掛起和運行)。如果一個連接沒有接收到RSP指令,還應判斷相應內核是否處于運行狀態(tài),如果相應內核處于運行狀態(tài),則需獲取全局信號量,通過USB接口向仿真器發(fā)送內核狀態(tài)查詢指令,如果該內核已掛起,調試代理主動向GDB發(fā)送內核已掛起信號,最后釋放全局信號量。其執(zhí)行流程如圖3所示。

        5 仿真器設計

        5.1 硬件設計

        硬件電路采用AT91SAM7X512作為仿真器控制芯片,外接USB接口??刂菩酒?個GPIO引腳,分別對應IEEE 1149.1標準中的TDI,TDO,TMS,TCK,RST五個接口信號,通過緩沖處理芯片HC244SJ與目標平臺的標準JTAG接口連接。為了能夠實時觀察調試過程中仿真器與目標平臺之間的通信過程,控制芯片外接3個LED指示燈,分別與TDI,TDO及RST接口對應的GPIO引腳串聯,只要JTAG接口有信號傳輸,對應的LED燈就會閃爍,起到指示作用。

        調試主機上的調試代理與仿真器之間的通信是由連接于主控制芯片的USB接口來完成的,仿真器軟件經燒寫后存儲在FLASH芯片中。為了提高仿真器的調試速度,仿真器上電后主控制芯片通過已經燒寫在FLASH中的BootLoader將仿真器軟件搬移到SRAM中運行。

        5.2 軟件設計

        仿真器內部的嵌入式軟件的執(zhí)行流程如圖5所示。當調試主機通過仿真器與目標平臺連接后,仿真器開始通過端點中斷進行設備的枚舉過程,圖6為端點中斷處理流程。枚舉完成后,仿真器作為從設備通過USB接口與調試代理進行通信,接收并執(zhí)行雙核調試協議指令。調試代理先發(fā)送2個字節(jié)的指令長度,然后發(fā)送指令的內容。仿真器通過端點中斷接收到指令長度后開始等待接收此長度的指令內容。接收完畢后對指令進行解析,識別指令的目標處理器內核,從而選擇進入針對ARM或DSP的處理函數,將雙核調試協議指令轉化為ARM或DSP內核調試指令,與另一內核的Bypass指令進行組合,通過TDI引腳按照TAP狀態(tài)機的時序要求移入內核執(zhí)行。內核調試指令執(zhí)行完成后,仿真器將從TDO引腳移出的處理結果返回給調試代理。調試代理接收到執(zhí)行結果后開始發(fā)送下一條調試指令。

        6 實驗驗證

        將仿真器與調試主機及目標平臺連接,同時對ARM和DSP內核進行調試,實驗結果顯示,調試環(huán)境能夠實現設置斷點、單步、觀察變量等調試功能,下載程序到目標平臺的速度為50 KB/s,具有較高的調試性能。

        7 結 語

        本文提出了一種面向某自主異構雙核SoC調試環(huán)境的設計方案,解決了目標平臺缺乏配套軟件調試手段的實際問題。方案全部采用自主研發(fā)的軟硬件或開源軟件,具有功能完備、性能良好、安全可控等優(yōu)點。本方案能夠集成GNU的GCC編譯器,結合Eclipse平臺自身的功能,即可構成一個圖形化的集成軟件開發(fā)環(huán)境,實現一體化的工程管理、編譯鏈接和遠程調試功能,對其他自主多核處理器軟件開發(fā)環(huán)境的設計具有一定的參考價值。

        參考文獻

        [1] 盛建忠,王勝,張慶文,等.GDB RSP協議與USB通信在嵌入式調試系統(tǒng)中的應用[J].電子與封裝,2013(3):43?48.

        [2] 高揚.USB接口無線仿真器:硬件模塊設計[J].電子測試,2015(2):6?9.

        [3] Joint Test Action Group. IEEE Std 1149.1?2001 IEEE standard test access port and boundary?scan architecture [S]. USA: Institute of Electrical and Electronics Engineers, 2001.

        [4] 周樂,黃光紅,陸俊峰,等.一種基于網口的DSP嵌入式仿真器的設計[J].中國集成電路,2012(4):19?22.

        [5] 王爽,康慕寧.基于Eclipse平臺的嵌入式遠程調試軟件實現[J].微處理機,2014(3):56?59.

        [6] 田丹,李運喜,胡寧,等.基于Eclipse的嵌入式軟件交叉調試[J].現代電子技術,2015,38(6):86?89.

        [7] 殷紹劍,雷航,詹瑾瑜,等.嵌入式遠程調試原理研究與實現[J].計算機應用與軟件,2014,31(6):240?243.

        [8] 鮑華,余鋒林,黃光紅,等.基于多DSP系統(tǒng)的交叉調試系統(tǒng)的設計和實現[J].中國集成電路,2013,22(4):79?83.

        [9] 黃光紅,劉冠男.可配置多核處理器的調試器模塊化分層設計[J].單片機與嵌入式系統(tǒng)應用,2014(7):13?15.

        [10] 范濤,劉高輝,葉笑春,等.SPARC平臺模擬器源碼級調試系統(tǒng)的研究與實現[J].計算機工程與應用,2013,49(4):65?70.

        久久熟女乱一区二区三区四区| 丝袜美腿亚洲综合久久| 99久久精品人妻一区二区三区| 国产av综合网站不卡| 亚州终合人妖一区二区三区| 丰满熟妇人妻av无码区 | 国产精品青草久久久久婷婷| 日本女优中文字幕看片| 99久久亚洲精品加勒比| 日本一区二区三级在线| 国产剧情一区二区三区在线| 日本h片中文字幕在线| 国产精品免费看久久久无码| 亚洲字幕av一区二区三区四区| 欧美黑人性暴力猛交喷水| 精品国产制服丝袜高跟| 亚洲另类激情专区小说婷婷久 | 狠狠色丁香婷婷久久综合| 国产精品9999久久久久| 熟妇人妻无码中文字幕| 久久久久成人精品免费播放网站| 亚洲一区二区三区免费av在线| 一区二区三区极品少妇| 日韩亚洲无吗av一区二区| 久久久久亚洲精品无码系列| 天堂资源中文最新版在线一区| 国产超碰人人做人人爱ⅴa| 国产免费AV片在线看| 精品熟妇av一区二区三区四区| 一级老熟女免费黄色片| 四虎成人精品国产永久免费无码| 成人午夜性a级毛片免费| 一级毛片不卡在线播放免费| 国产目拍亚洲精品区一区| 亚洲日本中文字幕高清在线| 国产欧美精品aaaaaa片| 免费国产成人肉肉视频大全| 亚洲经典三级| 国产av一区二区三区区别| 日本高清无卡一区二区三区| 国产丝袜美腿精品91在线看|