當(dāng)今的嵌入式應(yīng)用已經(jīng)無處不在,全球每年生產(chǎn)數(shù)十億顆微處理器,其中大部分被廣泛應(yīng)用于各類嵌入式系統(tǒng),從消費(fèi)電子、通信終端及系統(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è)版本或免費(fèi)版本,還是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è)計來說具有重要的意義。本文將介紹一種獨(dú)特的嵌入式平臺核心處理器——匯聚式處理器Blackfin以及其主流的配套操作系統(tǒng)及相關(guān)資源。
基于Blackfin構(gòu)建獨(dú)特的嵌入式平臺
匯聚式處理器Blackfin 基于由 ADI 和 Intel 公司聯(lián)合開發(fā)的微信號架構(gòu)(MSA),它將一個 32 位 RISC 型指令集和雙 16 位乘法累加(MAC)信號處理功能與通用型微控制器所具有的易用性組合在一起。這種匯聚式處理能力的組合使得Blackfin處理器能夠在信號處理和控制處理應(yīng)用中均發(fā)揮極佳的作用 —— 在許多應(yīng)用中免除了增設(shè)單獨(dú)的異構(gòu)處理器的必要,極大地簡化了硬件和軟件設(shè)計。Blackfin處理器非常適合于滿足會聚能力起關(guān)鍵作用的嵌入式音頻、視頻和通信應(yīng)用的計算要求和功耗約束條件,包括多格式音頻、視頻、語言和圖像處理,多模式基帶和分組處理,控制處理和實(shí)時安全性。正是這種獨(dú)特的系統(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)勢,包括:同時實(shí)現(xiàn)各種應(yīng)用的高性能信號處理和高效控制處理能力;可確保產(chǎn)品開發(fā)時間最小化的易用型混合 16/32 位指令集架構(gòu)和開發(fā)工具套件;豐富的嵌入式系統(tǒng)設(shè)計的軟件模塊資源和內(nèi)置硬件資源(存儲器、PWM單元、廣泛的接口等);實(shí)現(xiàn)器件功耗模式與終端系統(tǒng)要求相適應(yīng)的動態(tài)電源管理能力。所有的 Blackfin 處理器均具有多個獨(dú)立的 DMA 控制器,這些控制器支持自動數(shù)據(jù)傳輸,而所需的處理器內(nèi)核開銷極少。此外,Blackfin處理器具有豐富的存儲器配置,可以極大地方便嵌入式系統(tǒng)的應(yīng)用開發(fā)。以ADSP-BF51x系列為例,該處理器同時具有NOR閃存、NAND閃存、鐵電存儲(FRAM)、SDRAM,還提供了支持Lockbox安全技術(shù)的一次性可編程存儲器。
Blackfin 處理器架構(gòu)還完全符合 SIMD 標(biāo)準(zhǔn),并包括用于加速視頻和圖像處理的指令。該架構(gòu)很適合于全信號處理/分析能力。 由于具有最佳代碼密度且只需進(jìn)行極少(或者完全不需要進(jìn)行)代碼優(yōu)化處理,因此可縮短產(chǎn)品的 面市時間,而不會遇到其他傳統(tǒng)處理器所常見的性能空間障礙。如今,在許多過去需要同時采用一個高性能信號處理器和一個單獨(dú)的高效控制處理器的應(yīng)用中,只需采用一個 Blackfin 處理器即可。這種好處極大地縮減了開發(fā)時間和成本,并最終加快了終端產(chǎn)品的面市進(jìn)程。此外,由于只需采用一組開發(fā)工具,因而減少了系統(tǒng)設(shè)計工程師的初期費(fèi)用和學(xué)習(xí)時間。
廣泛優(yōu)化的操作系統(tǒng)資源
除了硬件平臺之外,嵌入式操作系統(tǒng)的選擇對于正在從事新的嵌入式開發(fā)項(xiàng)目的工程師來說同樣重要。對于Blackfin處理器來說,除了處理器本身的獨(dú)特性能特性優(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èi)用條款。從特性上看,有代碼非常緊湊、復(fù)雜度低的操作系統(tǒng)(VDK),有復(fù)雜、具有豐富特性的操作系統(tǒng)(如uClinux),具有極高可靠性的INTEGRITY,專注于汽車市場需求的RTA-OSEK,等等 。下面將對以下幾類操作系統(tǒng)進(jìn)行簡要介紹。
1. ThreadX
Express Logic公司的ThreadX是優(yōu)秀的硬實(shí)時嵌入式操作系統(tǒng),具有代碼規(guī)模小、實(shí)時性強(qiáng)、可靠性高、方便使用等特點(diǎn),廣泛應(yīng)用于汽車電子、消費(fèi)電子、工業(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)化的實(shí)時操作系統(tǒng),針對Blackfin雙內(nèi)核處理器ADSP-BF561開發(fā)了增強(qiáng)版的ThreadX實(shí)時操作系統(tǒng)(ThreadX SMP RTOS),該產(chǎn)品大大簡化了開發(fā)商管理在雙內(nèi)核SMP嵌入式處理器上的編程任務(wù),為Blackfin處理器的雙內(nèi)核提供負(fù)載平衡,縮短了雙內(nèi)核平臺的開發(fā)過程(ThreadX SMP版本是消費(fèi)電子應(yīng)用中第一個真正的多處理器開發(fā)環(huán)境)。ThreadX實(shí)時操作系統(tǒng)可為Blackfin用戶提供實(shí)時、多線程應(yīng)用,Express Logic的picokernel結(jié)構(gòu)使該產(chǎn)品具有很高的性能和極小的代碼規(guī)模,最小采用4KB的獨(dú)立文件構(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),完全免費(fèi)、通用的Linux API的特點(diǎn),以及全球擁有數(shù)千萬的愛好者所產(chǎn)生的廣泛開放資源,都使其成為嵌入式應(yīng)用中的重要力量。uClinux是針對微處理器應(yīng)用的Linux系統(tǒng),完全開放源碼,并針對嵌入式應(yīng)用的特點(diǎn)對Linux的內(nèi)核進(jìn)行了修改和重新編譯,內(nèi)核更小。uClinux包含Linux常用的API,保留了原來Linux操作系統(tǒng)具有的高穩(wěn)定性、強(qiáng)大的網(wǎng)絡(luò)功能和卓越的文件系統(tǒng)支持功能等優(yōu)點(diǎn)。
uClinux操作系統(tǒng)可直接運(yùn)行于Blackfin處理器,對于很多嵌入式應(yīng)用來說,在與Blackfin處理器同等價位的方案中很少有能支持Linux的。然而,在面向特定的嵌入式應(yīng)用時,例如內(nèi)存空間有限或需要實(shí)時確定性以及高安全性能的應(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 Lin