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

        ?

        一種面向多核DSP的集成開發(fā)環(huán)境的研究與實現(xiàn)

        2015-05-29 12:45:47朱艷林廣棟
        電腦知識與技術(shù) 2015年10期

        朱艷 林廣棟

        摘要:該文提出了一種面向多核數(shù)字信號處理器的集成開發(fā)環(huán)境軟件。該開發(fā)環(huán)境基于Eclipse的開源代碼基礎(chǔ),開發(fā)相應(yīng)插件,集成多核DSP的匯編工具鏈、C編譯器及調(diào)試工具。針對多核DSP的多核并行特性,對Eclipse的CDT/DSF框架進行了改造和擴展,以支持多核調(diào)試。為面向多核DSP應(yīng)用的開發(fā)人員提供了一個集成編譯、工程管理、調(diào)試管理的可視化開發(fā)環(huán)境,提高開發(fā)的速度和質(zhì)量。

        關(guān)鍵詞:集成開發(fā)環(huán)境;多核;Eclipse;DSP

        中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2015)10-0099-03

        DSP是一種用于處理數(shù)字信號處理的專用處理器。在電子技術(shù)各個領(lǐng)域,例如雷達、聲納、語音通信、數(shù)字通信等,正廣泛使用DSP處理器搭建的系統(tǒng)處理日益龐大的數(shù)字信息。

        為了解決計算能力需求與功耗增加之間的日益突出的矛盾,近幾年DSP的設(shè)計正在向增加處理核數(shù)量的方向發(fā)展[1], 多核DSP以較低的功耗提供了更強的計算處理能力。但是多核DSP的并行特性也給DSP的開發(fā)者帶來了新的挑戰(zhàn),不僅需要新的編程模型和代碼框架,還需要新的支撐工具環(huán)境支持多核并行編程和調(diào)試。

        Eclipse及C/C++ Toolkit(CDT)是目前在嵌入式領(lǐng)域廣泛使用的集成開發(fā)環(huán)境,集成了編譯、工程管理、代碼分析索引、源碼調(diào)試等多種開發(fā)功能。Eclipse和CDT還是可擴展的,為開發(fā)者提供了豐富的接口,在Eclipse平臺上嵌入新的組件,并能與平臺無縫集成。

        本文提出一個面向多核DSP的集成開發(fā)環(huán)境,集成了多核DSP的匯編工具鏈、C編譯器及調(diào)試工具。為面向多核DSP應(yīng)用的開發(fā)人員提供了一個集成編譯、工程管理、調(diào)試管理的可視化開發(fā)環(huán)境,提高開發(fā)的速度和質(zhì)量。

        1 概述

        多核DSP的集成開發(fā)環(huán)境的架構(gòu)如圖1所示。集成開發(fā)環(huán)境基于Eclipse和C/C++ Development Tool(CDT)構(gòu)建。Eclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。開發(fā)者能夠?qū)㈤_發(fā)套件、圖形功能以及任何必須的功能通過統(tǒng)一的插件接口集成到同一個開發(fā)環(huán)境中。CDT是Eclipse社區(qū)的一個子項目,致力于開發(fā)在Eclipse環(huán)境下C/C++語言開發(fā)環(huán)境的插件,該插件提供了C/C++開發(fā)需要的工程管理、編譯管理、調(diào)試管理等功能框架。

        多核DSP集成開發(fā)環(huán)境在Eclipse和CDT的基礎(chǔ)上,開發(fā)匯編插件、C編譯插件和調(diào)試插件,分別用于集成多核DSP的匯編工具鏈、C編譯器和調(diào)試工具。工程管理插件用于管理工作空間中的多核DSP工程,提供新建工程、工程屬性配置、工程模板生成等。

        圖1 多核DSP的集成開發(fā)環(huán)境的架構(gòu)圖

        在多核DSP集成開發(fā)環(huán)境中,用戶能夠新建面向多核DSP的匯編語言工程或C語言工程,環(huán)境在編譯工程時能夠自動選擇匯編工具鏈或C編譯器進行編譯。代碼編譯成.out可執(zhí)行文件后,用戶可以進行源代碼調(diào)試,環(huán)境支持針對一個核的調(diào)試,也支持對多個核的同步調(diào)試。用戶可以執(zhí)行在指定單核上的單步、運行、暫停等調(diào)試命令,也可以對指定的DSP核組合同步執(zhí)行這些調(diào)試命令。用戶也可以設(shè)置斷點、觀察點,查看和修改寄存器、內(nèi)存、變量等調(diào)試數(shù)據(jù),進行反匯編等調(diào)試操作。集成開發(fā)環(huán)境提供內(nèi)存繪圖的功能,使用戶能夠已曲線圖來查看內(nèi)存數(shù)據(jù)。

        多核DSP集成開發(fā)環(huán)境的用戶界面如圖2。

        2 系統(tǒng)設(shè)計

        2.1 匯編工具鏈及C編譯器的集成

        為了集成第三方匯編工具鏈和編譯器,CDT提供了受管構(gòu)建系統(tǒng)(Managed Build System, MBS),使用戶能夠在Eclipse標(biāo)準(zhǔn)用戶接口中創(chuàng)建、移除、重構(gòu)自定義工程,并且提供一個工程屬性頁面使用戶能夠配置各種編譯選項。

        MBS提供了org.eclipse.cdt.managebuilder.core.buildDefinitions擴展點,定義包括工程類型projectType、配置configuration、工具鏈toolchain、構(gòu)建器builder、工具tool、工具選項類型category、工具選項option、輸入輸出類型inputType、outputType等DOM元素,用于定義構(gòu)建工程所需要的各個方面。用戶只需要配置plugin.xml插件腳本文件擴展該擴展點,就可以集成第三方工具鏈,并且能夠指定相應(yīng)的構(gòu)建工具、構(gòu)建順序、編譯選項、輸入輸出文件類型等信息。MBS能夠自動根據(jù)用戶的配置生成正確的創(chuàng)建文件makefile,并調(diào)用外部構(gòu)建工具(默認(rèn)的是GNU的make)完成工程編譯工作。

        多核DSP集成開發(fā)環(huán)境基于MBS集成了多核DSP的匯編工具鏈和C編譯器occ[2]。系統(tǒng)擴展了org.eclipse.cdt.managebuilder.core.buildDefinitions擴展點,定義了兩個projectType元素,分別對應(yīng)匯編工程和C語言工程,在兩個元素下分別定義匯編和C語言兩個工具鏈,并為每個工具定義輸入輸出文件類型和工具選項。

        2.2 工程管理設(shè)計

        為了提升工程管理功能的用戶體驗,系統(tǒng)沒有使用MBS默認(rèn)的org.eclipse.cdt.managedbuilder.ui.newWizardPages擴展點,而是使用了Eclipse原始的org.eclipse.ui.newWizards擴展點,來定義在新建工程時所顯示的配置頁面。多核DSP集成開發(fā)環(huán)境的新建工程配置頁面允許用戶指定工程名稱、工程路徑、目標(biāo)DSP芯片類型、開發(fā)語言(匯編語言或C語言)、是否需要嵌入式操作系統(tǒng)支持等工程選項。工程生成時集成開發(fā)環(huán)境會根據(jù)用戶的配置來選擇合適的工程類型projectType,并且根據(jù)用戶的選擇來配置相應(yīng)的工具選項。

        DSP工程由源文件和鏈接描述文件等文件構(gòu)成,為了給用戶提供一個可用的工程模板,系統(tǒng)擴展了org.eclipse.cdt.core.templates和org.eclipse.cdt.core.templateAssociations擴展點,為匯編工程和C語言工程分別定義了工程模板,并把工程模板與MBS中定義的工程類型projectType聯(lián)系起來。這樣,用戶在新建工程時系統(tǒng)能夠自動在硬盤上生成源文件和鏈接描述文件模板。

        2.3 多核調(diào)試

        多核DSP的調(diào)試管理是基于調(diào)試服務(wù)框架(Debugger Services Framework, DSF) [3]設(shè)計的。DSF是Eclipse提供的一個新的應(yīng)用程序接口,用于在Eclipse中集成外部調(diào)試器,代替?zhèn)鹘y(tǒng)的標(biāo)準(zhǔn)調(diào)試接口CDI。DSF不僅能夠幫助開發(fā)者更加彈性靈活的配置調(diào)試界面,使用DSF還能夠達到更高的調(diào)試性能,特別適合速度較慢或遠(yuǎn)程調(diào)試的目標(biāo)機。

        DSF是面向服務(wù)的框架,基于OSGi(Open Service Gateway Initiative)規(guī)范。OSGi是一個基于java的軟件平臺,支持軟件的模塊化、即插即用的動態(tài)服務(wù)及可擴展性。調(diào)試相關(guān)的各種功能以服務(wù)的形式嵌入集成開發(fā)環(huán)境,包括調(diào)試后臺服務(wù)、運行控制服務(wù)、斷點管理服務(wù)、寄存器管理服務(wù)等,各個服務(wù)通過DSF的接口注冊到服務(wù)注冊表,并由調(diào)試會話類DsfSession統(tǒng)一管理同一個調(diào)試會話中的所有服務(wù)及服務(wù)之間的通信。

        多核DSP集成開發(fā)環(huán)境的調(diào)試功能設(shè)計架構(gòu)如圖3所示。多核DSP集成開發(fā)環(huán)境集成了多核DSP主機調(diào)試器MCCD [4],實現(xiàn)具體的調(diào)試功能。調(diào)試環(huán)境與MCCD之間通過文本格式的進程間通信管道傳輸調(diào)試命令與調(diào)試返回信息,該調(diào)試信息遵循MI接口格式,但針對多核DSP的特點擴展了調(diào)試命令及信息。當(dāng)使用軟件模擬器(Simulator)調(diào)試時,主機調(diào)試器通過socket與模擬器之間進行通信,當(dāng)調(diào)試目標(biāo)是硬件電路板時,主機調(diào)試器通過以太網(wǎng)接口與調(diào)試鏈接服務(wù)軟件交換調(diào)試報文,調(diào)試鏈接服務(wù)軟件通過JTAG控制多核DSP芯片進行調(diào)試工作。

        MI接口原本是GDB的一種用戶接口,稱為機器解釋(Machine Interpretation) 。是一種基于文本行的、面向機器的文本接口,尤其適用于當(dāng)調(diào)試器作為一個較大系統(tǒng)一部分而存在的場景。多核DSP集成開發(fā)環(huán)境對MI接口進行了擴展,使MI接口支持針對每個核的單獨控制和調(diào)試數(shù)據(jù)讀取。同時增加了包括同步運行、同步暫停、同步暫停等多核調(diào)試運行控制命令。

        在多核DSP集成開發(fā)環(huán)境中,用戶可以為每個核配置相應(yīng)的可執(zhí)行加載文件并啟動調(diào)試。調(diào)試視圖中會顯示每個核的運行狀況及堆棧信息。當(dāng)用戶在調(diào)試視圖中選擇任意核或其下面的條目時,由于調(diào)試視圖為整個調(diào)試透視圖提供調(diào)試上下文,寄存器視圖、變量視圖、反匯編視圖也會根據(jù)當(dāng)前上下文反映當(dāng)前選中核的信息;運行、暫停、單步跳入/跳出/跳過按鈕也會根據(jù)選中的上下文對當(dāng)前選中核進行控制操作。根據(jù)多核DSP的特點,調(diào)試環(huán)境提供了組運行、組暫停等同步調(diào)試功能,并提供核心組的配置及選擇的功能。

        2.4 內(nèi)存繪圖功能

        DSP是針對數(shù)字信號處理所專門設(shè)計的處理器,用戶經(jīng)常需要通過波形查看輸入和輸出數(shù)據(jù),以了解數(shù)據(jù)的特性。為此,多核DSP集成開發(fā)環(huán)境設(shè)計了內(nèi)存繪圖的功能,用戶能夠指定內(nèi)存起始地址、內(nèi)存長度、內(nèi)存間隔、數(shù)據(jù)格式,開發(fā)環(huán)境讀取這些數(shù)據(jù),并繪制曲線圖,如圖4所示。

        3 結(jié)束語

        本文提出了一種面向多核高性能數(shù)字信號處理器的集成開發(fā)環(huán)境軟件。為多核DSP的開發(fā)應(yīng)用者提供了一個集成編譯、工程管理、調(diào)試管理的可視化開發(fā)環(huán)境。為用戶提供了一個界面友好、功能完備的軟件開發(fā)環(huán)境,支持工程管理和編譯,支持單核調(diào)試和多核調(diào)試,實現(xiàn)了多核同步運行控制、針對每個核的調(diào)試數(shù)據(jù)查看等調(diào)試功能。下一步的工作是在面向多核實時操作系統(tǒng)的多任務(wù)系統(tǒng)級調(diào)試研究。

        參考文獻:

        [1] Karam L J, Alkamal I. Trends in multicore DSP platforms[J]. IEEE Signal Processing Magazine, 2009, 26(6): 38-49.

        [2] 王昊, 王向前. BWDSP SIMD WHIRL中間表示生成研究[J]. 中國集成電路, 2015(3): 30-35.

        [3] Introduction to Programming with DSF[EB/OL]. http://help.eclipse.org/indigo/topic/org.eclipse.cdt.doc.

        [4] 林廣棟, 黃光紅. 一種統(tǒng)一的調(diào)試信息管理方法[J]. 中國集成電路, 2014(11): 33-37.

        亚洲一区精品在线中文字幕| 日韩在线视精品在亚洲| 国产高清亚洲精品视频| 亚洲一区二区三区偷拍视频| 亚洲国产成人精品无码区在线秒播 | 一区二区三区日韩精品视频| 无码人妻精品一区二区三| 免费又黄又爽又猛的毛片| 国产激情久久久久久熟女老人| 国产3p一区二区三区精品| 国产精品办公室沙发| 四虎影视永久在线精品| 99在线国产视频| 日本综合视频一区二区| 国产偷久久久精品专区| chinesefreexxxx国产麻豆| 亚洲美女性生活一级片| av免费在线免费观看| 日韩人妻无码精品久久免费一| 试看男女炮交视频一区二区三区| 国产一区不卡视频在线| 久久国产精品亚洲婷婷片| 性一交一乱一伦一色一情孩交| 日韩精品成人无码AV片| 国产av一级二级三级| 国产乱人伦av在线a麻豆| 国内精品久久久久久久久齐齐| 扒下语文老师的丝袜美腿| 免费av网站大全亚洲一区| 国产在线精品一区在线观看| av无码精品一区二区乱子| 日韩一区二区中文天堂| 日本va欧美va精品发布| 5级做人爱c视版免费视频| 亚洲视频在线观看青青草| 亚洲av网一区二区三区| 天堂8中文在线最新版在线| 小13箩利洗澡无码免费视频| 日本免费视频一区二区三区| 免费观看羞羞视频网站| 欧美激情五月|