色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          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 收藏

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

            要 點(diǎn)

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

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

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

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

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

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

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

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

            靈活的硬件

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

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

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

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

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


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

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

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

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉