嵌入式開發(fā)就是指在嵌入式操作系統(tǒng)下進(jìn)行開發(fā),包括在系統(tǒng)化設(shè)計(jì)指導(dǎo)下的硬件和軟件以及綜合研發(fā)。除暫且分離硬件的EDA研發(fā)以外,側(cè)重的就是在一定硬件條件下的系統(tǒng)化設(shè)計(jì)和軟件研發(fā)。
一、嵌入式開發(fā)的定義
嵌入式開發(fā)是指利用分立元件或集成器件進(jìn)行電路設(shè)計(jì)、結(jié)構(gòu)設(shè)計(jì),再進(jìn)行軟件編程(通常是高級語言),實(shí)驗(yàn),經(jīng)過多輪修改設(shè)計(jì)、制作,最終完成整個(gè)系統(tǒng)的開發(fā)。這種嵌入式開發(fā),適用于未來產(chǎn)品比較單一,產(chǎn)量比較大,產(chǎn)品開發(fā)周期比較長,成本控制比較嚴(yán)格的系統(tǒng)。
嵌入式技術(shù)不是單純的軟件技術(shù),也不是單純的硬件技術(shù),是一門如何在一個(gè)特定的硬件環(huán)境上開發(fā)與構(gòu)建特定的可編程軟件系統(tǒng)的綜合技術(shù)。嵌入式技術(shù)是在嵌入式系統(tǒng)的發(fā)展中應(yīng)運(yùn)而生的,它是依附于嵌入式系統(tǒng),并推動(dòng)嵌入式系統(tǒng)不斷向前發(fā)展的核心動(dòng)力。嵌入式是一種專用的計(jì)算機(jī)系統(tǒng),作為裝置或設(shè)備的一部分。通常,嵌入式系統(tǒng)是一個(gè)控制程序存儲在ROM中的嵌入式處理器控制板。事實(shí)上,所有帶有數(shù)字接口的設(shè)備,如手表、微波爐、錄像機(jī)、汽車等,都使用嵌入式系統(tǒng),有些嵌入式系統(tǒng)還包含操作系統(tǒng),但大多數(shù)嵌入式系統(tǒng)都是是由單個(gè)程序?qū)崿F(xiàn)整個(gè)控制邏輯。嵌入式技術(shù)近年來得到了飛速的發(fā)展,但是嵌入式產(chǎn)業(yè)涉及的領(lǐng)域非常廣泛,彼此之間的特點(diǎn)也相當(dāng)明顯。例如,很多行業(yè):手機(jī)、PDA、車載導(dǎo)航、工控、軍工、多媒體終端、網(wǎng)關(guān)、數(shù)字電視等。
二、主流的嵌入式開發(fā)平臺
主流的嵌入式平臺有三種:ARM平臺、DSP平臺和FPGA平臺。
1、ARM
ARM微處理器是由ARM公司提供IP(Intellectual Property,知識產(chǎn)權(quán))授權(quán),交付多個(gè)芯片設(shè)計(jì)廠商整合生產(chǎn)的。在2007年,意法半導(dǎo)體(ST)公司成為第一個(gè)引入ARM Cortex-M授權(quán)的半導(dǎo)體廠商,開啟了高性能、低成本、低功耗的ARM嵌入式芯片新時(shí)代,其生產(chǎn)的STM32系列微處理器是最流行的Cortex-M微處理器。ARM嵌入式系統(tǒng)廣泛應(yīng)用于自動(dòng)檢測與控制、智能儀器儀表、機(jī)電一體化設(shè)備、汽車電子及日常消費(fèi)電子產(chǎn)品中,其優(yōu)越的性能和完善的開發(fā)環(huán)境得到廣大電子工程師的青睞。
2、DSP平臺
嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP),是專門用于信號處理方面的處理器,其在系統(tǒng)結(jié)構(gòu)和指令算法方面進(jìn)行了特殊設(shè)計(jì),芯片內(nèi)部采用程序和數(shù)據(jù)分開存儲及傳輸?shù)墓鸾Y(jié)構(gòu),具有專門硬件乘法器,采用流水線操作,提供特殊的DSP指令,可用來快速地實(shí)現(xiàn)各種數(shù)字信號處理算法,具有很高的編譯效率和指令的執(zhí)行速度,在數(shù)字濾波、FFT、譜分析等各種儀器上獲得了大規(guī)模的應(yīng)用。
3、FPGA平臺
隨著平臺級FPGA產(chǎn)品的出現(xiàn)和EDA設(shè)計(jì)工具軟件的不斷發(fā)展,利用現(xiàn)有的FPGA和EDA工具,人們也可以很方便地在FPGA中嵌入RISC(Reduced Instruction Set Computer,精簡指令集)處理器內(nèi)核、DSP算法、存儲器、專用ASIC模塊、其它數(shù)字IP Core以及用戶定制邏輯等,構(gòu)建成一個(gè)可編程的片上系統(tǒng)(SOPC),把原來需要在PCB上采用處理器、DSP、若干ASIC芯片才能實(shí)現(xiàn)的功能全都集成到了單片F(xiàn)PGA上。
FPGA內(nèi)部嵌入了豐富的乘法器(DSP)資源、高速收發(fā)器(GTP/GTX)資源、以太網(wǎng)MAC資源、嵌入式處理器(Power PC)資源、時(shí)鐘及鎖相環(huán)資源、存儲器(BRAM)資源等,甚至在Xilinx公司最新推出的Zynq-7000系列芯片之中嵌入了ARM資源,將傳統(tǒng)的FPGA演變成了ARM+FPGA的擴(kuò)展開發(fā)平臺。這些嵌入的硬件資源極大地增強(qiáng)了傳統(tǒng)FPGA的功能,提升了FPGA的工作效率和靈活性,使得一塊FPGA平臺就可適用于多種產(chǎn)品,進(jìn)行各種擴(kuò)展。開發(fā)者只需要掌握Verilog HDL等硬件描述語言和嵌入式系統(tǒng)開發(fā)的相關(guān)知識,就可對整個(gè)系統(tǒng)進(jìn)行編程和控制。
三、嵌入式開發(fā)的硬件環(huán)境需求
(1)嵌入式處理器:MPU、DSP。
(2)存儲器系統(tǒng):Flash+RAM+MEM card+mini HD。
嵌入式系統(tǒng)有別于一般的通用計(jì)算機(jī)系統(tǒng),它不具備像硬盤那樣大容量的存儲介質(zhì),而用靜態(tài)易失型存儲器(RAM、SRAM)、動(dòng)態(tài)存儲器(DRAM)和非易失型存儲器(ROM、EPROM、EEPROM、FLASH)作為存儲介質(zhì),其中FLASH憑借其可擦寫次數(shù)多、存儲速度快、存儲容量大、價(jià)格便宜等優(yōu)點(diǎn),在嵌入式領(lǐng)域內(nèi)得到了廣泛應(yīng)用。
(3)輸入設(shè)備:鍵盤,視/音頻輸入,A/D。
(4)輸出設(shè)備:顯示(LED/LCD/OLED)裝置,視/音頻輸出,A/D。
(5)通訊接口:Ehternet(802.3),WIFI(802.11)。
(6)總線接口:RS232/RS485,USB,1394(Firewire)。
(7)電源管理:待機(jī)、休眠、功耗管理等。
嵌入式開發(fā)的硬件平臺選擇主要是嵌入式處理器的選擇。在具體應(yīng)用中處理器的選擇決定了其市場競爭力。在一個(gè)系統(tǒng)中使用什么樣的嵌入式處理器主要取決于應(yīng)用領(lǐng)域、用戶的需求、成本、開發(fā)的難易程度等因素。在開發(fā)過程中,選擇最適用的硬件平臺是一項(xiàng)很復(fù)雜的工作,包括要考慮其他工程的影響以及缺乏完整或準(zhǔn)確的信息等。