嵌入式系統(tǒng)設(shè)計(jì)的新發(fā)展及其挑戰(zhàn)
關(guān)鍵詞:嵌入式系統(tǒng) 設(shè)計(jì)技術(shù) SoC
1 嵌入式系統(tǒng)設(shè)計(jì)技術(shù)發(fā)展的特點(diǎn)
隨著微電子技術(shù)的飛速發(fā)展,CPU已經(jīng)變成低成本器件。在可能的情況下,各種機(jī)電設(shè)備已經(jīng)或者正在嵌入CPU構(gòu)成的嵌入式系統(tǒng)。據(jù)Virginia Tech公司報(bào)告,嵌入式系統(tǒng)中所使用的CPU數(shù)量已經(jīng)超過(guò)通用PC中CPU數(shù)量的30倍。
現(xiàn)在系統(tǒng)研究的重點(diǎn)已從通用系統(tǒng)轉(zhuǎn)向?qū)S孟到y(tǒng),以及從一般性能轉(zhuǎn)向可靠性、可用性、安全性、自主性、可擴(kuò)展性、功能性、靈活性、成本、體積、功耗及可管理性上。
1.1 32位嵌入式處理器比例快速升高
InStat/MDR曾預(yù)測(cè)在2001~2006年期間,32位向控制器(MCU)的復(fù)合年增長(zhǎng)率可達(dá)22.6%。而全球32位MCU市場(chǎng)在2003年的增長(zhǎng)幅度實(shí)際已走過(guò)30%,在2004年預(yù)計(jì)將達(dá)到38%。增長(zhǎng)的驅(qū)動(dòng)因素主要有兩個(gè)方面。
一方面因?yàn)橄駭?shù)碼相機(jī)、MP3播放機(jī)、PDA、游戲機(jī)和移動(dòng)電話手機(jī)等手持設(shè)備以及各種信息家電等有更高性能要求的多媒體和通信設(shè)備的推出。在這些應(yīng)用中,龐大的多媒體數(shù)據(jù)必然需要更大的存儲(chǔ)空間,目前許多32位微控制器都可以使用SDRAM,因此可極大地降低使用更大容量數(shù)據(jù)存儲(chǔ)器的成本;而8位微控制器一般只能使用成本較高的SRAM作為數(shù)據(jù)在座 器。此外除了處理應(yīng)用控制功能之外,需支持互聯(lián)網(wǎng)接入的應(yīng)用在MCU運(yùn)行TCP/IP或其它通信協(xié)議的情況下,要求系統(tǒng)建立在RTOS上就必然成為一種現(xiàn)實(shí)需求。另外,有越來(lái)越多的像電視機(jī)、汽車音響及電子玩具等傳統(tǒng)應(yīng)用也與時(shí)俱進(jìn)地提出數(shù)字化和“硬件軟化”的要求,它們對(duì)計(jì)算性能的要求及存儲(chǔ)器容量的需求都超出絕大多數(shù)8位微控制器能提供的范圍。
另一方面由于IT技術(shù)發(fā)展的推動(dòng),32位ARM體系結(jié)構(gòu)已經(jīng)成為一種事實(shí)上的標(biāo)準(zhǔn),隨著高端32位CPU價(jià)格的不斷下降和開(kāi)發(fā)環(huán)境的成熟,促使32位嵌入式處理器日益擠壓原先由8位微控制器主導(dǎo)的應(yīng)用空間。隨著ARM處理器在全球范圍的流行,32位的RISC嵌入式處理器已經(jīng)開(kāi)始成為高中端嵌入式應(yīng)用和設(shè)計(jì)的主流。
8位機(jī)除MCS-51外,其它的8位機(jī)和16位機(jī)都沒(méi)有一種能為標(biāo)準(zhǔn)或準(zhǔn)標(biāo)準(zhǔn)產(chǎn)品。32位嵌入式處理器一度被認(rèn)為只適用于高端應(yīng)用場(chǎng)合的看法正在改變。有更多、更復(fù)雜特點(diǎn)和功能需求的便攜式電子設(shè)備正促使嵌入式系統(tǒng)工程師考慮用32位MCU取代8/16位MCU。另外,越來(lái)越多的設(shè)計(jì)師認(rèn)識(shí)到,轉(zhuǎn)用32位架構(gòu)不令能提升性能,還能降低相同成本下的系統(tǒng)功耗和節(jié)約總成本以及縮短產(chǎn)品上市時(shí)間。這個(gè)轉(zhuǎn)變?yōu)樵O(shè)計(jì)師提供了可隨著產(chǎn)品的性能和需求不斷擴(kuò)展而升級(jí)的方案。
1.2 可供選擇的可編程計(jì)算部件方案增多
(1)GPP-EP-MCU-DSP-ASP/ASSP-ASIC/SoC
嵌入式系統(tǒng)的核心是可編程計(jì)算部件,即處理器。這可以有很多種選擇,而且近幾年又增加了一些新的選擇:除過(guò)去常用的通用處理器GPP(Gereral Purpose Processor)、嵌入式處理器EP(Embedded Processor)、微控制器MCU(Micro-Control Unit)、數(shù)字信號(hào)處理器DSP(Digital Signal Processor)外,目前發(fā)展很快、可以給我們提供新的選擇的還有各種專用處理器ASP(Application Specific Processor)或?qū)S脴?biāo)準(zhǔn)產(chǎn)品ASSP(Application Specific Standard Product)。它們都是針對(duì)一些特定應(yīng)用而設(shè)計(jì)的,如用于HDTV、ADSL、Cable Modem等的專用處理器。與MCU相比,ASP/ASSP集成的資源可能比一般MCU更多、更專業(yè)化,所以ASP的價(jià)格要高于MCU;但因?yàn)樗膽?yīng)用在相關(guān)領(lǐng)域中又是通用、標(biāo)準(zhǔn)和開(kāi)放的,所以任一個(gè)公司都能應(yīng)用它構(gòu)成自己的系統(tǒng)或產(chǎn)品,而不存在侵犯知識(shí)產(chǎn)權(quán)的問(wèn)題。另一種有知識(shí)產(chǎn)權(quán)保護(hù)的在應(yīng)用上較封閉的專用集成電路ASIC(Application Specific IC)類的定制片上系統(tǒng)SoC(System on Chip)的投入成本就要比ASP高得多。但這可以根據(jù)設(shè)計(jì)人員的要求來(lái)構(gòu)建定制SoC,這樣就可為設(shè)計(jì)人員提供滿足量體載衣式應(yīng)用需求的靈活性。SoC技術(shù)使嵌入式系統(tǒng)應(yīng)用發(fā)生了革命性的變化,這個(gè)變化就是嵌入式系統(tǒng)的設(shè)計(jì)技術(shù),已從選擇廠家提供的標(biāo)準(zhǔn)產(chǎn)品時(shí)代進(jìn)入了用戶具有個(gè)性的自行開(kāi)發(fā)設(shè)計(jì)器件的時(shí)代。
(2)PsoC/SoPC/CsoC
采用定制SoC有兩大缺點(diǎn):一是高昂的一次性工程費(fèi)用(NRE);二是從產(chǎn)品概念到生產(chǎn)階段需要很長(zhǎng)的前置開(kāi)發(fā)時(shí)間。目前的一個(gè)發(fā)展趨勢(shì)是以FPGA為代表的現(xiàn)場(chǎng)可編程技術(shù)在迅速崛起。這是由于市場(chǎng)對(duì)通用可配置處理器的呼聲越來(lái)越高,傳統(tǒng)的MCU在市場(chǎng)需求中顯得越來(lái)越力不從心??膳渲?、可擴(kuò)展處理器逐漸浮出水面。利用半定制器件可以構(gòu)成基本FPGA的硬核處理器或基于FPGA的軟核處理器。并由此可編程片上系統(tǒng)(PsoC或SOPC)應(yīng)運(yùn)而生。這是一種面向消費(fèi)電子、工業(yè)、辦公自動(dòng)化、電信和汽車應(yīng)用中的嵌入式控制功能而開(kāi)發(fā)的高性能、現(xiàn)場(chǎng)可編程、混合信號(hào)陣列。它集MCU和FPGA/CPLD的優(yōu)點(diǎn)于一身,實(shí)現(xiàn)可配置SoC,既適應(yīng)了設(shè)計(jì)人員對(duì)系統(tǒng)部件集成的需要,又能實(shí)現(xiàn)可配置需求的靈活性。從而為許多現(xiàn)實(shí)應(yīng)用提供一種平衡解決方案。
不同的廠家依據(jù)自己本來(lái)的優(yōu)勢(shì),從兩個(gè)不同方向異途同歸地實(shí)現(xiàn)這種“可配置”性。一種是FPGA廠商在現(xiàn)有的FPGA架構(gòu)中加入微處理器核與其它IP功能模塊,使其兼?zhèn)涔δ苄院挽`活性。例如,Altera公司為嵌入式應(yīng)用先后推出的Nios和Nios II軟核嵌入式處理器,就是一種可特許的通用RISC CPU。它可與各種各樣的外圍接口、用戶自定義指令和硬件加速單元相組合,構(gòu)成一個(gè)定制的可編程片上系統(tǒng)(SoPC),并能夠根據(jù)需要選擇配置。Xilinx也同樣推出一個(gè)類似的32位哈佛結(jié)構(gòu)的MicroBlaze軟核嵌入式處理器。而另一種是微處理器廠家從微處理器出發(fā),再加入可編程邏輯模塊。例如Triscend公司推出一種波稱為是CsoC(Configurable SoC)的技術(shù),是在一個(gè)以ARM架構(gòu)微處理器核為核心的SoC中嵌放工可編程邏輯模塊,構(gòu)成可配置的SoC平臺(tái)。
1.3 微控制器的發(fā)展特點(diǎn)
盡管由于市場(chǎng)對(duì)多功能產(chǎn)品需求的增加和IT技術(shù)的推動(dòng),使32位MCU產(chǎn)品日益成為市場(chǎng)的熱點(diǎn);但目的8位MCU仍然是技術(shù)市場(chǎng)的主流,并且還有相當(dāng)廣闊的應(yīng)用空間和旺盛的生命力,16位MCU也占有一定的市場(chǎng)份額。各種MCU根據(jù)自己在市場(chǎng)上的定位,也都有了很大發(fā)展,MCU總的發(fā)展具有以下一些特點(diǎn)。
(1)微控制器SoC化
微控制器(MCU)已可集成越來(lái)越多的內(nèi)置部件。常用的部件有存儲(chǔ)器類,包括程序存儲(chǔ)器MROM/OTPROM/EPROM/EEPROM/Flash和數(shù)據(jù)存儲(chǔ)器SRAM/SDRAM/SSRAM;有串行接口類,包括UART、SPI、I2C、CAN、IR、Ethernet、HDLC;有并行接口類,包括Centronics、PCI、IDE、GPIO等;有定時(shí)和時(shí)鐘類,包括Timer/Counter、RTC、Watchdog、Clock out;有專用和外圍接口類,包括Comparer(比較器)、ADC、DAC、LCD控制器、DMA、PWM、PLL、MAC、溫度傳感器等。甚至有的MCU,例如NS公司的MCU,已把語(yǔ)音、圖像部件也集成到單片機(jī)中,目的就是在單個(gè)器件中集成所有所需要用到的部件,構(gòu)成片上系統(tǒng)(SoC)。由于Cygnal公司推出的C8051F系列的MCU在一個(gè)芯片中集成了構(gòu)成數(shù)據(jù)采集系統(tǒng)或控制系統(tǒng)所需要的幾乎所有的數(shù)字和模擬外圍接口和功能部件,所以這種混合信號(hào)芯片被其稱作SoC。
圖1是部分高端微控制器內(nèi)置資源。
(2)多核結(jié)構(gòu)處理器
隨著嵌入式應(yīng)用的深入,特別是在數(shù)字通信和網(wǎng)絡(luò)中的應(yīng)用,對(duì)處理器提出了更高的要求。為適應(yīng)這種情況,現(xiàn)在已出現(xiàn)多核結(jié)構(gòu)的處理器。
Motorola公司研發(fā)的MPC8260 PowerQUICC II就是是一種先進(jìn)的為電信和網(wǎng)絡(luò)市場(chǎng)而設(shè)計(jì)的集成通信微處理器。它融合了兩個(gè)CPU――嵌入式PowerPC內(nèi)核和通信處理模塊(CPM)。由于CPM分擔(dān)了嵌入式PowerPC核的外圍工作任務(wù),這種雙處理器體系結(jié)構(gòu)功耗反而要低于傳統(tǒng)體系結(jié)構(gòu)的處理器。
Infineon公司推出的TC10GP和增強(qiáng)型TC1130都是三核(TriCore)結(jié)構(gòu)的微處理器。它同時(shí)具備RISC、CISC和DSP功能,是一種建立在SoC概念上的結(jié)構(gòu)。這種單處機(jī)由三個(gè)核組成:微控制器和DSP核、數(shù)據(jù)和程序存儲(chǔ)器核、外圍專用集成電路(ASIC)。這種單片機(jī)的最大特點(diǎn)是把DSP和微控制器愈合成一個(gè)單內(nèi)核,大大提高了微控制器的功能。具有類似結(jié)構(gòu)的還有Hitachi公司的SH7410、SH7612等。它們用于既需要MCU又需要DSP功能的場(chǎng)合,比使用單獨(dú)MCU和DSP的組合提供了更優(yōu)勢(shì)的性能。
(3)更低功耗
現(xiàn)在新推出的MCU的功耗越來(lái)越小,很多MCU都有多種工作方式,包括等待、暫停、休眠、空閑、節(jié)電等工作方式。例如Philips的P87LPC762,空閑狀態(tài)下的電流為1.5mA,而在節(jié)電方式下電流只有0.5mA。很多MCU還允許在低振蕩頻率下以極低的功耗工作。例如,P87LPC764在32.768kHz低頻下,正常工作電流僅為Idd=16μA(VDD=3.6V),空閑模式下Idd=7μA(VDD=3.6V)。
(4)更寬工作電壓范圍
擴(kuò)大電源電壓范圍以及在較低電壓下仍然能工作是現(xiàn)在新推出的MCU的一個(gè)特點(diǎn)。目前一般MCU都可以在3.3~5.5V的范圍內(nèi)工作,有些產(chǎn)品則可以在2.2~6V的范圍內(nèi)工作。例如,F(xiàn)ujitsu的MB8919X、MB8912X和MB89130系列以及F2MC-8L系列MCU,絕大多數(shù)工作電壓范圍都為2.2~6V;而TI的MSP430X11X系列的工作電壓可以低達(dá)2.2V。Motorola針對(duì)長(zhǎng)時(shí)間處在待機(jī)模式的裝置所設(shè)計(jì)的超省電HCS08系列MCU,已經(jīng)把可工作的最低電壓降到了1.8V。
(5)更先進(jìn)的工藝和更小的封裝
現(xiàn)在MCU的封裝水平已大大提高,有越來(lái)越多的MCU采用了各種帖片封裝形式,以滿足便攜式手持設(shè)備的需要。Microchip公司推出了目前世界上體積最小的6引腳PIC10F2XX系列MCU。為了適應(yīng)各種應(yīng)用的需要,減少驅(qū)動(dòng)電路,很多MCU的輸出能力都有了很大提高,Motorola MCU的I/O口灌電流可達(dá)8mA以上,而Microchip的MCU可達(dá)20~25mA,其它如AMD、Fujitsu、NEC、Infineon、Hitachi、Toshiba等都在8~20mA之間。
(6)低噪聲布線技術(shù)
在過(guò)去一般MCU中,電源與地引腳是安排在芯片封裝的對(duì)角上,即左上、右下或右上、左下位置上。這種安排會(huì)使電源噪聲對(duì)MCU的內(nèi)部電路造成相對(duì)最大干擾?,F(xiàn)在很多MCU都把電源和地引腳安排在兩個(gè)相鄰的引腳上。這樣既降低了干擾,還便于在印制電路板上對(duì)去耦電容器進(jìn)行布線,降低系統(tǒng)的噪聲。
2 嵌入式系統(tǒng)設(shè)計(jì)的新挑戰(zhàn)
要求更高的應(yīng)用需求推動(dòng)嵌入式設(shè)計(jì)正在8/16位轉(zhuǎn)向功能更強(qiáng)大的32位MCU。這種升級(jí)給工程師帶來(lái)性能空間和處理裕度提升的同時(shí)也帶來(lái)了嚴(yán)峻的挑戰(zhàn),提出了一系列前所未有的全新問(wèn)題。首先,要對(duì)開(kāi)發(fā)工具和軟件進(jìn)行新的投資,并對(duì)設(shè)計(jì)流程進(jìn)行重新定義;另外,要對(duì)原軟件能多大程度地用于新架構(gòu)、要把已有軟件移植到32位的新架構(gòu)上還必須做多少工作,以及器件和開(kāi)發(fā)工具的成本、存儲(chǔ)器的種類、規(guī)模、性能和容量、可選器件的種類等進(jìn)行評(píng)估。是否向32位升級(jí)主要取決于經(jīng)過(guò)綜合考慮后的總的系統(tǒng)成本等。
2.1 發(fā)生了哪些變化
原來(lái)國(guó)內(nèi)熟悉8位MCU開(kāi)發(fā)的工程師大部分出身于電子工程和其他機(jī)電專業(yè),而非計(jì)算機(jī)專業(yè)。隨著嵌入式系統(tǒng)設(shè)計(jì)技術(shù)的發(fā)展,已經(jīng)在很多方面發(fā)生了很大的變化。在這此與傳統(tǒng)的8位MCU的開(kāi)發(fā)有著許多明顯的不同:首先是開(kāi)九牛二虎之力復(fù)雜度大為提高,其次開(kāi)發(fā)形式、手段和工具也有了很大不同;另外系統(tǒng)越來(lái)越多地是建立在RTOS平臺(tái)上,使用的開(kāi)發(fā)程序設(shè)計(jì)語(yǔ)言不再是開(kāi)始效率很低的匯編語(yǔ)言,而越來(lái)越多地使用開(kāi)發(fā)效率很高的高級(jí)語(yǔ)言。C語(yǔ)言已成為主流通用開(kāi)發(fā)語(yǔ)言。
(1)開(kāi)發(fā)的復(fù)雜度
各種多媒體和通信手持設(shè)備、信息家電和復(fù)雜系統(tǒng)都需要更強(qiáng)大的MCU來(lái)完成復(fù)雜大數(shù)據(jù)量實(shí)時(shí)處理。例如,目前移動(dòng)電話手機(jī)需要多屏顯示、網(wǎng)頁(yè)瀏覽、文本信息發(fā)送、帶查找功能的大容量地址簿和語(yǔ)音撥號(hào)等功能;最新數(shù)碼相機(jī)及攝像機(jī)的高效率數(shù)據(jù)壓縮、自動(dòng)識(shí)別和各種智能處理等,需要增加DSP功能;電話交換機(jī)需要分布式處理而采用多處理器結(jié)構(gòu)。
(2)開(kāi)發(fā)形式、手段和工具
隨著開(kāi)發(fā)對(duì)象復(fù)雜度的提高,硬件和軟件設(shè)計(jì)比例發(fā)生了很大變化。軟件開(kāi)發(fā)的比重越來(lái)越大,復(fù)雜系統(tǒng)的設(shè)計(jì)已不可能由一個(gè)設(shè)計(jì)師包括硬件和軟件,而必須由一個(gè)團(tuán)隊(duì)來(lái)分工合作完成。由此也推出了開(kāi)發(fā)形式、手段和工具的發(fā)展,特別是硬件/軟件協(xié)同設(shè)計(jì)和驗(yàn)證技術(shù)、設(shè)計(jì)管理技術(shù)(如軟件版本管理軟件)和各種嵌入式系統(tǒng)設(shè)計(jì)工具軟件的發(fā)展。
過(guò)去,幾乎所有4/8/16位MCU的開(kāi)發(fā)都必須要有用于實(shí)時(shí)調(diào)試的專用在線仿真器(ICE),其開(kāi)發(fā)過(guò)程總是先設(shè)計(jì)、制作和調(diào)試好硬件,同時(shí)進(jìn)行軟件編程,在調(diào)試好硬件電路板之前,對(duì)軟件最多僅能進(jìn)行關(guān)于純邏輯和計(jì)算的調(diào)試;只有在已調(diào)試好的硬件基礎(chǔ)上,才能進(jìn)行系統(tǒng)應(yīng)用軟件的調(diào)試,所有可以提供的程序庫(kù)或應(yīng)用軟件包都是專用的。
對(duì)于32位嵌入式處理器來(lái)說(shuō),隨著時(shí)鐘頻率越來(lái)越高(50~400MHz以上),加上復(fù)雜的封裝形式(如BGA),ICE已越來(lái)越難勝任開(kāi)發(fā)工具的工作。目前替代的基本方法是借助于JTAG接口構(gòu)成JTAG調(diào)試器,直接從CPU獲取調(diào)試信息而使得產(chǎn)品的設(shè)計(jì)簡(jiǎn)化,從而使得開(kāi)發(fā)工具的價(jià)格反而要低于ICE。
軟件和硬件工程師并行工作是一種發(fā)展潮流。通過(guò)協(xié)同設(shè)計(jì),特別是協(xié)同驗(yàn)證技術(shù),軟件工程師能盡早在真實(shí)硬件上測(cè)試,而硬件工程師能盡早在原形設(shè)計(jì)周期中驗(yàn)證他們的設(shè)計(jì)。
因?yàn)榍度胧较到y(tǒng)的復(fù)雜性和多樣性,不可能有一個(gè)包打天下的統(tǒng)一的完整解決方案,所以不同的EDA供應(yīng)商推出了各種商用嵌入式系統(tǒng)設(shè)計(jì)環(huán)境。如有Synopsys公司的Co-Centric System Studio、Cadence公司的“虛擬元件協(xié)同設(shè)計(jì)”(VCC)、CoWare公司的“CoWare N2C”等,還有世界各地的大學(xué)也為嵌入式系統(tǒng)設(shè)計(jì)開(kāi)發(fā)出各種用于特定應(yīng)用的免費(fèi)工具。
圖1
(3)開(kāi)發(fā)平臺(tái)
能讓產(chǎn)品可靠和迅速上市是嵌入式系統(tǒng)普通要求。為了提高時(shí)效,過(guò)去“一切自行設(shè)計(jì)”的模式已逐漸被“盡量采用具有IP的產(chǎn)品”所代替。這又推動(dòng)了標(biāo)準(zhǔn)實(shí)時(shí)操作系統(tǒng)(RTOS)和相應(yīng)的調(diào)試技術(shù)的發(fā)展。
由于32位架構(gòu)的MPU/MCU的資源豐富,指令集相對(duì)龐大,而且系統(tǒng)軟件也更加復(fù)雜,特別當(dāng)系統(tǒng)有多任務(wù)實(shí)時(shí)保證的要求時(shí),通常要選用一種RTOS作為開(kāi)發(fā)平臺(tái)來(lái)對(duì)應(yīng)用軟件中的多任務(wù)進(jìn)行調(diào)度。當(dāng)系統(tǒng)需要連接Intenet網(wǎng)/實(shí)現(xiàn)圖形用戶界面(GUI)或文件系統(tǒng)(FS)時(shí),若采用支持TCP/IP協(xié)議棧/GUI/FS的嵌入式操作系統(tǒng),可極大地降低復(fù)雜多任務(wù)系統(tǒng)開(kāi)發(fā)的難度。
RTOS的引入解決了嵌入式軟件開(kāi)發(fā)標(biāo)準(zhǔn)化的難題,促進(jìn)嵌入式開(kāi)發(fā)軟件的模塊化和可移植化,為軟件工程化打下基礎(chǔ)。隨著嵌入式系統(tǒng)中軟件比重不斷上升、應(yīng)用程序越來(lái)越大,這對(duì)開(kāi)發(fā)人員的知識(shí)結(jié)構(gòu)、應(yīng)用程序接口和程序檔案的組織管理等都提出了新的要求。引入RTOS相當(dāng)于引入了一種新的管理模式,對(duì)于開(kāi)發(fā)單片機(jī)和開(kāi)發(fā)人員都是一個(gè)飛躍。
(4)開(kāi)發(fā)語(yǔ)言
在從8/16位MCU向32位轉(zhuǎn)換時(shí),所用軟件開(kāi)發(fā)語(yǔ)言也發(fā)生了變化。過(guò)去大部分8/16位MCU都沒(méi)有太多的性能冗余,軟件編寫(xiě)必須完全適合其有限的處理功能,因此軟件開(kāi)發(fā)大部分用匯編語(yǔ)言編寫(xiě)。
在8/16位MCU上采用C、PL/M等高級(jí)語(yǔ)言編程,再用相關(guān)編譯器轉(zhuǎn)換成相應(yīng)機(jī)器語(yǔ)言執(zhí)行,早在十幾年前就已嘗試并推廣;但由于當(dāng)時(shí)編譯器的編譯效率還不夠高,高級(jí)語(yǔ)言程序的額外開(kāi)銷相對(duì)比較大、運(yùn)行效率下降,再加上8/16位MCU本身處理裕度有限,失言進(jìn)度緩慢。最近幾年,就8/16位MCU而言,隨著C編譯器效率和MCU性能的大幅度提高,用高級(jí)語(yǔ)言代替匯編語(yǔ)言也漸成趨勢(shì),典型的MCU都推出了自己的C編譯器。其中Keil C51的編譯效率已達(dá)到很高水平,經(jīng)過(guò)優(yōu)化的用Keil C51編寫(xiě)的程序編譯后的運(yùn)行效率甚至要高于普通開(kāi)發(fā)者直接用匯編語(yǔ)言編寫(xiě)的程序。
2.2 設(shè)計(jì)者面對(duì)的新挑戰(zhàn)
(1)轉(zhuǎn)變觀念,需要熟悉新的開(kāi)發(fā)模式
嵌入式系統(tǒng)應(yīng)用不再是過(guò)去單一的單片機(jī)應(yīng)用模式,而是越來(lái)截止多樣化,這可為用戶提供更多的不同層次的選擇方案。嵌入式系統(tǒng)實(shí)現(xiàn)的最高形式是片上系統(tǒng)SoC,而SoC的核心技術(shù)是重用和組合IP核構(gòu)件。從單片機(jī)應(yīng)用設(shè)計(jì)到片上系統(tǒng)設(shè)計(jì)及其中間的一系列的變化,從底層大包大攬的設(shè)計(jì)到利用FPGA和IP模塊進(jìn)行功能組合PsoC/SOPC設(shè)計(jì),這是一個(gè)觀念的轉(zhuǎn)變。學(xué)習(xí)和熟悉新的開(kāi)發(fā)模式將會(huì)事半功倍地構(gòu)建功能強(qiáng)大和性能卓越的嵌入式系統(tǒng),但同時(shí)也給系統(tǒng)的設(shè)計(jì)驗(yàn)證工作提出了許多新的挑戰(zhàn)。
(2)進(jìn)入的技術(shù)門(mén)檻提高,需要學(xué)習(xí)全新的RTOS技術(shù)
現(xiàn)代高端嵌入式系統(tǒng)都是建立在RTOS基礎(chǔ)上的。這對(duì)于未受過(guò)計(jì)算機(jī)專業(yè)訓(xùn)練的各專業(yè)領(lǐng)域的工程技術(shù)人員來(lái)說(shuō),需要學(xué)習(xí)全新的RTOS技術(shù),深入了解RTOS的工作機(jī)制和系統(tǒng)的資源配置,掌握底層軟件、系統(tǒng)軟件和應(yīng)用軟件的設(shè)計(jì)和調(diào)試方式。進(jìn)入的技術(shù)門(mén)檻要比所熟悉的開(kāi)發(fā)方法高得多。這對(duì)于開(kāi)發(fā)者來(lái)說(shuō),也是一個(gè)新的挑戰(zhàn)。
(3)選擇適合的開(kāi)發(fā)工具,熟悉新的開(kāi)發(fā)環(huán)境
目前從8位升級(jí)到32位的一個(gè)最大障礙就是開(kāi)發(fā)工具的投入。32位開(kāi)發(fā)工具要比8位開(kāi)發(fā)工具復(fù)雜得多,使用的技術(shù)門(mén)檻要高得多,同時(shí)其投資也要高得多。進(jìn)入32位系統(tǒng)開(kāi)發(fā)的工程師不得不面對(duì)與8位系統(tǒng)很不相同的開(kāi)發(fā)環(huán)境。如何正確選擇處理器架構(gòu)、評(píng)估嵌入式操作系統(tǒng),以及使用陌生的開(kāi)發(fā)工具,都是一個(gè)新的挑戰(zhàn)。
(4)熟悉硬件/軟件協(xié)同設(shè)計(jì)和驗(yàn)證技術(shù)、設(shè)計(jì)管理技術(shù)
軟/硬件并行設(shè)計(jì)是嵌入式系統(tǒng)設(shè)計(jì)的一項(xiàng)關(guān)鍵任務(wù)。在設(shè)計(jì)過(guò)程中的主要問(wèn)題,是軟硬件設(shè)計(jì)的同步與集成。這要求控制一致性與正確性,但隨著技術(shù)細(xì)節(jié)不斷增加,需要消耗大量時(shí)間。目前,業(yè)界已經(jīng)開(kāi)發(fā)Polis、Cosyma及Chinook等多種方法和工具來(lái)支持集成式軟硬件協(xié)同設(shè)計(jì)。目標(biāo)是提供一種統(tǒng)一的軟硬件開(kāi)發(fā)方法,它支持設(shè)計(jì)空間探索,并使系統(tǒng)功能可以跨越硬件和軟件平臺(tái)復(fù)用。
團(tuán)隊(duì)開(kāi)發(fā)的最大問(wèn)題就是設(shè)計(jì)管理問(wèn)題?,F(xiàn)在有越來(lái)越多的公司開(kāi)始重視技術(shù)管理,利用各種技術(shù)管理軟件(例如軟件版本管理軟件)對(duì)全過(guò)程進(jìn)行監(jiān)督管理。這對(duì)每一個(gè)參與開(kāi)發(fā)的人來(lái)說(shuō),似乎增加了不少麻煩,但是對(duì)整個(gè)公司的產(chǎn)品上市、升級(jí)、維護(hù)以及戰(zhàn)略利益都具有長(zhǎng)遠(yuǎn)的效益。
(5)SoC設(shè)計(jì)所面臨的巨大的挑戰(zhàn)
SoC已經(jīng)開(kāi)始成為新一代應(yīng)用電子技術(shù)的核心,這已成為電子技術(shù)的革命標(biāo)志。過(guò)去應(yīng)用工程師面對(duì)的是各種ASIC電路,而現(xiàn)在越來(lái)越多所面對(duì)的是巨大的IP模塊庫(kù),所有設(shè)計(jì)工作都是以IP模塊為基礎(chǔ)。SoC設(shè)計(jì)技術(shù)使嵌入式系統(tǒng)設(shè)計(jì)工程師變成了一個(gè)面向應(yīng)用的電子器件設(shè)計(jì)工程師。隨著SoC應(yīng)用的日益普及,在測(cè)試程序生成、工程開(kāi)發(fā)、硅片查錯(cuò)、量產(chǎn)等領(lǐng)域?qū)oC測(cè)試技術(shù)提出了越來(lái)越高的要求。掌握新的測(cè)試?yán)砟罴靶碌臏y(cè)試流程、方法和技術(shù),是對(duì)單片機(jī)應(yīng)用工程師提出的新挑戰(zhàn)。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論