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