手機(jī)版WPS 手機(jī)版wps免費(fèi)下載
2022-11-29
更新時(shí)間:2022-04-03 14:39:48作者:未知
該文主要討論在嵌入式系統(tǒng)開發(fā)中,開發(fā)人員如何考慮和選擇嵌入式處理器、嵌入式操作系統(tǒng)、調(diào)試器、仿真器等組成要素;同時(shí),權(quán)衡設(shè)計(jì)與購買的利弊,在系統(tǒng)靈活性、速度、成本、計(jì)劃和可用工具之間做出權(quán)衡。
嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),并且軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。它一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶的應(yīng)用程序等四個(gè)部分組成,用于實(shí)現(xiàn)對(duì)其他設(shè)備的控制、監(jiān)視或管理等功能。在制造工業(yè)、過程控制、通訊、儀器、儀表、汽車、船舶、航空、航天、軍事裝備、消費(fèi)類產(chǎn)品等方面均是嵌入式系統(tǒng)的應(yīng)用領(lǐng)域。
嵌入式系統(tǒng)包含硬件和軟件兩部分:硬件架構(gòu)上以嵌入式處理器為中心,配置存儲(chǔ)器、I/O設(shè)備、通信模塊等必要的外設(shè);軟件部分以軟件開發(fā)平臺(tái)為核心,向上提供應(yīng)用編程接口(API),向下屏蔽具體硬件特性的板級(jí)支持包BSP。嵌入式系統(tǒng)中,軟件和硬件緊密配合,協(xié)調(diào)工作,共同完成系統(tǒng)預(yù)定的功能。
對(duì)于不同的市場(chǎng)應(yīng)用類型,嵌入式系統(tǒng)開發(fā)中的嵌入式處理器、實(shí)時(shí)操作系統(tǒng)、仿真器、調(diào)試器等要素的選擇是至關(guān)重要的。在進(jìn)行嵌入式系統(tǒng)開發(fā)時(shí),如何全面考慮各開發(fā)要素并進(jìn)行選擇,是一個(gè)必須考慮的課題。本文描述了嵌入式系統(tǒng)開發(fā)的關(guān)鍵特性,并探討在選擇或開發(fā)硬件和軟件組件的基礎(chǔ)上開發(fā)高效嵌入式系統(tǒng)的解決方案。
1 嵌入式系統(tǒng)特性
嵌入式系統(tǒng)的設(shè)計(jì)挑戰(zhàn)是使嵌入式系統(tǒng)的獨(dú)特性能與設(shè)備的特殊約束條件相一致。以下是一些嵌入式系統(tǒng)的重要特性:
1)特殊應(yīng)用系統(tǒng)-嵌入式系統(tǒng)不同于通用處理器,它針對(duì)特殊應(yīng)用進(jìn)行了優(yōu)化。
2)反應(yīng)性系統(tǒng)-反應(yīng)性計(jì)算的意思是系統(tǒng)(主要是軟件部分)根據(jù)傳感器信息對(duì)環(huán)境作出響應(yīng),并利用激勵(lì)器控制環(huán)境,同時(shí)系統(tǒng)速度能與環(huán)境速度同步。
3)分布式-嵌入式系統(tǒng)的一般特征是多個(gè)通信進(jìn)程在多個(gè)通過通信鏈路鏈接的CPU或ASIC上運(yùn)行。
4)異類性-不同的嵌入式系統(tǒng)一般具有不同的結(jié)構(gòu),以便在處理嚴(yán)格設(shè)計(jì)約束的嵌入式系統(tǒng)時(shí)能夠提供更好的設(shè)計(jì)便利性。
5)苛刻環(huán)境-許多嵌入式系統(tǒng)并不工作在受控的環(huán)境中,因此它們必須能夠經(jīng)受過熱、振動(dòng)、沖擊、電源波動(dòng)和其它惡劣的物理環(huán)境條件的考驗(yàn)。
6)系統(tǒng)安全性和可靠性-由于嵌入式系統(tǒng)復(fù)雜度和運(yùn)算量的不斷增長,需要更多地考慮系統(tǒng)安全因素。
7)小型化、重量輕-為了達(dá)到便攜目的,許多嵌入式系統(tǒng)的重量必須設(shè)計(jì)得很輕。
8)成本敏感性-不同的嵌入式系統(tǒng)對(duì)成本的敏感性有很大的不同。
2 實(shí)時(shí)系統(tǒng)特性
實(shí)時(shí)系統(tǒng)要求在外部環(huán)境指定的時(shí)間間隔內(nèi)對(duì)來自環(huán)境的激勵(lì)信號(hào)作出響應(yīng)(包括物理時(shí)間的過渡)。從輸入時(shí)間到輸出時(shí)間的延遲必須足夠小,以滿足可以接受的時(shí)間值。通常實(shí)時(shí)系統(tǒng)需要對(duì)環(huán)境作出連續(xù)及時(shí)的響應(yīng)。
計(jì)算的正確性不僅依賴于結(jié)果,而且取決于輸出發(fā)生的時(shí)間。一個(gè)實(shí)時(shí)系統(tǒng)必須滿足有限響應(yīng)時(shí)間約束條件,否則會(huì)產(chǎn)生嚴(yán)重的后果。如果后果是性能的劣化而不是故障,那么這種系統(tǒng)可以看作是一個(gè)軟實(shí)時(shí)系統(tǒng)。如果后果是系統(tǒng)發(fā)生故障,那么這種系統(tǒng)就是一種硬實(shí)時(shí)系統(tǒng)。
實(shí)時(shí)系統(tǒng)有反應(yīng)式和嵌入式兩種類型。反應(yīng)式實(shí)時(shí)系統(tǒng)會(huì)與環(huán)境發(fā)生連續(xù)的互作用,而嵌入式實(shí)時(shí)系統(tǒng)主要用于控制大型系統(tǒng)中安裝的特殊硬件。
3 嵌入式處理器選擇
在嵌入式系統(tǒng)的硬件設(shè)備中,嵌入處理器是整個(gè)系統(tǒng)的核心部件,其性能的好壞直接決定整個(gè)系統(tǒng)的運(yùn)行效果。
嵌入式系統(tǒng)開發(fā)面向具體應(yīng)用,不同領(lǐng)域的應(yīng)用市場(chǎng)需要不同款式和性能指標(biāo)的處理器來開發(fā),于是在嵌入式處理器市場(chǎng)中,中低端的4位、8位和16位處理器依然存在,高性能的32位處理器也有很多產(chǎn)品。隨著超大規(guī)模集成電路技術(shù)和微電子技術(shù)發(fā)展,包含嵌入式處理器以及部分外圍電路的微控制器產(chǎn)品也進(jìn)入市場(chǎng),片上系統(tǒng)SoC(System on Chip)產(chǎn)品也開始出現(xiàn)。這些產(chǎn)品的上市,不僅豐富了嵌入式處理器產(chǎn)品,而且也更加方便了工程技術(shù)人員進(jìn)行嵌入式系統(tǒng)的技術(shù)開發(fā)和擴(kuò)大嵌入式產(chǎn)品的應(yīng)用領(lǐng)域。
嵌入式處理器選擇的基本原則是滿足具體功能性和非功能性指標(biāo)需求的、市場(chǎng)應(yīng)用反應(yīng)良好的、硬件配置最少的嵌入式處理器。如簡單的智能儀器儀表設(shè)計(jì)考慮使用4位或者8位低檔單片機(jī)8051;和數(shù)字信號(hào)處理密切相關(guān)的選用TI公司的TMX320x系列的DSP(數(shù)字信號(hào)處理)芯片;如果產(chǎn)品偏重于通信功能,考慮Motorola公司的嵌入式處理器68K系列;如果產(chǎn)品功能比較齊全,可選用嵌入式處理器領(lǐng)域的后起之秀ARM公司的高性能嵌入式處理器ARM芯片系列等。
4 實(shí)時(shí)操作系統(tǒng)選擇
要使整個(gè)系統(tǒng)有限的硬件資源充分利用起來,還需要(嵌入式)實(shí)時(shí)操作系統(tǒng)RTOS(Real Time Operating System)的軟件支持。
RTOS重點(diǎn)追求的是實(shí)時(shí)性、可確定性、可靠性,當(dāng)然也包括有限資源的管理。一般RTOS內(nèi)核都很小,在幾KB~十幾KB之間。流行的RTOS基本上都支持基于優(yōu)先級(jí)的搶占式調(diào)度策略和時(shí)間片輪轉(zhuǎn),具有微內(nèi)核結(jié)構(gòu),有標(biāo)準(zhǔn)組件可供選用,支持虛擬存儲(chǔ)技術(shù)和存儲(chǔ)保護(hù)機(jī)制。
由于具體嵌入式應(yīng)用的功能需求差異以及不同RTOS間不同的性能指標(biāo),RTOS的選擇有三種方案:一是根據(jù)應(yīng)用需要和公司技術(shù)實(shí)力,考慮自主開發(fā)研究(國內(nèi)手機(jī)廠商寧波波導(dǎo)公司部分款式的手機(jī)操作系統(tǒng)就是自主開發(fā)的);二是充分考慮系統(tǒng)需求和流行RTOS的性能指標(biāo)及性價(jià)比選擇商用RTOS,如WinCE、VxWorks等;三是考慮嵌入式Linux(RT_Linux),RT_Linux是開放源代碼的免費(fèi)自由軟件,互聯(lián)網(wǎng)技術(shù)論壇較多,具備較好的裁減性以支持不同的應(yīng)用范疇。
在眾多的實(shí)時(shí)操作系統(tǒng)中,選擇時(shí)重點(diǎn)考慮的是它們的性能評(píng)價(jià)指標(biāo),主要包括調(diào)度算法、RTOS本身內(nèi)存開銷、RTOS內(nèi)存管理模式、最大中斷禁止時(shí)間和最大任務(wù)切換時(shí)間。當(dāng)然,也包括RTOS的購買成本和提供的技術(shù)支持等相關(guān)因素。針對(duì)實(shí)時(shí)性要求較高的應(yīng)用,需要重點(diǎn)考慮RTOS的最大中斷禁止時(shí)間和最大任務(wù)切換時(shí)間。這兩個(gè)參數(shù)越小越好。減小這兩個(gè)參數(shù)值,除了選用較高工作主頻的嵌入式處理器外,還和RTOS本身任務(wù)調(diào)度和中斷處理機(jī)制密切相關(guān)。
選擇RTOS時(shí),通常還要考慮系統(tǒng)功能方面支持何種處理器硬件平臺(tái),何種API,是否支持核心態(tài)用戶態(tài)、是否支持內(nèi)存管理單元MMU、可移植性、調(diào)試支持、標(biāo)準(zhǔn)支持等。如果開發(fā)網(wǎng)絡(luò)應(yīng)用,還需要考慮該RTOS是否支持TCP/IP的網(wǎng)絡(luò)組件和I/O服務(wù)等。如果開發(fā)游戲和娛樂市場(chǎng),要著重研究該RTOS對(duì)多媒體的支持能力。市場(chǎng)應(yīng)用需求的多樣性,使得RTOS本身應(yīng)該支持用戶自定制能力,根據(jù)應(yīng)用需要在微內(nèi)核的基礎(chǔ)上選用標(biāo)準(zhǔn)組件。
5 仿真器和調(diào)試器的選擇
調(diào)試是嵌入式系統(tǒng)開發(fā)過程的重要環(huán)節(jié)。嵌入式系統(tǒng)調(diào)試時(shí),主機(jī)上運(yùn)行的集成開發(fā)調(diào)試工具(調(diào)試器)通過仿真器和目標(biāo)機(jī)相連。仿真器處理宿主機(jī)和目標(biāo)機(jī)之間所有的通信,這個(gè)通信口可以是串口、并行口或者高速以太網(wǎng)接口。
嵌入式系統(tǒng)開發(fā)調(diào)試方法有快速原型仿真法和實(shí)時(shí)在線調(diào)試法。快速原型仿真法用于硬件設(shè)備尚未完成時(shí),直接在宿主機(jī)上對(duì)應(yīng)用程序運(yùn)行進(jìn)行仿真分析。在此過程中系統(tǒng)不直接和硬件打交道,由開發(fā)調(diào)試軟件內(nèi)部某一特定軟件模塊模擬硬件CPU系統(tǒng)執(zhí)行過程,并可同時(shí)將仿真異常反饋給開發(fā)者進(jìn)行錯(cuò)誤定位和修改。實(shí)時(shí)在線調(diào)試法在具體的目標(biāo)機(jī)平臺(tái)上調(diào)試應(yīng)用程序,系統(tǒng)在調(diào)試狀態(tài)下的執(zhí)行情況和實(shí)際運(yùn)行模式完全一樣,這種方式更有利于開發(fā)者實(shí)時(shí)對(duì)系統(tǒng)硬件和軟件故障進(jìn)行定位和修改,提高產(chǎn)品開發(fā)速度。
選用的調(diào)試器是運(yùn)行在主機(jī)上的集成開發(fā)環(huán)境,一般需要集編輯、匯編、編譯、鏈接和調(diào)試環(huán)境于一體,支持低級(jí)匯編語言、C和C++語言,基于友好的圖形用戶界面(GUI),支持用戶觀察或修改嵌入式處理器的寄存器和存儲(chǔ)器配置、數(shù)據(jù)變量的類型和數(shù)值,堆棧和寄存器的使用,支持程序斷點(diǎn)設(shè)置,單步、斷點(diǎn)或者全速運(yùn)行等特性。
應(yīng)用需求的多樣性導(dǎo)致市場(chǎng)上仿真器和調(diào)試器的提供商也較多,Windriver公司的Tornado是一個(gè)很好的開發(fā)調(diào)試工具。根據(jù)實(shí)踐經(jīng)驗(yàn),一般配套選擇規(guī)模較大、信譽(yù)較好公司的仿真器和調(diào)試器,雖然價(jià)格偏高,但是這些公司技術(shù)實(shí)力強(qiáng),售后服務(wù)好,調(diào)試器和仿真器開發(fā)結(jié)合緊密。如果在開發(fā)調(diào)試過程遇到技術(shù)障礙,可以通過電話或者電子郵件方式及時(shí)獲取技術(shù)支持。如選用ARM系列的嵌入式處理器時(shí),可以購買Multi-ICE仿真器,并附加ARM250集成開發(fā)調(diào)試環(huán)境等。
6 設(shè)計(jì)或購買
是自己設(shè)計(jì)還是購買成品呢?如果有可能不重新設(shè)計(jì),價(jià)格也比較合理的話,購買要比自己開發(fā)更有利。由于嵌入式系統(tǒng)預(yù)算的縮減、實(shí)時(shí)操作系統(tǒng)(RTOS)和TCP/IP堆棧等商用技術(shù)的改進(jìn)、嵌入式系統(tǒng)要求的擴(kuò)展,采用商業(yè)性現(xiàn)成(COTS)技術(shù)正變得越來越普遍。采用COTS技術(shù)能夠縮短開發(fā)周期中編碼、調(diào)試、單元測(cè)試和代碼檢查階段的時(shí)間。
然而,做出購買而非設(shè)計(jì)的決定會(huì)改變一個(gè)組織的基礎(chǔ)開發(fā)流程。一個(gè)組織希望實(shí)現(xiàn)的新業(yè)務(wù)有:供應(yīng)商調(diào)研和評(píng)估、產(chǎn)品評(píng)估以及實(shí)時(shí)的供應(yīng)商交流與關(guān)系建立。產(chǎn)品開發(fā)的其它活動(dòng)不會(huì)取消,但會(huì)作出一些改變。這些變化包括更關(guān)注如何將系統(tǒng)硬件與軟件更好地組合在一起,而不再把重點(diǎn)放在模塊自己內(nèi)部的運(yùn)作上。另外必須更側(cè)重于兼容性、可配置性和可集成性等結(jié)構(gòu)上的問題。
必須很好的理解和高效地管理由于決定采用“購買”而非“設(shè)計(jì)創(chuàng)建”方式所導(dǎo)致的結(jié)果。首先,自然是對(duì)供應(yīng)商提出產(chǎn)品要求、產(chǎn)品可靠性、計(jì)劃和產(chǎn)品文檔等依賴請(qǐng)求。這種情況下產(chǎn)品要求中的靈活性會(huì)打些折扣。購買商用產(chǎn)品意味著接受現(xiàn)有的產(chǎn)品要求,但這種要求也許不能完美地匹配自身產(chǎn)品的要求,這就需要設(shè)計(jì)人員把這種缺點(diǎn)與COTS技術(shù)提供的成本與上市時(shí)間優(yōu)勢(shì)作一個(gè)理智的權(quán)衡。 因此重要的是最終用戶與技術(shù)人員必須參與COTS供應(yīng)商的選擇,考慮的重點(diǎn)要放在業(yè)務(wù)需求上而非技術(shù)本身。性價(jià)比分析所要考慮的因素應(yīng)包括易學(xué)性、易用性、供應(yīng)商名聲和長期穩(wěn)定性、許可方式和培訓(xùn)。所有與性能有關(guān)的聲明必須盡可能采用內(nèi)部或外部基準(zhǔn)或演示來到得有效性認(rèn)證。為了避免可能出現(xiàn)的偏差,評(píng)估標(biāo)準(zhǔn)應(yīng)該在收到供應(yīng)商建議前就制定好。選擇供應(yīng)商的主要工作包括研究和理解技術(shù)標(biāo)準(zhǔn)和相當(dāng)?shù)奈募?、采用類似建議請(qǐng)求(RFP)的標(biāo)準(zhǔn)模式征求供應(yīng)商的建議、對(duì)供應(yīng)商建議進(jìn)行評(píng)估和排序、選擇供應(yīng)商并簽署合同。
除了評(píng)估技術(shù)外,還應(yīng)對(duì)供應(yīng)商本身進(jìn)行評(píng)審。要充分了解供應(yīng)商開業(yè)時(shí)間的長短、供應(yīng)商的背景和名聲、供應(yīng)商的其它用戶對(duì)它的評(píng)價(jià)和意見、供應(yīng)商人力資源的投入和對(duì)你的計(jì)劃或項(xiàng)目的支持情況,以及供應(yīng)商對(duì)你業(yè)務(wù)和要求的理解程度,甚至對(duì)未來項(xiàng)目的承諾。以前軟件團(tuán)隊(duì)認(rèn)為軟件開發(fā)方案遵循類似于創(chuàng)建架構(gòu)的特定模式。提供符合一般模式的抽象方法能夠使軟件團(tuán)隊(duì)定制符合他們特殊要求的方案,同時(shí)遵循被前人證明是高效和正確的模式。
嵌入式系統(tǒng)供應(yīng)商已經(jīng)認(rèn)識(shí)到需要通過提供軟件組件和類似于設(shè)計(jì)模式的框架來加快軟件開發(fā)進(jìn)程。在DSP領(lǐng)域,供應(yīng)商向DSP設(shè)計(jì)工程師提供包括參考框架(RF)在內(nèi)的上百個(gè)以DSP為核心的軟件組件用于產(chǎn)品和系統(tǒng)開發(fā)。設(shè)計(jì)完好的參考框架能夠在設(shè)備開發(fā)的早期階段讓設(shè)計(jì)人員快速入門。RF內(nèi)含方便易用并且適合多種應(yīng)用的源代碼。由此可以取消許多早期的低層設(shè)計(jì)決策,使開發(fā)人員能有更多的時(shí)間用在真正顯示產(chǎn)品特色的代碼開發(fā)上。設(shè)計(jì)人員可以選擇能夠最大程度滿足他們系統(tǒng)需要的專業(yè)RF,然后集成適配的算法(可以是其它供應(yīng)商出售的DSP COTS算法,或供應(yīng)商自己的算法)生成適合各種終端設(shè)備的特殊應(yīng)用,如寬帶、語音、視頻圖像、生物測(cè)量和無線設(shè)施。這些RF提供百分之百的C語言源碼,并且沒有版稅要求。
7 小結(jié)
顯然開發(fā)嵌入式實(shí)時(shí)系統(tǒng)是一個(gè)相當(dāng)復(fù)雜的過程,本文闡述了在嵌入式系統(tǒng)開發(fā)中嵌入式處理器、嵌入式操作系統(tǒng)、調(diào)試器、仿真器等組成要素的選擇原則,同時(shí)啟發(fā)開發(fā)人員在設(shè)計(jì)與購買時(shí)的利弊關(guān)系,要時(shí)刻在系統(tǒng)靈活性、速度、成本、計(jì)劃和可用工具之間做出權(quán)衡,并充分考慮各個(gè)供應(yīng)商提供長期可靠支持的可能性。