<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

  接觸點(diǎn)

本文引用地址:http://dyxdggzs.com/article/87624.htm

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>