優(yōu)化的嵌入式系統(tǒng)設(shè)計資源簡化匯聚式處理器應(yīng)用
掃描二維碼
隨時隨地手機(jī)看文章
當(dāng)今的嵌入式應(yīng)用已經(jīng)無處不在,全球每年生產(chǎn)數(shù)十億顆微處理器,其中大部分被廣泛應(yīng)用于各類嵌入式系統(tǒng),從消費電子、通信終端及系統(tǒng)設(shè)備、工業(yè)控制、汽車電子系統(tǒng)到航空航天,無處不能看到嵌入式應(yīng)用的身影。在硬件平臺方面微控制器以及數(shù)字信號處理器(DSP)產(chǎn)品無論從品牌、成本、功能特性方面選擇數(shù)以千計,您完全可以針對您的目標(biāo)應(yīng)用對成本、處理能力、功耗要求、集成度、開發(fā)周期、技術(shù)難度等具體要求,精心選擇出最具綜合優(yōu)勢的硬件核心平臺。而在嵌入式操作系統(tǒng)方面,您同樣不再會有桌面應(yīng)用中幾乎無可選擇的尷尬,無論是開放源代碼的Linux陣營的各種商業(yè)版本或免費版本,還是WinCE、vxWorks等“重量級”平臺,抑或針對特定應(yīng)用優(yōu)化的如Windows Mobile、Symbian、Android等,您同樣可以為您的目標(biāo)應(yīng)用選擇一款最佳的操作系統(tǒng)軟件平臺。
嵌入式系統(tǒng)設(shè)計過程是軟硬件聯(lián)合協(xié)同開發(fā)的過程,在進(jìn)行軟硬件平臺選擇評估時,單純地離開硬件去評估操作系統(tǒng)或離開操作系統(tǒng)評估硬件平臺都有失偏頗,特別是對于很多非通用處理器來說尤其如此。當(dāng)前很多嵌入式硬件平臺都提供了針對目標(biāo)應(yīng)用優(yōu)化的操作系統(tǒng)及軟件模塊資源,一些商業(yè)化的操作系統(tǒng)也針對主流的硬件平臺進(jìn)行了優(yōu)化設(shè)計,提供第三方優(yōu)化操作系統(tǒng)版本,這些資源對于嵌入式系統(tǒng)設(shè)計來說具有重要的意義。本文將介紹一種獨特的嵌入式平臺核心處理器——匯聚式處理器Blackfin以及其主流的配套操作系統(tǒng)及相關(guān)資源。
基于Blackfin構(gòu)建獨特的嵌入式平臺
匯聚式處理器Blackfin 基于由 ADI 和 Intel 公司聯(lián)合開發(fā)的微信號架構(gòu)(MSA),它將一個 32 位 RISC 型指令集和雙 16 位乘法累加(MAC)信號處理功能與通用型微控制器所具有的易用性組合在一起。這種匯聚式處理能力的組合使得Blackfin處理器能夠在信號處理和控制處理應(yīng)用中均發(fā)揮極佳的作用 —— 在許多應(yīng)用中免除了增設(shè)單獨的異構(gòu)處理器的必要,極大地簡化了硬件和軟件設(shè)計。Blackfin處理器非常適合于滿足會聚能力起關(guān)鍵作用的嵌入式音頻、視頻和通信應(yīng)用的計算要求和功耗約束條件,包括多格式音頻、視頻、語言和圖像處理,多模式基帶和分組處理,控制處理和實時安全性。正是這種獨特的系統(tǒng)架構(gòu)、所具有的設(shè)計靈活性和可擴(kuò)展性為Blackfin處理器贏得了廣泛的適應(yīng)性,例如數(shù)字家庭娛樂、網(wǎng)絡(luò)和流媒體、汽車遠(yuǎn)程信息處理和信息娛樂、數(shù)字無線電,以及移動電視終端。
目前,Blackfin 處理器在單內(nèi)核產(chǎn)品中可提供高達(dá) 756MHz 的性能,還提供了低至 0.8V 的業(yè)界領(lǐng)先的功耗性能,對于滿足當(dāng)今及未來的信號處理應(yīng)用而言,這種高性能與低功耗的組合特征是必不可少的。Blackfin 處理器都為嵌入式系統(tǒng)設(shè)計提供了十分重要的特性及性能優(yōu)勢,包括:同時實現(xiàn)各種應(yīng)用的高性能信號處理和高效控制處理能力;可確保產(chǎn)品開發(fā)時間最小化的易用型混合 16/32 位指令集架構(gòu)和開發(fā)工具套件;豐富的嵌入式系統(tǒng)設(shè)計的軟件模塊資源和內(nèi)置硬件資源(存儲器、PWM單元、廣泛的接口等);實現(xiàn)器件功耗模式與終端系統(tǒng)要求相適應(yīng)的動態(tài)電源管理能力。所有的 Blackfin 處理器均具有多個獨立的 DMA 控制器,這些控制器支持自動數(shù)據(jù)傳輸,而所需的處理器內(nèi)核開銷極少。此外,Blackfin處理器具有豐富的存儲器配置,可以極大地方便嵌入式系統(tǒng)的應(yīng)用開發(fā)。以ADSP-BF51x系列為例,該處理器同時具有NOR閃存、NAND閃存、鐵電存儲(FRAM)、SDRAM,還提供了支持Lockbox安全技術(shù)的一次性可編程存儲器。[!--empirenews.page--]
Blackfin 處理器架構(gòu)還完全符合 SIMD 標(biāo)準(zhǔn),并包括用于加速視頻和圖像處理的指令。該架構(gòu)很適合于全信號處理/分析能力。 由于具有最佳代碼密度且只需進(jìn)行極少(或者完全不需要進(jìn)行)代碼優(yōu)化處理,因此可縮短產(chǎn)品的 面市時間,而不會遇到其他傳統(tǒng)處理器所常見的性能空間障礙。如今,在許多過去需要同時采用一個高性能信號處理器和一個單獨的高效控制處理器的應(yīng)用中,只需采用一個 Blackfin 處理器即可。這種好處極大地縮減了開發(fā)時間和成本,并最終加快了終端產(chǎn)品的面市進(jìn)程。此外,由于只需采用一組開發(fā)工具,因而減少了系統(tǒng)設(shè)計工程師的初期費用和學(xué)習(xí)時間。
操作系統(tǒng)在Blackfin上的組織結(jié)構(gòu)
廣泛優(yōu)化的操作系統(tǒng)資源
除了硬件平臺之外,嵌入式操作系統(tǒng)的選擇對于正在從事新的嵌入式開發(fā)項目的工程師來說同樣重要。對于Blackfin處理器來說,除了處理器本身的獨特性能特性優(yōu)勢外,強(qiáng)大的嵌入式操作系統(tǒng)資源是該處理器獲得廣泛應(yīng)用的另一個關(guān)鍵因素。Blackfin處理器支持包括VisualDSP自帶的操作系統(tǒng)內(nèi)核(VDK)、ThreadX、uCLinux和Nucleas等獲得業(yè)界廣泛應(yīng)用的操作系統(tǒng),避免了工程師在從其它處理器平臺移植到Blackfin平臺時因更改操作系統(tǒng)而延長終端產(chǎn)品開發(fā)周期。這些操作系統(tǒng)各自具有不同的特性和功能以及具有不同的價格、版權(quán)費用條款。從特性上看,有代碼非常緊湊、復(fù)雜度低的操作系統(tǒng)(VDK),有復(fù)雜、具有豐富特性的操作系統(tǒng)(如uClinux),具有極高可靠性的INTEGRITY,專注于汽車市場需求的RTA-OSEK,等等 。下面將對以下幾類操作系統(tǒng)進(jìn)行簡要介紹。
Blackfin處理器支持的主要操作系統(tǒng)及第三方供應(yīng)商列表。[!--empirenews.page--]
1. ThreadX
Express Logic公司的ThreadX是優(yōu)秀的硬實時嵌入式操作系統(tǒng),具有代碼規(guī)模小、實時性強(qiáng)、可靠性高、方便使用等特點,廣泛應(yīng)用于汽車電子、消費電子、工業(yè)自動化、網(wǎng)絡(luò)解決方案、軍事與航空航天等領(lǐng)域中。Express Logic公司作為全球重要的嵌入式操作系統(tǒng)提供商具有強(qiáng)大的產(chǎn)品研發(fā)能力,從而保證了該操作系統(tǒng)的持續(xù)升級。最新的ThreadX V5.2版本在小型化的ThreadX 5.1框架基礎(chǔ)上進(jìn)一步提升了系統(tǒng)速度性能,并引入了友好的開發(fā)特性,例如動態(tài)事件過濾、擴(kuò)展的事件跟蹤、SMP增強(qiáng)特性以及降低對全局存儲器的需求。
Express Logic公司與ADI公司建立了深入的合作關(guān)系,針對ADSP-BF534、ADSP-BF536和ADSP-BF537處理器提供了優(yōu)化的實時操作系統(tǒng),針對Blackfin雙內(nèi)核處理器ADSP-BF561開發(fā)了增強(qiáng)版的ThreadX實時操作系統(tǒng)(ThreadX SMP RTOS),該產(chǎn)品大大簡化了開發(fā)商管理在雙內(nèi)核SMP嵌入式處理器上的編程任務(wù),為Blackfin處理器的雙內(nèi)核提供負(fù)載平衡,縮短了雙內(nèi)核平臺的開發(fā)過程(ThreadX SMP版本是消費電子應(yīng)用中第一個真正的多處理器開發(fā)環(huán)境)。ThreadX實時操作系統(tǒng)可為Blackfin用戶提供實時、多線程應(yīng)用,Express Logic的picokernel結(jié)構(gòu)使該產(chǎn)品具有很高的性能和極小的代碼規(guī)模,最小采用4KB的獨立文件構(gòu)建所有系統(tǒng)服務(wù)。針對Blackfin處理器優(yōu)化的ThreadX還與ADI公司的VisualDSP++集成開發(fā)環(huán)境(IDE)的無縫集成,進(jìn)一步優(yōu)化了嵌入式系統(tǒng)開發(fā)環(huán)境。
2. uClinux
Linux是一種獲得廣泛應(yīng)用的嵌入式操作系統(tǒng),在所有主流的嵌入式系統(tǒng)中,嵌入式Linux無疑具有非常重要的地位。無論是其超強(qiáng)的網(wǎng)絡(luò)功能,可任意裁剪以適應(yīng)小巧的嵌入式系統(tǒng),完全免費、通用的Linux API的特點,以及全球擁有數(shù)千萬的愛好者所產(chǎn)生的廣泛開放資源,都使其成為嵌入式應(yīng)用中的重要力量。uClinux是針對微處理器應(yīng)用的Linux系統(tǒng),完全開放源碼,并針對嵌入式應(yīng)用的特點對Linux的內(nèi)核進(jìn)行了修改和重新編譯,內(nèi)核更小。uClinux包含Linux常用的API,保留了原來Linux操作系統(tǒng)具有的高穩(wěn)定性、強(qiáng)大的網(wǎng)絡(luò)功能和卓越的文件系統(tǒng)支持功能等優(yōu)點。
uClinux操作系統(tǒng)可直接運行于Blackfin處理器,對于很多嵌入式應(yīng)用來說,在與Blackfin處理器同等價位的方案中很少有能支持Linux的。然而,在面向特定的嵌入式應(yīng)用時,例如內(nèi)存空間有限或需要實時確定性以及高安全性能的應(yīng)用,Linux仍存在許多挑戰(zhàn)。工具鏈的改善、不斷演變的標(biāo)準(zhǔn)化努力等,都有助于提升Linux對于所有嵌入式應(yīng)用的價值。為此,ADI公司在uClinux里集成了大量硬件驅(qū)動和應(yīng)用例程,包括無線局域網(wǎng)驅(qū)動、音/視頻編解碼器驅(qū)動等,從而將幫助客戶非常方便地從原來的系統(tǒng)移植到Blackfin平臺上來。此外,ADI還與全球領(lǐng)先企業(yè)建立了廣泛的合作關(guān)系,為基于Linux的Blackfin嵌入式系統(tǒng)應(yīng)用開發(fā)提供了大量的優(yōu)化的操作系統(tǒng)應(yīng)用資源。ADI與公認(rèn)的uClinux先驅(qū)Arcturus Networks公司聯(lián)合推出的新型uCBF54x啟動開發(fā)工具套件和系統(tǒng)模塊就是這樣的一個范例。該開發(fā)套件可以加快具有多通道語音、mini PBX或IP視頻能力的嵌入式媒體設(shè)備的開發(fā)過程,提供的軟件包括開源uClinux BSP(板級支持包)以及Arcturus語音與管理中間件,包括完整的SIP和RTP堆棧。經(jīng)過多年積累,Blackfin Linux已經(jīng)成為嵌入式系統(tǒng)領(lǐng)域最為穩(wěn)定的嵌入式Linux發(fā)行包之一。[!--empirenews.page--]
3. µC/OSII
μC/OSII作為一個源碼公開的嵌入式實時操作系統(tǒng),可以支持64個任務(wù),同時支持信號量、消息隊列、郵箱等多種常用的進(jìn)程間通信方式。該操作系統(tǒng)程序可讀性強(qiáng)、移植性好、可裁剪,并已在通信、電子、自動化等領(lǐng)域的嵌入式設(shè)備中獲得了大量的應(yīng)用。µC/OSII是Blackfin所支持的RTOS之一,在高速的Blackfin處理器上有很強(qiáng)的硬實時性能,操作系統(tǒng)中斷響應(yīng)時間約為110周期(600MHz下約0.18us),同樣針對Blackfin處理器的主要目標(biāo)應(yīng)用集成了大量硬件驅(qū)動模塊和各種庫資源。
如果上述的操作系統(tǒng)都不能滿足您的目標(biāo)應(yīng)用需求,那么您可以采用隨VisualDSP自帶的操作系統(tǒng)內(nèi)核(VDK)。VDK是一個小而健壯的內(nèi)核,支持當(dāng)前所有的Blackfin處理器以及未來可能出現(xiàn)的新Blackfin處理器產(chǎn)品,基于VDK的嵌入式系統(tǒng)開發(fā)能滿足在不同Blackfin處理器之間的API兼容性。更重要的是,使用VDK不需要支付任何額外的成本,無須支付許可證費用或使用費,它是作為VisualDSP 的一部分提供的,會隨著VisualDSP 的升級而升級。VDK很好地整合到了VisualDSP中,在項目的靜態(tài)設(shè)置(如線程創(chuàng)建和信號量)管理非常方便,提供了很多的便利功能,包括線程、優(yōu)先級、信號量、消息傳遞、關(guān)鍵域和禁止調(diào)度域等
完善的軟件開發(fā)工具環(huán)境
隨著嵌入式處理應(yīng)用越來越復(fù)雜、投放市場的時間越來越急迫,完善的開發(fā)環(huán)境變得越來越重要。除了上述全系列優(yōu)化的嵌入式操作系統(tǒng)外,具有完整的開發(fā)環(huán)境是其受廣泛歡迎的重要原因之一。ADI提供業(yè)界一流的工具、初學(xué)套件與支持,包括熟知的、能夠支持其他Blackfin處理器的ADI CROSSCORE軟件與硬件工具,這些工具包括獲獎的VisualDSP++集成開發(fā)與調(diào)試環(huán)境、仿真器,以及EZ-KIT Lite評估版硬件。
此外,ADI還為嵌入式系統(tǒng)開發(fā)提供了大量的系統(tǒng)服務(wù)程序,即為嵌入式系統(tǒng)提供各種常見功能的軟件庫,這些服務(wù)程序?qū)嶋H上是可用于任何系統(tǒng)的公用程序,既可在未安裝RTOS的獨立式環(huán)境下運行,又可用于VDK環(huán)境。利用這些系統(tǒng)服務(wù)程序,用戶可以便捷、高效地接入Blackfin處理器的硬件子系統(tǒng),具體而言包括鎖相環(huán)路、直接內(nèi)存存取、中斷控制器、標(biāo)志控制器和定時器等等。所有Blackfin處理器均采用一套通用的API,各種應(yīng)用和設(shè)備驅(qū)動程序均可使用這些系統(tǒng)服務(wù)程序。系統(tǒng)服務(wù)程序中包含的軟件都經(jīng)過反復(fù)測試、穩(wěn)定可靠的,用戶可以輕松直接使用這些程序。利用服務(wù)程序,用戶可以輕松整合這些模塊化軟件。服務(wù)程序?qū)⒇?fù)責(zé)管理硬件資源,因此,將不同開發(fā)人員編寫的兩個程序塊整合起來變得輕而易舉。這些服務(wù)程序都與VisualDSP++集成開發(fā)環(huán)境一起提供。
為改進(jìn)應(yīng)用開發(fā)環(huán)境,美國國家儀器有限公司(NI)與ADI聯(lián)合推出了專用于ADI Blackfin處理器的LabVIEW嵌入式模塊,將LabVIEW圖形化數(shù)據(jù)流的開發(fā)環(huán)境擴(kuò)展到高性能、低功耗的Blackfin處理器,通過無縫地集成到ADI VisualDSP++開發(fā)和調(diào)試環(huán)境,極大地方便進(jìn)行快速的嵌入式系統(tǒng)開發(fā)。使用NI LabVIEW嵌入式技術(shù)可以一步到位完成系統(tǒng)建模的硬件在環(huán)測試和原型設(shè)計,幫助沒有嵌入式編程經(jīng)驗的工程師克服嵌入式開發(fā)過程中遇到的傳統(tǒng)挑戰(zhàn),可以花更少的時間在細(xì)節(jié)的了解和傳統(tǒng)低層工具的語法上,從而可以把更多的時間用于設(shè)計優(yōu)化。這一圖形化的軟件包括140多種Blackfin特有的、經(jīng)過優(yōu)化的數(shù)學(xué)、分析和信號處理函數(shù),如音頻和視頻DAC、ADC和編解碼器等集成I/O。
盡管有優(yōu)化的操作系統(tǒng)可供選擇以及提供無縫集成的完善開發(fā)工具環(huán)境,但即使對于一個經(jīng)驗豐富的設(shè)計工程師來說,嵌入式系統(tǒng)設(shè)計依然是一個極具挑戰(zhàn)性的工作。為幫助企業(yè)更快地利用Blackfin處理器完成優(yōu)化的產(chǎn)品設(shè)計,加快產(chǎn)品面市時間并降低設(shè)計成本,ADI還與眾多本地技術(shù)提供商建立了緊密的合作關(guān)系,通過他們?yōu)槠髽I(yè)提供更具針對性、貼身的技術(shù)支持。這些第三方機(jī)構(gòu)除了提供針對特定應(yīng)用的完整參考設(shè)計外,還提供相應(yīng)的仿真器、集成開發(fā)環(huán)境,以及嵌入式開發(fā)培訓(xùn)等服務(wù)。這些機(jī)構(gòu)包括:嵌入式開發(fā)工具和培訓(xùn)提供商深圳英蓓特(提供ADSP開發(fā)工具 Embest EmLink仿真器 Embest BDT集成開發(fā)環(huán)境);針對多種應(yīng)用的嵌入式Linux開發(fā)平臺及OEM板級硬件方案的華恒科技(HHBF531-StartKit,uCLinux下全套開發(fā)工具集硬件驅(qū)動、協(xié)議棧等);提供嵌入式數(shù)字媒體開發(fā)工具的上海德景(DUITEK_BF_DEMO評估板);等等。[!--empirenews.page--]
應(yīng)用案例——數(shù)碼相框設(shè)計
上圖是上海世勤電子科技有限公司基于Blackfin處理器BF52x系列開發(fā)的數(shù)碼相框產(chǎn)品方案結(jié)構(gòu)圖,該產(chǎn)品具有互聯(lián)網(wǎng)WiFi無線連接、電子郵件發(fā)送、RSS新聞閱讀、即時照片分享、全觸摸操作等領(lǐng)先的性能特性。該方案采用了uClinux嵌入式操作系統(tǒng)。作為一款典型的消費電子產(chǎn)品,滿足產(chǎn)品高性能要求的低成本實現(xiàn)方案是選擇的關(guān)鍵,Blackfin可以直接運行于uClinux使得方案有效地降低了整體實現(xiàn)成本,而且極大地方便了將公司以往的設(shè)計軟件移植到新的系統(tǒng)中。事實上,在與BF52x處理器相近價格的同類解決方案中,很少有支持Linux的處理器。
正如前面所述,ADI針對目標(biāo)應(yīng)用在uClinux操作系統(tǒng)中集成了大量的硬件驅(qū)動,包括WiFi驅(qū)動、音/視頻編解碼器的驅(qū)動等,ADI的Blackfin Linux內(nèi)核/平臺發(fā)行包內(nèi)提供了大量移植完整的應(yīng)用,為開發(fā)工作帶來了很大便利。ADI還提供了非常豐富的例程和資料,進(jìn)一步簡化了客戶的系統(tǒng)設(shè)計,縮短了產(chǎn)品研發(fā)周期。此外,由于缺少存儲器管理單元(MMU),內(nèi)存管理歷來是嵌入式處理器的重點問題之一,在BF52x平臺上移植Linux應(yīng)用必須修改由于內(nèi)存管理模式不同而帶來的問題,工作量較大。ADI公司開辟的“EngineerZone”DSP技術(shù)支持論壇(ez.analog.com)讓世勤電子的工程師可以24小時通過網(wǎng)絡(luò)利用到ADI全球工程師的智慧,快速而圓滿地幫助解決了所有的技術(shù)難題。