嵌入式系統(tǒng)是什么 嵌入式系統(tǒng)的基本設(shè)計(jì)思路
發(fā)布時(shí)間:2020-02-16 來(lái)源: 短文摘抄 點(diǎn)擊:
摘要:嵌入式系統(tǒng)已成為制造業(yè)的核心技術(shù),廣泛應(yīng)用于工業(yè)控制、系統(tǒng)仿真、醫(yī)療設(shè)備、家用電器、通信設(shè)備等眾多領(lǐng)域。圍繞嵌入式系統(tǒng)展開研究和開發(fā),已經(jīng)成為計(jì)算機(jī)軟硬件技術(shù)發(fā)展最活躍的方向之一。本文就嵌入式系統(tǒng)的技術(shù)特點(diǎn)和嵌入式系統(tǒng)的基本設(shè)計(jì)思路進(jìn)行了探討。
關(guān)鍵詞:嵌入式系統(tǒng);微處理器;操作系統(tǒng);開發(fā)工具
中圖分類號(hào):TP336 文獻(xiàn)標(biāo)識(shí)碼:A
嵌入式系統(tǒng)是以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。其主要由嵌入式處理器、 相關(guān)支撐硬件、嵌入式操作系統(tǒng)及應(yīng)用軟件系統(tǒng)等組成。使用嵌入式系統(tǒng)技術(shù),不僅可以實(shí)現(xiàn)硬件和軟件的集成優(yōu)化,而且具有多任務(wù)和網(wǎng)絡(luò)化功能。
嵌入式系統(tǒng)是將計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)、電子技術(shù)與各個(gè)行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物 ,是一種技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識(shí)集成系統(tǒng)。
1嵌入式系統(tǒng)的技術(shù)特點(diǎn)
嵌入式系統(tǒng)由構(gòu)成軟件基本運(yùn)行環(huán)境的硬件和操作系統(tǒng)兩部分組成。其運(yùn)行環(huán)境和應(yīng)用場(chǎng)合決定了嵌入式系統(tǒng)有別于其它系統(tǒng)。
1.1嵌入式處理器
嵌入式處理器可以分為三類:嵌入式微控制器MCU、嵌入式微處理器MPU、嵌入式數(shù)字信號(hào)處理器DSP 。
嵌入式微控制器又稱為單片機(jī),它將CPU、存儲(chǔ)器 、I/O接口封裝于同一片集成電路,常用的是以8051為內(nèi)核的各種單片機(jī)。嵌入式微處理器就是和通用計(jì)算機(jī)的微處理器對(duì)應(yīng)的CPU,應(yīng)用中一般將微處理器裝配在專門設(shè)計(jì)的電路板上,在母板上保留與嵌入式有關(guān)的功能,以滿足嵌入式系統(tǒng)體積小和功耗低的要求。嵌入式DSP專門用來(lái)對(duì)離散時(shí)間信號(hào)進(jìn)行高速處理 ,多用于數(shù)字濾波、FFT、圖像處理等領(lǐng)域 。
1.2微內(nèi)核結(jié)構(gòu)
多數(shù)嵌入式操作系統(tǒng)采用了微內(nèi)核結(jié)構(gòu),內(nèi)核只提供基本的功能,如:任務(wù)的調(diào)度、任務(wù)之間的通信與同步、內(nèi)存管理、時(shí)鐘管理等。其它的應(yīng)用組件,如:網(wǎng)絡(luò)功能、文件系統(tǒng)、GUI系統(tǒng)等均工作在用戶態(tài),以系統(tǒng)進(jìn)程或函數(shù)調(diào)用的方式工作。因而系統(tǒng)都是可裁減的,用戶可以根據(jù)自己的需要選用相應(yīng)的組件。
1.3任務(wù)調(diào)度
大多數(shù)的嵌入式操作系統(tǒng)支持多任務(wù),依靠CPU在多個(gè)任務(wù)之間切換、調(diào)度,每個(gè)任務(wù)都有其優(yōu)先級(jí)。 任務(wù)的調(diào)度有三種方式:可搶占式調(diào)度、不可搶占式調(diào)度和時(shí)間片輪轉(zhuǎn)調(diào)度。多數(shù)嵌入式操作系統(tǒng)對(duì)不同優(yōu)先級(jí)的任務(wù)采用基于優(yōu)先級(jí)的搶占式調(diào)度法,對(duì)相同優(yōu)先級(jí)的任務(wù)則采用時(shí)間片輪轉(zhuǎn)調(diào)度法。
1.4硬實(shí)時(shí)和軟實(shí)時(shí)
對(duì)時(shí)間要求較高的嵌入式系統(tǒng),稱為實(shí)時(shí)系統(tǒng)。實(shí)時(shí)系統(tǒng)分為軟實(shí)時(shí)系統(tǒng)和硬實(shí)時(shí)系統(tǒng)。軟實(shí)時(shí)系統(tǒng)并不要求限定某一任務(wù)必須在一定的時(shí)間內(nèi)完成,只要求各任務(wù)運(yùn)行得越快越好;硬實(shí)時(shí)系統(tǒng)對(duì)系統(tǒng)響應(yīng)時(shí)間有嚴(yán)格要求,一旦系統(tǒng)響應(yīng)時(shí)間不能滿足,就可能引起系統(tǒng)崩潰或致命的錯(cuò)誤。工業(yè)控制多采用硬實(shí)時(shí)系統(tǒng)。
1.5內(nèi)存管理
多數(shù)嵌入式系統(tǒng)針對(duì)沒(méi)有內(nèi)存管理單元MMU的處理器設(shè)計(jì),故不能采用虛擬內(nèi)存管理技術(shù),而是實(shí)存儲(chǔ)器管理策略。對(duì)內(nèi)存的訪問(wèn)是直接的,對(duì)地址的訪問(wèn)不需要經(jīng)過(guò)MMU,而是直接發(fā)送至地址線輸出,所有程序中訪問(wèn)的地址都是實(shí)際的物理地址。多數(shù)嵌入式操作系統(tǒng)對(duì)內(nèi)存空間沒(méi)有保護(hù),各個(gè)進(jìn)程共享一個(gè)運(yùn)行空間。一個(gè)進(jìn)程在執(zhí)行前系統(tǒng)必須為它分配足夠的連續(xù)地址空間,然后全部載入主存儲(chǔ)器的連續(xù)空間。
2嵌入式系統(tǒng)的基本設(shè)計(jì)思路
從圖1可知,嵌入式系統(tǒng)的工程設(shè)計(jì)分成三個(gè)階段:分析、設(shè)計(jì)和實(shí)現(xiàn)。
。1)分析階段:確定要解決的問(wèn)題及需要完成的目標(biāo);
。2)設(shè)計(jì)階段:主要解決如何在給定的約束條件下完成用戶的要求;
。3)實(shí)現(xiàn)階段:主要解決如何在所選擇的硬件和軟件的基礎(chǔ)上進(jìn)行整個(gè)軟、硬件系統(tǒng)的協(xié)調(diào)實(shí)現(xiàn)。
嵌入式系統(tǒng)的工程設(shè)計(jì)包括:處理器、硬件部件、操作系統(tǒng)、編程語(yǔ)言、軟件開發(fā)工具、硬件調(diào)試工具、軟件組件等內(nèi)容。
2.1建立硬件平臺(tái)
2.1.1選擇處理器
嵌入式處理器是嵌入式系統(tǒng)的核心部件。目前全世界嵌入式處理器的品種總量已超過(guò)一千種,流行系列有三十多個(gè),僅32位的CPU就有100種以上嵌入式微處理器。鑒于嵌入式系統(tǒng)設(shè)計(jì)的差異性很大,故而選擇是多樣化的。Motorola、Intel、AMD、ARM、MIPS等公司均生產(chǎn)微處理器,其中ARM是近年來(lái)在嵌入式系統(tǒng)有影響力的微處理器制造商。
選擇處理器時(shí)要考慮的主要因素有:
。1)處理性能
處理器的性能取決于時(shí)鐘頻率、內(nèi)部寄存器、指令是否對(duì)等處理所有的寄存器等多個(gè)因素。要選取能夠完成作業(yè)的處理器和I/O子系統(tǒng),不在于挑選速度最快的處理器。
。2)技術(shù)指標(biāo)
許多嵌入式處理器都集成了外圍設(shè)備的功能,減少了芯片的數(shù)量,降低了整個(gè)系統(tǒng)的開發(fā)費(fèi)用。首先考慮的是,系統(tǒng)所要求的一些硬件能否無(wú)需過(guò)多的膠合邏輯(GL,Glue Logic)就可以連接到處理器上。其次是考慮該處理器的一些支持芯片,如DMA控制器、內(nèi)存管理器、中斷控制器、串行設(shè)備、時(shí)鐘等的配套。
(3)功耗
嵌入式微處理器最大并且增長(zhǎng)最快的市場(chǎng)是手持設(shè)備、電子記事本、PDA、手機(jī)、GPS導(dǎo)航器、智能家電等消費(fèi)類電子產(chǎn)品。這些產(chǎn)品中選購(gòu)的微處理器典型的特點(diǎn)是要求高性能、低功耗,使用普通電池供電即可。若用于工業(yè)控制領(lǐng)域,則可不考慮這方面因數(shù)。
(4)軟件支持工具
較好的軟件開發(fā)工具是必不可少的。 比如,交叉編譯器。
(5)內(nèi)置調(diào)試工具
處理器如果內(nèi)置調(diào)試工具,可以大大縮小調(diào)試周期,降低調(diào)試的難度。
。6)軟件對(duì)硬件的依賴性
軟件是否可以在硬件沒(méi)有到位的時(shí)候并行設(shè)計(jì)或先行開發(fā)。
2.1.2盡量選擇普通硬件
在 CPU 及架構(gòu)的選擇上,總原則為:只要有可替代的方案,盡量不要選擇 Linux 尚不支持的硬件平臺(tái)。
2.2建立軟件平臺(tái)
嵌入式的軟件開發(fā)主要為:代碼編程、交叉編譯、交叉連接、下載到目標(biāo)板和及調(diào)試等步驟,因此軟件平臺(tái)的選擇也涉及到以下幾個(gè)方面:低端無(wú)MMU(Memory Management Unit,存儲(chǔ)器管理單元)的CPU,要使用uClinux 操作系統(tǒng);相對(duì)高端的硬件,則可以用普通的嵌入式 Linux 操作系統(tǒng)。
選擇操作系統(tǒng)應(yīng)考慮的因素:
。1)操作系統(tǒng)提供的開發(fā)工具
有些實(shí)時(shí)操作系統(tǒng)(RTOS)只支持該系統(tǒng)供應(yīng)商的開發(fā)工具,因此,還必須向操作系統(tǒng)供應(yīng)商獲取編譯器、調(diào)試器等;而有些操作系統(tǒng)使用廣泛,且有第三方工具可用。
。2)操作系統(tǒng)向硬件接口移植的難度
操作系統(tǒng)到硬件的移植是關(guān)系到整個(gè)系統(tǒng)能否完成的一個(gè)關(guān)鍵因素。因此,要選擇那些可移植性程度高的操作系統(tǒng),避免操作系統(tǒng)難以向硬件移植而帶來(lái)的種種困難,加速系統(tǒng)的開發(fā)進(jìn)度。
。3)操作系統(tǒng)的內(nèi)存要求
考慮是否需要擴(kuò)充RAM或EEPROM來(lái)滿足操作系統(tǒng)對(duì)內(nèi)存的需求。
。4)對(duì)操作系統(tǒng)的熟悉程度
(5)操作系統(tǒng)是否提供硬件的驅(qū)動(dòng)程序
。6)操作系統(tǒng)的可剪裁性
有些操作系統(tǒng)具有較強(qiáng)的可剪裁性,如嵌入式Linux、Tornado/VxWorks。
(7)操作系統(tǒng)的實(shí)時(shí)性能
2.3選擇編程語(yǔ)言
編程語(yǔ)言的選擇主要考慮以下因素:
。1)通用性
匯編語(yǔ)言不通用;
高級(jí)語(yǔ)言與具體機(jī)器的硬件結(jié)構(gòu)聯(lián)系較少,通用性較好。
。2)可移植性
匯編語(yǔ)言與具體的微處理器密切相關(guān),移植性差;
高級(jí)語(yǔ)言對(duì)所有微處理器都是通用的,可移植性較好。
(3)執(zhí)行效率
匯編語(yǔ)言來(lái)進(jìn)行應(yīng)用程序的開發(fā),編程復(fù)雜、開發(fā)周期長(zhǎng);
越高級(jí)的語(yǔ)言,其編譯器和開銷就越大,應(yīng)用程序就越大、越慢。
因此,必須在開發(fā)時(shí)間和運(yùn)行性能間進(jìn)行權(quán)衡、取舍。
。4)可維護(hù)性
匯編語(yǔ)言可維護(hù)性不高;
高級(jí)語(yǔ)言程序通常采用模塊化設(shè)計(jì),各個(gè)模塊之間的接口是固定的,模塊化設(shè)計(jì)便于系統(tǒng)功能的擴(kuò)充和升級(jí)。
應(yīng)用較多的高級(jí)語(yǔ)言有:Ada、C/C++、Modula-2和Java等。C語(yǔ)言具有廣泛的庫(kù)程序支持,目前在嵌入式系統(tǒng)中是應(yīng)用最廣泛的編程語(yǔ)言。
2.4集成開發(fā)環(huán)境的選擇
集成開發(fā)環(huán)境IDE(Integrated Development Environment)主要考慮以下因素:
。1)系統(tǒng)調(diào)試器的功能
系統(tǒng)調(diào)試及遠(yuǎn)程調(diào)試。
。2)支持庫(kù)函數(shù)
庫(kù)函數(shù)和模板代碼。
。3)編譯器是否能持續(xù)升級(jí)
(4)連接程序是否支持所有的文件格式和符號(hào)格式。
2.5選擇硬件調(diào)試工具
好的硬件調(diào)試工具會(huì)有事半功倍之效。常用的硬件調(diào)試工具有:
。1)實(shí)時(shí)在線仿真器ICE (In-Circuit Emulator)
ICE是一個(gè)可被控制的MCU。ICE支持常規(guī)的調(diào)試操作,如單步運(yùn)行、斷點(diǎn)、反匯編、內(nèi)存檢查、源程序級(jí)的調(diào)試等。
。2)邏輯分析儀
邏輯分析儀常用于硬件調(diào)試,亦可用于軟件調(diào)試,主要用于監(jiān)視系統(tǒng)總線的事件。
。3)ROM仿真器
ROM仿真器用于仿真ROM芯片。將程序下載到ROM仿真器中,然后調(diào)試目標(biāo)程序。
。4)在線調(diào)試OCD(On-Chip Debugging)或在線仿真(on-chip emulator)
2.6軟件組件的選擇
免費(fèi)軟件可靠性稍差;
授權(quán)軟件費(fèi)用一般較高,但經(jīng)過(guò)嚴(yán)格的測(cè)試,可靠性高,調(diào)試時(shí)間短。
3結(jié)語(yǔ)
嵌入式技術(shù)是計(jì)算機(jī)發(fā)展的一個(gè)重要分支,其設(shè)計(jì)、開發(fā)、應(yīng)用是一個(gè)長(zhǎng)期的課題。以信息家電為代表的互聯(lián)網(wǎng)時(shí)代,嵌入式產(chǎn)品不僅為嵌入式市場(chǎng)展現(xiàn)了美好前景,注人了新的生命,同時(shí)也對(duì)嵌入式系統(tǒng)技術(shù)提出了新的挑戰(zhàn)。隨著信息化、智能化、網(wǎng)絡(luò)化的發(fā)展,嵌入式系統(tǒng)技術(shù)也將獲得更廣闊的發(fā)展空間。
參考文獻(xiàn)
。1] 王田苗主編.嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā)[M].北京:清華大學(xué)出版社,2005.
。2] 田澤.嵌入式系統(tǒng)開發(fā)和應(yīng)用教程[M].北京:北京航空航天大學(xué)出版社,2005.
(本文審稿陳兵)
相關(guān)熱詞搜索:嵌入式系統(tǒng) 思路 設(shè)計(jì) 嵌入式系統(tǒng)的基本設(shè)計(jì)思路 嵌入式系統(tǒng)設(shè)計(jì)論文 嵌入式系統(tǒng)課程設(shè)計(jì)
熱點(diǎn)文章閱讀