<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式軟件開(kāi)發(fā)工具造就更靈活的芯片

          嵌入式軟件開(kāi)發(fā)工具造就更靈活的芯片

          作者:Robert Cravotta,EDN技術(shù)編輯 時(shí)間:2008-09-02 來(lái)源:EDN China 收藏

            接觸點(diǎn)

          本文引用地址:http://www.ex-cimer.com/article/87624.htm

            要想使設(shè)計(jì)者能靈活地探索更多體系結(jié)構(gòu),并推遲按照特定設(shè)備來(lái)確定設(shè)計(jì),就需要公司及其軟件工具合作伙伴采取措施。許多公司在其提供的之間使用通用外設(shè)塊,并對(duì)每類外設(shè)支持一致的接口。為了幫助設(shè)計(jì)者配置和使用外設(shè),許多公司現(xiàn)在提供器件管理器、配置向?qū)А?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/處理器">處理器專家工具或可視化器件初始化工具,它們使設(shè)計(jì)者以更高的抽象級(jí)別操作,并避免了解如何把外設(shè)明確置入特定狀態(tài)的學(xué)習(xí)過(guò)程。該方法使設(shè)計(jì)者能更靈活地選用這些工具支持的器件,但它仍需要設(shè)計(jì)者了解硬件加速器或智能外設(shè)等特殊塊與普通塊之間在處理性能與功耗之間的因果關(guān)系。

            在供選擇的芯片中支持靈活性的差異化方法包括 Microchip 公司的通用代碼基,它使設(shè)計(jì)者能在 16 比特 PIC 器件和 32 比特 PIC 器件之間遷移,并提供公共 API (應(yīng)用程序接口)來(lái)抽象體系結(jié)構(gòu)差異和表示虛擬外設(shè)。它還給予外設(shè)塊一個(gè)明確而一致的外觀、感覺(jué)與行為,并借助外設(shè)引腳選擇功能來(lái)提供重新映射 I/O 引腳的能力。

            瑞薩科技公司(Renesas)發(fā)布了 RX 系列處理器,旨在統(tǒng)一來(lái)自三菱(Mitsubishi)和日立(Hitachi)的傳統(tǒng) 16 比特和 32 比特處理器之間的外設(shè) IP,作為這些體系結(jié)構(gòu)的擴(kuò)展。EXREAL(Excellent Reliability Efficiency Agility Link)平臺(tái)是“母”(或稱“超集”)平臺(tái),目標(biāo)是使用通用軟件評(píng)估、、優(yōu)化和驗(yàn)證技巧來(lái)專門處理器平臺(tái),以便探索更多的體系結(jié)構(gòu)。

            飛思卡爾公司(Freescale) Flexis 平臺(tái)提供的軟件環(huán)境涵蓋 8比特和32 比特體系結(jié)構(gòu),并支持在這些體系結(jié)構(gòu)之間上下遷移,由此嘗試在價(jià)格、性能、功率折中之間提供更多靈活性(圖 1)。該公司消費(fèi)與工業(yè)微控制器業(yè)務(wù)全球產(chǎn)品營(yíng)銷經(jīng)理 Jeff Bock 表示,50%的 Flexis 設(shè)計(jì)者一開(kāi)始就知道自己將以哪個(gè)體系結(jié)構(gòu)為目標(biāo),25% 以這兩種體系結(jié)構(gòu)為目標(biāo),其余 25% 考察這兩種體系結(jié)構(gòu),并推遲自己的選擇,直到他們擁有應(yīng)用代碼,并能比較二者之間的差異。

            德州儀器公司(TI)的 DaVinci 開(kāi)發(fā)方法(圖2)是較早的 OMAP(開(kāi)放多媒體應(yīng)用平臺(tái))方法的進(jìn)一步演進(jìn),它在芯片實(shí)現(xiàn)方面采取了最極端的立場(chǎng)。DaVinci 器件可以包括微處理器、微控制器、DSP、FPGA 甚至硬件加速器的任意組合。這種方法的一個(gè)結(jié)果是,雖然設(shè)計(jì)者可能會(huì)使用多顆異構(gòu)內(nèi)核,但軟件開(kāi)發(fā)模型試圖通過(guò) API 對(duì)實(shí)施進(jìn)行抽象,以便在新芯片上市時(shí)設(shè)計(jì)者能更簡(jiǎn)便地遷移到更好的芯片目標(biāo),而無(wú)須做太多移植工作。德州儀器公司 DSP 戰(zhàn)略營(yíng)銷經(jīng)理 Greg Mar 指出,盡管設(shè)計(jì)者努力保護(hù)自己的軟件投資,但他們需要支持不同的“接觸點(diǎn)”(或稱“互動(dòng)級(jí)”),這些不同接觸點(diǎn)甚至來(lái)自同一客戶,這給開(kāi)發(fā)帶來(lái)了嚴(yán)峻挑戰(zhàn)。

            接觸點(diǎn)對(duì)于任何處理器供應(yīng)商都是大問(wèn)題,這是因?yàn)?,雖然一些設(shè)計(jì)者想在應(yīng)用層操作,這是API 和軟件投資保護(hù)的理想之選,但其它一些設(shè)計(jì)者想借助匯編語(yǔ)言編程在硬件抽象層等更低級(jí)別接觸系統(tǒng),向下一直到達(dá)芯片。這種情況造成了重大挑戰(zhàn),因?yàn)殚_(kāi)發(fā)者在開(kāi)發(fā)系統(tǒng)時(shí)想看到不同信息。

            現(xiàn)代處理器系統(tǒng)及其周圍生態(tài)系統(tǒng)的一個(gè)關(guān)鍵因素是,它們使設(shè)計(jì)者能比以往任何時(shí)候都開(kāi)展更多的探索。許多處理器提供評(píng)估板或演示板?,F(xiàn)代低成本評(píng)估工具包的一個(gè)主要目標(biāo)是使設(shè)計(jì)者能迅速考察處理器系列,并確定它是否是自己項(xiàng)目的良好選擇。關(guān)注現(xiàn)代評(píng)估工具包細(xì)節(jié)就是為了使設(shè)計(jì)者能把硬件與縱向目標(biāo)軟件集成起來(lái),由此在幾分鐘內(nèi)就可開(kāi)展工作。這些系統(tǒng)還為設(shè)計(jì)者節(jié)省了時(shí)間,這是由于它們能立即確認(rèn),當(dāng)設(shè)計(jì)者首次把系統(tǒng)連接到自己的工作站時(shí),系統(tǒng)實(shí)際上就在正確運(yùn)行了,還由于它們能避免因開(kāi)箱后工具包不能恰當(dāng)工作而喪失故障處理機(jī)會(huì)。它們使設(shè)計(jì)者能探索更多處理選項(xiàng),并使公司能更多地接近設(shè)計(jì)者。

            把處理器的運(yùn)行實(shí)施交到設(shè)計(jì)者手中還意味著供應(yīng)商能提供差異化軟件,以便擴(kuò)充、優(yōu)化平臺(tái),并通過(guò)創(chuàng)建通用的優(yōu)化軟件庫(kù)(它們支持工具包代表的各種處理器選項(xiàng))來(lái)更好地使平臺(tái)針對(duì)設(shè)計(jì)者的項(xiàng)目。使用集成軟件日益符合設(shè)計(jì)者的利益,這樣他們就能把過(guò)去學(xué)到的經(jīng)驗(yàn)教訓(xùn)融合到處理器提供商提供的未來(lái)版本中。不僅使這種集成軟件保持原狀也符合處理器廠商的利益,這是因?yàn)樵谠O(shè)計(jì)者考慮之前,它就是包括硬件和軟件分區(qū)的系統(tǒng)產(chǎn)品不可分割的一部分。


          參考文獻(xiàn)
          1. Cravotta, Robert, “EDN Microprocessor/Microcontroller Directory.”
          2. Cravotta, Robert, “EDN DSP Directory.”
          3. Cravotta, Robert, “Processing options,” EDN, Jan 19, 2006, pg 42.


          --------------------------------------------------------------------------------
            附文:

            自從廠商推出首批匯編器為開(kāi)發(fā)商簡(jiǎn)化和加快早期處理器的編程以來(lái),處理器體系結(jié)構(gòu)和軟件開(kāi)發(fā)工具已經(jīng)發(fā)生了重大變化。匯編器過(guò)去基本上是把底層處理器體系結(jié)構(gòu)一對(duì)一映射到一套記憶法中,后者使人們更加簡(jiǎn)便可靠地把邏輯語(yǔ)句轉(zhuǎn)換成機(jī)器代碼。隨后出現(xiàn)的高級(jí)語(yǔ)言編譯器的目標(biāo)是對(duì)編程的低級(jí)別復(fù)雜性進(jìn)行抽象,使程序員能夠重點(diǎn)專注于邏輯意圖,而非低級(jí)別編碼實(shí)現(xiàn)。

            早期編譯器面臨的一個(gè)挑戰(zhàn)是,廠商在設(shè)計(jì)處理器體系結(jié)構(gòu)時(shí),經(jīng)常是為了體系結(jié)構(gòu)團(tuán)隊(duì)的利益,而非軟件團(tuán)隊(duì),這導(dǎo)致與手工優(yōu)化匯編方法相比,編譯器一般會(huì)生成相當(dāng)差的代碼。表現(xiàn)差的部分原因在于,早期處理器體系結(jié)構(gòu)依賴于特殊資源結(jié)構(gòu),比如特殊功能寄存器和地址庫(kù)。為了高效率利用這些特殊資源,設(shè)計(jì)者必須建立并跟蹤一組假設(shè),以避免資源沖突,該沖突會(huì)導(dǎo)致不正確的系統(tǒng)行為。編程語(yǔ)言甚至不認(rèn)識(shí)這些特殊資源,并且沒(méi)有標(biāo)準(zhǔn)方式讓編譯器知道應(yīng)用于每種特殊資源的種種假設(shè),因此編譯器必須建立最保守的一組假設(shè)來(lái)制造更安全但效率更低的代碼。許多現(xiàn)代編譯器都實(shí)行專有指令,它們使開(kāi)發(fā)者能指引編譯器使用一組較松散的假設(shè)來(lái)生成更高效的代碼。

            的下一個(gè)提高并非像匯編器和編譯器這樣的純粹軟件方式,它出現(xiàn)的原因是處理器體系結(jié)構(gòu)設(shè)計(jì)者開(kāi)始與軟件工具開(kāi)發(fā)者合作制造對(duì)編譯器更友好的體系結(jié)構(gòu)。通過(guò)使指令和資源交匯,編譯器在生成代碼時(shí)就能運(yùn)用一組更好、更合理的假設(shè),并且編譯器技術(shù)就能足夠成熟,不再需要手工優(yōu)化。

            許多現(xiàn)代編譯器很出色地把指令重新排序,以便與處理器的指令提取和執(zhí)行機(jī)制很好地配合,并最大限度縮短處理器停頓時(shí)間。然而,現(xiàn)代編譯器的問(wèn)題依然是如何最好地分配和使用處理器的特殊資源,特別是那些對(duì)總線和存儲(chǔ)器訪問(wèn)等系統(tǒng)其它部分固有的等待時(shí)間進(jìn)行補(bǔ)償?shù)馁Y源。這些資源包括特殊總線、內(nèi)存、DMA 結(jié)構(gòu)等,它們使處理器在某些任務(wù)方面比其它處理器有優(yōu)勢(shì)。即使在今天,設(shè)計(jì)者通常也必須明確分配和宣布如何最佳使用這些資源。開(kāi)發(fā)工具與編譯器不同,通常不包含若干特性實(shí)現(xiàn)上述目標(biāo),但這些信息經(jīng)常以應(yīng)用說(shuō)明的形式供人們利用。這種情況為編譯器和軟件開(kāi)發(fā)工具帶來(lái)了一個(gè)存在機(jī)會(huì)的領(lǐng)域,但尚不存在明顯方法完成這一任務(wù)。

            的下一個(gè)提高來(lái)自集成開(kāi)發(fā)環(huán)境,它們?cè)趩我画h(huán)境中提供了各種工具,包括程序編輯器、解析器、調(diào)試器和項(xiàng)目管理器。這些環(huán)境已經(jīng)演進(jìn),因此能提供一致的方式為各種處理器目標(biāo)開(kāi)發(fā)軟件。它們使設(shè)計(jì)者不需要為每個(gè)項(xiàng)目全面學(xué)習(xí)使用不同的工具集和處理器。德州儀器公司的 DaVinci 和飛思卡爾公司的 Flexis 等一些開(kāi)發(fā)環(huán)境正在發(fā)生演變,使設(shè)計(jì)者能在設(shè)計(jì)周期的后面改變目標(biāo)處理器。

            各種軟件開(kāi)發(fā)工具繼續(xù)發(fā)展并提高軟件生產(chǎn)率,但每次提高都伴隨著硬件變化。分配了優(yōu)先權(quán)的硬件資源使操作系統(tǒng)更加高效。要想了解日益復(fù)雜的處理器器件內(nèi)部發(fā)生的事情,專用芯片上硬件調(diào)試資源至關(guān)重要。公司不僅支持外設(shè)配置向?qū)椭O(shè)計(jì)者,而且還在自己產(chǎn)品線內(nèi)部采用通用的外設(shè)塊(或稱接口包裝器),以降低軟件開(kāi)發(fā)工具和開(kāi)發(fā)者必須應(yīng)對(duì)的復(fù)雜性。隨著用于實(shí)現(xiàn)處理器的晶體管數(shù)量的不斷增加,處理器將專門用于提高軟件生產(chǎn)率的晶體管數(shù)量也會(huì)不斷增加。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();