新聞中心

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

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

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

  不斷演變的軟件方法不只是使基于的設(shè)計變得更加簡便快捷。一個新興趨勢是,廠商制造更加靈活的硬件,提供使設(shè)計者更輕松地利用選項并在處理技術(shù)之間遷移的軟件。

  要 點

  ·如何在體系結(jié)構(gòu)日益增多的情況下保持甚至提高?行業(yè)正在努力解決這一難題。

  ·對于廠商而言,要想使其與眾不同,集成軟件,也可稱為“捆綁”,是一種日益重要的途經(jīng)。

  ·許多通用和專用方法正在興起和不斷演進,使設(shè)計者能探索比以往任何時候都更多的選擇,并在不同選擇之間轉(zhuǎn)換。

本文引用地址:http://m.butianyuan.cn/article/87624.htm

  公司正把更多軟件與其各自的產(chǎn)品集成起來,這與過去截然不同,那時各公司把軟件工作和各種工具留給設(shè)計公司獨自完成。最早的軟件與硬件集成產(chǎn)品是匯編器和編譯器等工具,旨在使目標(biāo)處理器的編程更容易。在過去幾十年間,公司及其開發(fā)工具合作伙伴提供的用于支持軟件開發(fā)工作的軟件不斷發(fā)展壯大。但這些工作的重點一直是簡化和加快某種目標(biāo)處理器或某個類似處理器家族的使用與開發(fā)(見附文 《》)。至今在公司及其合作伙伴的軟件和硬件集成方式方面出現(xiàn)了一個新趨勢,它不只是使開發(fā)更加簡便快捷,而且還使硬件更加靈活,并使設(shè)計者能夠在針對某個處理目標(biāo)確定和優(yōu)化設(shè)計方案之前探索更多選項。

  處理器市場的軟件開發(fā)面臨的一個挑戰(zhàn)是:如何高效地為設(shè)計者提供的大量處理器體系結(jié)構(gòu)(參考文獻 1 和參考文獻 2)。存在如此多的處理選項的一個原因是,它是設(shè)計的一個關(guān)鍵考慮事項,以便能夠很好地平衡提供的各種功能、特性和功耗,并利用最少的資源實現(xiàn)更低的成本。有數(shù)十家半導(dǎo)體公司向嵌入式系統(tǒng)設(shè)計者提供處理器,并且有若干種不同的處理方法集中于如何最好地解決問題(參考文獻 3),例如采用微處理器、微控制器、DSP(數(shù)字信號處理器)、可編程邏輯交換結(jié)構(gòu)、DSC(數(shù)字信號控制器)等。上述每個處理選項在體系結(jié)構(gòu)方面均為各自最擅長處理的任務(wù)類型選擇了一些折中,這經(jīng)常是以其它的體系結(jié)構(gòu)限制為代價,后者在迅速而高效地執(zhí)行這些任務(wù)方面的作用可忽略不計。

  若在單一系統(tǒng)內(nèi)采用 DSP、微處理器、加速邏輯等多個處理選項,就會進一步提高嵌入式軟件開發(fā)工作的復(fù)雜性。多數(shù)用戶把注意力重點放在臺式機內(nèi)的 CPU上,但是操縱磁盤驅(qū)動器、網(wǎng)絡(luò)連接、視頻顯示器等外設(shè)是電腦內(nèi)的一些嵌入式處理器。汽車需依靠數(shù)十顆處理器,即使是洗衣機、微波爐、冰箱等家電也可能使用若干顆微控制器來控制電機和用戶界面,并監(jiān)視整個系統(tǒng)。上述多個處理單元以更低的功耗和成本提供了恰好足夠的性能。

  由于存在大量代碼不兼容的特殊處理選項,迫使軟件開發(fā)團隊按照目標(biāo)處理器體系結(jié)構(gòu)來確定其設(shè)計,這是他們必須采取的首要行動之一。由于團隊在一定時期對于項目最終所需資源知之甚少,因此上述決定對于項目的總體成本、設(shè)計難度和風(fēng)險具有重大影響。

  靈活的硬件

  極為重要的是,半導(dǎo)體公司日益認(rèn)識到:供應(yīng)的軟件、運行時代碼塊、開發(fā)工具再也不只是促進各自芯片上市和銷售的輔助工具,其還是整套系統(tǒng)的必要組成部分。事實上,半導(dǎo)體公司在其芯片配套軟件方面將投入的總資源占開發(fā)預(yù)算的很大、很重要的一部分。處理器公司稱自己未涉足軟件領(lǐng)域的時代結(jié)束了。半導(dǎo)體公司的重點正在轉(zhuǎn)向那些把系統(tǒng)的某些部分劃分為硬件和軟件的系統(tǒng)公司。它們把其余軟件能力留給設(shè)計公司,以便添加各自的差異化特性。

  半導(dǎo)體公司正在創(chuàng)建和維護更多的芯片產(chǎn)品配套軟件,這是因為對于這些公司而言,利用軟件來繼續(xù)過去十年的整合歷程成本更低,更安全,更靈活。處理器設(shè)備一直在把系統(tǒng)的更多部分集成到單一芯片中,包括外設(shè)、內(nèi)存和存儲器控制器等。然而,把所有功能部件都作為硬件集成起來并不總是切實可行的。例如,CRC(循環(huán)冗余檢查)在軟件中執(zhí)行時,是一項高成本的功能,但在硬件中實現(xiàn)則比較簡單。然而只有數(shù)種處理器(如 Microchip 公司的產(chǎn)品)實際包含集成式 CRC 寄存器。在所有處理器中都包含 CRC 寄存器沒有意義,這是因為許多應(yīng)用不需要它,但是某些情況中,處理器的主要應(yīng)用會足夠多地使用它,因而這就有理由把它包含在芯片中。

  處理器廠商對集成軟件看法的改變導(dǎo)致的一個新結(jié)果是,如果廠商和設(shè)計者能在其提供的處理器當(dāng)中支持靈活性,那么這類軟件就會給他們帶來巨大好處。多數(shù)處理器公司均提供多種處理器體系結(jié)構(gòu),因此它們能更好地面向多種應(yīng)用。為所有這些產(chǎn)品提供有用的集成軟件并非一件易事,特別是如果無法在所有這些體系結(jié)構(gòu)之間支持軟件靈活性。事實上,雖然一些公司在其部分處理器產(chǎn)品內(nèi)支持靈活性,但提供面向公司所有體系結(jié)構(gòu)的整合且全面的集成軟件套件依然是將來的一個目標(biāo)。該方法不同于能支持半導(dǎo)體廠商整個處理器產(chǎn)品線開發(fā)工作的單一集成軟件開發(fā)環(huán)境。

  處理器體系結(jié)構(gòu)變化的趨勢使事情更加復(fù)雜。據(jù) Hi-Tech Software 公司首席執(zhí)行官 ClydeStubbs 表示,與行業(yè)預(yù)期相反的是,處理器體系結(jié)構(gòu)的數(shù)量實際上一直在增加。在某種意義上,指令集體系結(jié)構(gòu)的這種擴散證明了現(xiàn)代編譯器的成功,這是因為在對目標(biāo)處理器的指令集進行抽象方面,它們做了值得認(rèn)可的工作。雖然一些變化來自特殊執(zhí)行引擎等體系結(jié)構(gòu)特性,但內(nèi)存體系結(jié)構(gòu)能夠容忍內(nèi)存訪問延遲是架構(gòu)差異化的重大推動力量。這種體系結(jié)構(gòu)的變化性是反復(fù)無常的,它是實際差異化的結(jié)果,體系結(jié)構(gòu)設(shè)計團隊為針對特定應(yīng)用類別的處理器做一些折中。

  這類變化性削弱了第三方IP塊的可用性和高效率代碼(特別是實時敏感代碼)的移植性。C和C++等編程語言不包括以適應(yīng)這些在體系結(jié)構(gòu)方面很重要的差異為目標(biāo)的結(jié)構(gòu)。,倘若編譯器需要能夠有效采用這些差異化資源,就必須使用專有語言擴展。因此,雖然處理器體系結(jié)構(gòu)在指令級已變得對編譯器更友好,但在現(xiàn)代體系結(jié)構(gòu)的差異化特性方面,它們對編譯器已變得不太友好了。處理器的指令集是較次要的差異化因素,它的內(nèi)存體系結(jié)構(gòu),以及它如何能以并行方式或較低功耗執(zhí)行相關(guān)操作,則是更重要的因素。遺憾的是,這些任務(wù)并非編譯器的強項。


  即使在不同處理器之間使用相同指令集,也不足以在它們之間輕松實現(xiàn)靈活性。獲得 ARM 授權(quán)的組織對各自 ARM7 設(shè)備實現(xiàn)差異化的方式之一是借助專有的中斷、總線、外設(shè)和內(nèi)存訪問結(jié)構(gòu)。雖然這種方法使處理器能處理某類工作負(fù)荷,但它使兩個使用相同 CPU 的設(shè)備之間的代碼移植復(fù)雜化了。ARM 的 Coretex 體系結(jié)構(gòu)是措施的一部分,其目的是通過為中斷處理指定一致方法等,幫助應(yīng)對這些類型的軟件移植難題。

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

上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉