當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]本文通過研究提出了一種多處理器實(shí)時(shí)開發(fā)環(huán)境的設(shè)計(jì)思想,它可以支持多種型號(hào)處理器的同時(shí)開發(fā),使系統(tǒng)級(jí)開發(fā)變得簡(jiǎn)單易行。

摘要:基于DSP的實(shí)時(shí)開發(fā)環(huán)境一般都是針對(duì)單獨(dú)處理器進(jìn)行開發(fā)而設(shè)計(jì)的,當(dāng)一個(gè)系統(tǒng)中使用了多種類型的DSP芯片時(shí),往往無法同時(shí)使用這些開發(fā)環(huán)境,也就無法進(jìn)行系統(tǒng)級(jí)開發(fā)。本文通過研究提出了一種多處理器實(shí)時(shí)開發(fā)環(huán)境的設(shè)計(jì)思想,它可以支持多種型號(hào)處理器的同時(shí)開發(fā),使系統(tǒng)級(jí)開發(fā)變得簡(jiǎn)單易行。這種統(tǒng)一的軟件開發(fā)環(huán)境使開發(fā)人員始終面向同一個(gè)開發(fā)環(huán)境,易學(xué)易用,提高了開發(fā)效率。
關(guān)鍵詞:多處理器;實(shí)時(shí); Eclipse

1       引言

隨著電子技術(shù)的發(fā)展和芯片處理能力的增強(qiáng),數(shù)字信號(hào)處理技術(shù)[1]獲得了空前的發(fā)展。由多處理芯片組成的陣列信號(hào)處理系統(tǒng),使通訊、雷達(dá)、聲納進(jìn)入數(shù)字化飛速發(fā)展的時(shí)代。但如何基于多處理芯片的信號(hào)處理系統(tǒng)建立實(shí)時(shí)的軟件開發(fā)環(huán)境一直是個(gè)難題。以往的軟件開發(fā)環(huán)境一般都與DSP&CPU芯片緊密結(jié)合在一起,每一型DSP&CPU芯片都配備了專用的開發(fā)環(huán)境。這些開發(fā)環(huán)境一般都針對(duì)單獨(dú)處理器進(jìn)行開發(fā),而且相互之間互不兼容,當(dāng)一個(gè)系統(tǒng)中使用了多種類型的DSP&CPU芯片時(shí),往往無法同時(shí)使用這些開發(fā)環(huán)境,也就無法進(jìn)行系統(tǒng)級(jí)開發(fā)。對(duì)于此,我們開發(fā)了一種系統(tǒng)級(jí)的軟件開發(fā)工具,它可以支持多型處理器同時(shí)開發(fā),使系統(tǒng)級(jí)開發(fā)變得簡(jiǎn)單易行。這種統(tǒng)一的軟件開發(fā)環(huán)境使開發(fā)人員始終面向同一個(gè)開發(fā)環(huán)境,易學(xué)易用,提高了開發(fā)效率。

多處理器實(shí)時(shí)開發(fā)環(huán)境建立在以開放的Eclipse平臺(tái)[2,3]為框架的基礎(chǔ)之上,所以其主要的設(shè)計(jì)思路緊密結(jié)合了Eclipse平臺(tái)及其插件進(jìn)行構(gòu)建及其設(shè)計(jì),采用以配置文件為中心的支撐框架,各個(gè)功能模塊圍繞配置文件展開設(shè)計(jì)與實(shí)現(xiàn)。也就是說,通過配置文件構(gòu)建起硬件平臺(tái)的描述、數(shù)據(jù)流處理的描述、工程環(huán)境的描述等等,然后各個(gè)功能模塊根據(jù)相關(guān)的描述進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)。可以看出,配置文件的設(shè)計(jì)在多處理器實(shí)時(shí)開發(fā)環(huán)境中的重要性,對(duì)配置文件的改動(dòng)涉及到功能模塊實(shí)現(xiàn)的改動(dòng)。

2        配置文件說明

配置文件采用XML格式[4]進(jìn)行描述。以配置文件為中心的設(shè)計(jì)思路是軟件標(biāo)準(zhǔn)化的途徑。通過配置文件描述多處理器實(shí)時(shí)開發(fā)環(huán)境所有可配置的內(nèi)容,包括目標(biāo)硬件的描述、工程的描述、開發(fā)環(huán)境的描述等等,然后圍繞配置文件展開軟件的設(shè)計(jì)與開發(fā),實(shí)現(xiàn)具體的執(zhí)行邏輯。這種軟件設(shè)計(jì)思路具有很好的目標(biāo)硬件可擴(kuò)展、可維護(hù)性、可定制性等特點(diǎn)。下面具體說明一下硬件拓?fù)?/strong>的配置文件。

在多處理器實(shí)時(shí)開發(fā)環(huán)境項(xiàng)目建立的過程中,硬件拓?fù)鋱D描述文件將被建立起來,作為基于該項(xiàng)目開發(fā)的起點(diǎn)與基礎(chǔ)。硬件拓?fù)鋱D文件主要描述了項(xiàng)目中可編程的硬件單元及其互連關(guān)系,可編程硬件單元一般包括處理器、存儲(chǔ)器、路由器等。硬件拓?fù)鋱D描述文件名定義為HardTopology.xml。下面給出硬件拓?fù)渑渲梦募牟糠中畔ⅲ?/P>

<?xml version="1.0"?>                                             XML文件版本

<HardTopology>

       <Name>Hard Topology</Name>                        硬件拓?fù)鋱D名稱

       <Information/>                                                硬件拓?fù)鋱D描述信息

       <Issuer>by ZKHX</Issuer>                              發(fā)行者

       <Version>1.0</Version>                                    版本

<Router portnum="" id="">                               路由器(端口數(shù)量、ID

<Portn>                                                   端口n

                     <Connect type="processor" id="">       鏈接的硬件單元

                            <Class/>                                     硬件單元的類別

                            <Speed/>                                    數(shù)據(jù)流通信速度

                     </Connect>

              </Portn>

</Router>

<Processor portnum="" linknum="" id="">          處理器(端口數(shù)量、ID)

              <Portn>                                                   端口n

                     <Connect type="router" id="">            鏈接的硬件單元

                            <Class/>                                     硬件單元的類別

                            <Speed/>                                    數(shù)據(jù)流通信速度

                     </Connect>

              </Portn>

</ Processor>

<Memory portnum="" id="">                             存儲(chǔ)器(端口數(shù)量、ID)

              <Portn>                                                   端口n

                     <Connect type="router" id="">

                            <Class/>

                            <Speed/>

                     </Connect>

              </Portn>

</ Memory >

</HardTopology>

……

3        系統(tǒng)總體設(shè)計(jì)

多處理器實(shí)時(shí)開發(fā)環(huán)境分為三層框架體系結(jié)構(gòu),目標(biāo)層為目標(biāo)程序運(yùn)行的多型號(hào)、多處理器硬件平臺(tái)及其軟件結(jié)構(gòu),通信層為主機(jī)開發(fā)環(huán)境與目標(biāo)機(jī)程序通信的結(jié)構(gòu),主機(jī)開發(fā)環(huán)境層為實(shí)時(shí)開發(fā)環(huán)境的軟件結(jié)構(gòu)。多處理器實(shí)時(shí)開發(fā)環(huán)境構(gòu)建在Eclipse框架下,其各個(gè)功能模塊以Eclipse插件或者可執(zhí)行工具的形式存在。為了滿足需求中對(duì)多型號(hào)、多處理器的支持,以及良好擴(kuò)展性的支持,實(shí)時(shí)開發(fā)環(huán)境設(shè)計(jì)為開放式的框架結(jié)構(gòu)。系統(tǒng)總體結(jié)構(gòu)如圖1所示:

圖1系統(tǒng)總體設(shè)計(jì)圖

對(duì)于不同型號(hào)、多處理器硬件平臺(tái)運(yùn)行的目標(biāo)程序可能不同,實(shí)時(shí)操作系統(tǒng)、處理器算法程序應(yīng)一一對(duì)應(yīng)于不同型號(hào)、多處理器硬件平臺(tái)。通信層負(fù)責(zé)主機(jī)開發(fā)環(huán)境與目標(biāo)機(jī)程序之間的通信,對(duì)于不同型號(hào)、多處理器平臺(tái)提供不同的主機(jī)-目標(biāo)機(jī)驅(qū)動(dòng)程序,并在驅(qū)動(dòng)程序之上封裝一層主機(jī)-目標(biāo)機(jī)通信抽象層,達(dá)到主機(jī)與目標(biāo)機(jī)通信協(xié)議的統(tǒng)一,這樣建立在通信抽象層的主機(jī)開發(fā)環(huán)境不針對(duì)于某型號(hào)多處理器硬件平臺(tái),具有良好的適用性。同時(shí)在通信層提供遠(yuǎn)程調(diào)試模塊,支持多處理器程序的遠(yuǎn)程開發(fā)與調(diào)試。主機(jī)開發(fā)環(huán)境為開發(fā)人員提供基于Eclipse框架下統(tǒng)一的開發(fā)環(huán)境,開發(fā)人員在多處理器拓?fù)鋱D及其源代碼框架上進(jìn)行開發(fā),而無需過多關(guān)心多型號(hào)、多處理器硬件平臺(tái)及其配置。

4        以代碼建模為中心的開發(fā)模式

根據(jù)硬件平臺(tái)的配置文件,實(shí)時(shí)開發(fā)環(huán)境可以構(gòu)建出多處理器拓?fù)鋱D,開發(fā)人員可以在多處理器拓?fù)鋱D上進(jìn)行開發(fā),可以完成開發(fā)階段的如下工作:

1.定義數(shù)據(jù)流處理的鏈路,既數(shù)據(jù)流在多處理器之間的流動(dòng)方向及其流入、流出尺寸規(guī)格,同時(shí)定義用于數(shù)據(jù)流的內(nèi)存分配,對(duì)于流入或者流出的數(shù)據(jù)可以定義單緩存或者雙緩存方案。對(duì)于周期處理算法,還可以定義每個(gè)處理器節(jié)點(diǎn)的處理周期。

2.定義處理器節(jié)點(diǎn)的任務(wù),既處理器可以調(diào)度的執(zhí)行單元,可以定義任務(wù)的名稱及其參數(shù)、任務(wù)堆棧的大小、任務(wù)執(zhí)行的優(yōu)先級(jí)等。

3.定義處理器節(jié)點(diǎn)的資源,如信號(hào)量、郵箱等。

4.定義任務(wù)或者處理算法的內(nèi)存分配,既處理器節(jié)點(diǎn)變量的定義。在內(nèi)存定義分配時(shí),實(shí)時(shí)開發(fā)環(huán)境可以根據(jù)硬件配置文件實(shí)時(shí)判斷內(nèi)存分配的可行與否,給出提示信息。

5.定義目標(biāo)程序(處理器節(jié)點(diǎn)的任務(wù))調(diào)試的方案,在目標(biāo)代碼中生成調(diào)試程序。

在多處理器拓?fù)鋱D上完成開發(fā)階段的工作后,即可自動(dòng)生成代碼框架,然后開發(fā)人員在生成的代碼框架上繼續(xù)開發(fā)。在代碼框架自動(dòng)生成的環(huán)境中,事先定義好代碼框架生成的模板,同時(shí)開放代碼框架模板并給出說明,這樣開發(fā)人員可以自行定義不同類型多處理器硬件平臺(tái)、及其操作系統(tǒng)的代碼框架模板。代碼框架模板的內(nèi)容主要包括:支持的數(shù)據(jù)類型、數(shù)據(jù)流通信的代碼、郵箱代碼、信號(hào)量代碼、中斷代碼、調(diào)試程序代碼等。

以代碼建模為中心的開發(fā)模式分順序開發(fā)流程和增量開發(fā)流程,如下圖2和圖3所示:

圖2 順序開發(fā)流程

圖3 增量開發(fā)流程

在多處理器程序調(diào)試階段,除了傳統(tǒng)的調(diào)試視圖,還可以增加多處理器拓?fù)鋱D的調(diào)試視圖??梢酝ㄟ^多處理器拓?fù)鋱D的調(diào)試視圖觀察多處理器程序執(zhí)行的情況,包括數(shù)據(jù)流通信情況、處理器節(jié)點(diǎn)任務(wù)的執(zhí)行時(shí)間、內(nèi)存使用情況等。

在目標(biāo)機(jī)硬件診斷階段,也可以通過多處理器拓?fù)鋱D動(dòng)態(tài)顯示硬件的診斷結(jié)果,既直觀又容易定位。

可以看出,在多處理器程序開發(fā)的主要步驟都可以圍繞多處理器拓?fù)鋱D進(jìn)行,同時(shí)多處理器拓?fù)?/strong>圖也是很好的目標(biāo)程序說明文檔。這種開發(fā)模式稱為以代碼建模為中心的開發(fā)模式[5]。

5        結(jié)論

本文作者創(chuàng)新點(diǎn):本文設(shè)計(jì)的多處理器實(shí)時(shí)開發(fā)環(huán)境是一款開放式、基于標(biāo)準(zhǔn)的多處理器實(shí)時(shí)開發(fā)環(huán)境。在通用環(huán)境下,使得多處理器軟件開發(fā)的各個(gè)階段更趨標(biāo)準(zhǔn)化,它不僅能夠顯著提高開發(fā)人員、項(xiàng)目團(tuán)隊(duì)的工作效率,而且能夠帶來性能、集成以及實(shí)用型的獨(dú)特組合,適合于多型號(hào)、多處理器目標(biāo)系統(tǒng)的開發(fā),包括了軟、硬件系統(tǒng)仿真功能,工程管理和系統(tǒng)構(gòu)建,版本管理,編輯器,命令解釋器,調(diào)試工具,系統(tǒng)分析工具,系統(tǒng)觀察工具等功能模塊。這種統(tǒng)一的軟件開發(fā)環(huán)境使在基于多處理器目標(biāo)機(jī)的系統(tǒng)級(jí)開發(fā)變得簡(jiǎn)單易行。

 

致謝: 該文得到了湖北省科技攻關(guān)計(jì)劃項(xiàng)目基金(編號(hào):2004AA210B01)的支持,在此特予致謝。本文的研究是做為該項(xiàng)目的一個(gè)子課題來進(jìn)行的,其中第一作者參與了該項(xiàng)目的具體開發(fā)。

 

參考文獻(xiàn)

[1]許家玉,經(jīng)亞枝.基于DSP+FPGA的遺傳算法硬件實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2005,(01) .

[2]劉洪星,謝玉山.Eclipse開發(fā)平臺(tái)及其應(yīng)用[J].武漢理工大學(xué)學(xué)報(bào)(信息與管理工程版),2005,(02)

[3]黃凱.基于Eclipse體系的構(gòu)件開發(fā)管理平臺(tái)的設(shè)計(jì)實(shí)現(xiàn)[J].科學(xué)技術(shù)與工程,2005,(14)

[4]魏曉云,陳杰,曾云. DSP技術(shù)的最新發(fā)展及其應(yīng)用現(xiàn)狀[J].半導(dǎo)體技術(shù),2003,(09)

[5] 張進(jìn)軍,張維勇,薛來文.一種基于插件的軟件體系結(jié)構(gòu)[J].合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,(04)

本站聲明: 本文章由作者或相關(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)閉