新聞中心

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

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

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

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

  要 點

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

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

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

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

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

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

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

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

  靈活的硬件

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

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

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

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

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


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

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

上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉