系統(tǒng)架構(gòu)設(shè)計(jì)師學(xué)習(xí)筆記 第十二章 嵌入式系統(tǒng)設(shè)計(jì)

第十二章 嵌入式系統(tǒng)設(shè)計(jì)

12.1 嵌入式系統(tǒng)概論

是一種以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ)幽七,可以使用不同應(yīng)用對功能景殷、可靠性、成本、體積猿挚、功耗等方面的要求咐旧,集可配置,可裁剪的軟绩蜻、硬件與一體的專用計(jì)算機(jī)系統(tǒng)铣墨。核心要素如下:

  1. 嵌入性:指計(jì)算機(jī)嵌入到對象系統(tǒng)中,且滿足對象系統(tǒng)的環(huán)境要求办绝,如物理環(huán)境(小型)伊约、電氣/氣氛環(huán)境(可靠)、成本(價(jià)廉)等要求孕蝉。
  2. 專用性:指軟屡律、硬件的裁剪性,滿足對象要求的最小軟降淮、硬件配置等
  3. 計(jì)算機(jī)系統(tǒng):指嵌入式系統(tǒng)必須是一個能滿足對象系統(tǒng)控制要求的計(jì)算機(jī)系統(tǒng)超埋。

歸納起來,典型的嵌入式系統(tǒng)具有以下特點(diǎn):

  1. 系統(tǒng)專用性強(qiáng)佳鳖。嵌入式系統(tǒng)是針對具體應(yīng)用的專門系統(tǒng)斑鼻。個性化很強(qiáng)恋昼,軟件和硬件結(jié)合緊密贬芥。一般要針對硬件進(jìn)行軟件的開發(fā)和移植靠益,根據(jù)硬件的變化和增減對軟件進(jìn)行修改。
  2. 系統(tǒng)實(shí)時性強(qiáng)穿挨。嵌入式系統(tǒng)中有相當(dāng)一部分系統(tǒng)要求對外來事件在限定的時間內(nèi)及時作出響應(yīng)月弛,具有實(shí)時性。
  3. 軟絮蒿、硬件依賴性強(qiáng)尊搬。
  4. 處理器專用。嵌入式系統(tǒng)的處理器一般是為某一特定目的和應(yīng)用而專門設(shè)計(jì)的土涝。通常具有功耗低佛寿、體積小、集成度高等優(yōu)點(diǎn)但壮。
  5. 多種技術(shù)緊密結(jié)合冀泻。嵌入式系統(tǒng)通常是計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)蜡饵、電力電子技術(shù)及機(jī)械技術(shù)與各行業(yè)的具體應(yīng)用相結(jié)合的產(chǎn)物弹渔。
  6. 系統(tǒng)透明性。
  7. 系統(tǒng)資源首先

12.2 嵌入式系統(tǒng)的組成

12.2.1 硬件架構(gòu)

1. 嵌入式處理器

是嵌入式系統(tǒng)的核心部件溯祸,可以分為如下幾類:

  1. 嵌入式微處理器EMPU肢专。是由通用計(jì)算機(jī)的CPU演變而來舞肆。功能上跟普通的微處理器基本一致,但是它具有體積小博杖、功耗低椿胯、質(zhì)量輕、成本低及可靠性高的優(yōu)點(diǎn)剃根。通常哩盲,嵌入式微處理器和ROM、RAM狈醉、總線接口及外設(shè)接口等部件安裝在一塊電路板上廉油,稱為單板計(jì)算機(jī)。
  2. 嵌入式微控制器EMCU苗傅。又稱單片機(jī)抒线,就是整個計(jì)算機(jī)系統(tǒng)都集成到一塊芯片中。一般以某一種微處理器內(nèi)核為核心金吗,芯片內(nèi)部集成有ROM/EPROM/E2PROM十兢、RAM趣竣、總線摇庙、總線邏輯、定時器/計(jì)數(shù)器遥缕、WatchDog(監(jiān)督定時器)卫袒、并口/串口、數(shù)模/模數(shù)轉(zhuǎn)換器单匣、山村等必要外設(shè)夕凝。與嵌入式微處理器相比,最大特點(diǎn)是單片化户秤,因而體積更小码秉,工號和成本更低,可靠性更高鸡号。
  3. 嵌入式數(shù)字信號處理器EDSP转砖。是一種專門用于信號處理的處理器,DSP芯片內(nèi)部采用程序和數(shù)據(jù)分開的哈佛結(jié)構(gòu)鲸伴,具有專門的硬件乘法器府蔗,廣泛采用流水線操作,提供特殊的DSP指令汞窗,可以用來快速實(shí)現(xiàn)各種數(shù)字信號的處理算法姓赤。
  4. 嵌入式片上系統(tǒng)ESOC。是一種在一塊芯片上繼承了很多功能模塊的復(fù)雜系統(tǒng)仲吏,如微處理器內(nèi)核不铆、RAM蝌焚、USB、IEEE 1394誓斥、Bluetooth等综看。大幅縮小了系統(tǒng)的體積、降低了系統(tǒng)的復(fù)雜度岖食,增強(qiáng)了系統(tǒng)的可靠性红碑。

2. 總線

是連接計(jì)算機(jī)系統(tǒng)內(nèi)部各個部件的共享高速通路。嵌入式系統(tǒng)的總線一般分為片內(nèi)總線和片外總線泡垃。片內(nèi)總線是指嵌入式微處理器內(nèi)的CPU與片內(nèi)其他部件連接的總線析珊;片外總線是指總線控制器集成在微處理器內(nèi)部或外部芯片上的用于連接外部設(shè)備的總線。

  1. AMBA總線蔑穴,先進(jìn)微控制器總線架構(gòu)忠寻。該總線規(guī)范獨(dú)立于處理器和制造工藝技術(shù),增強(qiáng)了各種應(yīng)用中外設(shè)和系統(tǒng)單元的可重用性存和,提供將RISC處理器與IP核集成的機(jī)制奕剃。該規(guī)范定義了三種總線:
  • 先進(jìn)性能總線AHB。AHB由主模塊捐腿、從模塊和基礎(chǔ)結(jié)構(gòu)三部分組成纵朋,整個AHB總線上的傳輸都是由主模塊發(fā)起、從模塊響應(yīng)茄袖〔偃恚基礎(chǔ)結(jié)構(gòu)包括:仲裁器、主從模塊多路選擇器宪祥、譯碼器聂薪、名義主模塊、名義從模塊等蝗羊。AHB系統(tǒng)具有時鐘邊沿出發(fā)藏澳、無三態(tài)、分幀傳輸?shù)忍匦砸摇HB也支持復(fù)雜的事務(wù)處理翔悠,如突發(fā)傳送、主單元重試涯呻、流水線操作以及分批事務(wù)處理等凉驻。
  • 先進(jìn)系統(tǒng)總線ASB。用于高性能模塊的互連复罐,支持突發(fā)數(shù)據(jù)傳輸模式涝登,叫老的總線格式,逐步由AHB總線所替代效诅。
  • 先進(jìn)外設(shè)總線APB胀滚。主要用于連接低帶寬外圍設(shè)備趟济,其總線結(jié)構(gòu)只有唯一的主模塊,即APB橋咽笼,它不需要中才氣以及響應(yīng)/確認(rèn)信號顷编,以最低能耗為原則進(jìn)行設(shè)計(jì),具有總是兩周期傳輸剑刑、無等待周期和響應(yīng)信號的特點(diǎn)媳纬。
  1. PCI總線,外圍構(gòu)件互連總線施掏。該總線式地址數(shù)據(jù)復(fù)用的高性能32位與64位總線钮惠,是微處理器與外圍設(shè)備互連的機(jī)構(gòu),它規(guī)定了互聯(lián)協(xié)議七芭、電器素挽、機(jī)械以及配置空間的標(biāo)準(zhǔn)。PCI是不依賴于具體處理器的局部總線狸驳,從結(jié)構(gòu)上看预明,PCI是在微處理器和原來的系統(tǒng)總線之間加入的以及總線,有一個橋接電路負(fù)責(zé)管理耙箍,實(shí)現(xiàn)上下接口和協(xié)調(diào)數(shù)據(jù)傳送撰糠,管理器提供了信號緩沖,使多種外設(shè)能夠在高時鐘頻率下保持高性能究西。PCI總線支持主控技術(shù)窗慎,允許智能設(shè)備在需要時獲得總線控制權(quán),以加速數(shù)據(jù)傳輸卤材。
  2. Avalon總線。用于可編程片山系統(tǒng)中連接片上處理器和其他IP模塊的一種簡單總線協(xié)議峦失,規(guī)定了主部件和從部件之間進(jìn)行連接的端口和通信時序扇丛。

幾種嵌入式總線技術(shù)的主要特點(diǎn)

總線類型 主要特點(diǎn)
AMBA總線 帶寬高;采用地址與數(shù)據(jù)分離的流水線操作尉辑;支持固定長與不定長突發(fā)傳送帆精;兼容性好;支持多個總線主設(shè)備
PCI總線 速度快隧魄;支持線性突發(fā)傳送卓练;支持即插即用;兼容性好购啄;可靠性高襟企;可擴(kuò)展性好
Avalon總線 支持字節(jié)、半字和字傳輸狮含;同步接口顽悼;獨(dú)立的地址線曼振、數(shù)據(jù)線和控制線;設(shè)備內(nèi)嵌譯碼部件蔚龙;支持多個總線主設(shè)備冰评;自動生成仲裁機(jī)制;多個主設(shè)備可同時操作使用一條總線木羹;可自動調(diào)整總線寬度甲雅,以適應(yīng)尺寸不匹配的數(shù)據(jù)。

3. 存儲器

主要包括主存和外存坑填。

  1. 高速緩存务荆。是存放當(dāng)前使用最多的程序代碼和數(shù)據(jù)的,即主存中部分內(nèi)容的副本穷遂,在嵌入式系統(tǒng)中函匕,Cache全部集成在嵌入式微處理器內(nèi)部,可以分為:數(shù)據(jù)Cache蚪黑、指令Cache和混合Cache盅惜。
  2. 主存。是處理器能夠直接訪問的存儲器忌穿,用來存放系統(tǒng)和用戶的程序和數(shù)據(jù)抒寂,系統(tǒng)上電后,主存中的代碼直接運(yùn)行掠剑,主存的主要特點(diǎn)是速度快屈芜,一般采用ROM、EPROM朴译、NOR flash井佑、SRAM和DRAM等存儲器件。
  3. 外存眠寿。是不與運(yùn)算器直接聯(lián)系的后備存儲器躬翁,用來存放不常用或暫時不用的信息,外存一般以非易失性存儲器構(gòu)成盯拱,數(shù)據(jù)能夠持有保存盒发,即使斷電,也不消失狡逢。

4. I/O設(shè)備與接口

嵌入式系統(tǒng)中接口電路的設(shè)計(jì)需要首先考慮的是電平匹配問題宁舰,嵌入式系統(tǒng)微處理器所提供與接收信號的電平,必須與所連接的設(shè)備的電平相匹配奢浑,否則將導(dǎo)致電路損壞或邏輯判斷錯誤蛮艰。其次,還要考慮驅(qū)動能力和干擾問題等因素殷费。

當(dāng)前印荔,在嵌入式系統(tǒng)中廣泛應(yīng)用的接口主要有:

  1. RS-232接口低葫。是一種串行通信總線標(biāo)準(zhǔn),是數(shù)據(jù)通信設(shè)備和數(shù)據(jù)終端設(shè)備間傳輸數(shù)據(jù)的接口總線仍律,RS-232-C標(biāo)準(zhǔn)規(guī)定其最高速率為20kbps嘿悬,在低碼元畸變的情況下,最大傳輸距離為15米水泉,通過使用增強(qiáng)器善涨,其傳輸距離已經(jīng)延長到1000米左右。
  2. USB接口草则。通用串行總線钢拧。支持USB外部設(shè)備到主機(jī)外部總線的連接。在USB系統(tǒng)中炕横,必須有一個USB主控制器源内,USB設(shè)備通過四根電纜與USB主控制器直接或間接相連。最高速度可達(dá)480Mbps份殿。
  3. 1394接口膜钓。由6根電纜組成,包括一堆電源線和兩隊(duì)雙絞控制線卿嘲。IEEE1394定義了三種傳輸速率:98.304Mbps颂斜、196.608Mbps、392.216Mbps拾枣,分別稱之為S100沃疮、S200和S400,線纜的長度一般不會超過4.5米梅肤。
    該標(biāo)準(zhǔn)通過所有連接設(shè)備建立起一種對等網(wǎng)絡(luò)司蔬,不需要主控結(jié)點(diǎn)來控制數(shù)據(jù)流,即跟USB技術(shù)相比凭语,最大的區(qū)別是不需要主控制器葱她,不同的外設(shè)之間可以直接傳遞信息,此外似扔,采用該技術(shù),兩臺計(jì)算機(jī)可以共享同一外部設(shè)備搓谆。
    該標(biāo)準(zhǔn)同時支持同步和異步傳輸兩種模式炒辉。在異步傳輸模式下,信息的傳遞可以被中斷泉手,在同步傳輸模式下黔寇,數(shù)據(jù)將不受任何中斷和干擾下實(shí)現(xiàn)連接傳輸。

12.2.2 軟件架構(gòu)

軟件架構(gòu)體系自底向上有三部分組成:嵌入式操作系統(tǒng)斩萌、應(yīng)用支撐軟件和應(yīng)用軟件缝裤。

  1. 操作系統(tǒng)屏轰。有操作系統(tǒng)內(nèi)核、應(yīng)用程序接口憋飞、設(shè)備驅(qū)動程序接口等幾部分組成霎苗。嵌入式操作一般采用微內(nèi)核結(jié)構(gòu)。操作系統(tǒng)只負(fù)責(zé)進(jìn)程的調(diào)度榛做、進(jìn)程間的通信唁盏、內(nèi)存分配及異常與中斷管理最基本的任務(wù),其他大部分的功能則由支撐軟件完成检眯。
  2. 應(yīng)用支撐軟件厘擂。有窗口系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)锰瘸、數(shù)據(jù)庫管理系統(tǒng)及Java虛擬機(jī)等幾部分組成刽严。一般用于一些淺度嵌入的系統(tǒng)中。
  3. 應(yīng)用軟件避凝。是系統(tǒng)整體功能的集中體現(xiàn)舞萄。

12.3 嵌入式開發(fā)平臺與調(diào)試環(huán)境

12.3.1 嵌入式系統(tǒng)軟件開發(fā)平臺

1. 交叉平臺開發(fā)環(huán)境

嵌入式系統(tǒng)的軟件開發(fā)采用交叉平臺開發(fā)方法CPD,即軟件在一個通用平臺上開發(fā)恕曲,而在另一個嵌入式目標(biāo)平臺上運(yùn)行鹏氧。這個用于開發(fā)嵌入式軟件的通用平臺通常叫做宿主機(jī)系統(tǒng),被開發(fā)的嵌入式系統(tǒng)通常叫做目標(biāo)機(jī)系統(tǒng)佩谣。而當(dāng)軟件執(zhí)行環(huán)境和開發(fā)環(huán)境一致時的開發(fā)過程則成為北地開發(fā)ND把还。

通常包含三個高度集成的部分。

  1. 運(yùn)行在宿主機(jī)和目標(biāo)機(jī)上的強(qiáng)有力的交叉開發(fā)工具和實(shí)用程序
  2. 運(yùn)行在目標(biāo)機(jī)上的高性能茸俭、可裁剪的實(shí)時操作系統(tǒng)
  3. 連接宿主機(jī)和目標(biāo)機(jī)的多種通信方式吊履,例如,以太網(wǎng)调鬓、串口線艇炎、在線仿真器ICE或ROM仿真器等

2. 交叉編譯環(huán)境

宿主機(jī)提供的基本開發(fā)工具是交叉編譯器、交叉鏈接器和源代碼調(diào)試器腾窝。作為目標(biāo)機(jī)的嵌入式系統(tǒng)則可能提供一個動態(tài)裝載器缀踪、鏈接裝載器、監(jiān)視器和一個調(diào)試代理等虹脯。在目標(biāo)機(jī)和宿主機(jī)之間有一組連接驴娃,通過這組連接程序代碼映像從宿主機(jī)下載到目標(biāo)機(jī),這組連接同時也用來傳輸宿主機(jī)和目標(biāo)機(jī)調(diào)試代理之間的信息循集。

交叉編譯器將用戶編寫的C/C++/Java源代碼文件根據(jù)目標(biāo)機(jī)的CPU類型生成包含二進(jìn)制代碼和程序數(shù)據(jù)的目標(biāo)文件唇敞。在此過程中,交叉編譯器會產(chǎn)成一個符號表,包含所產(chǎn)生的目標(biāo)文件中指向映像地址的富豪命疆柔,當(dāng)建立重定位輸出時咒精,編譯器為每個相關(guān)的符號產(chǎn)生地址。

目前旷档,嵌入式系統(tǒng)中常用的目標(biāo)文件格式是COFF(公共對象文件)和ELF(可執(zhí)行鏈接格式)模叙。另外,一些系統(tǒng)還需要有一些專門的工具將上述格式轉(zhuǎn)換成二進(jìn)制代碼格式才能使用彬犯。

通常向楼,一個目標(biāo)文件包含:

  1. 關(guān)于目標(biāo)文件的通用信息,如文件尺寸谐区、啟動地址湖蜕、代碼段和數(shù)據(jù)段等。
  2. 機(jī)器架構(gòu)特定的二進(jìn)制指令和數(shù)據(jù)宋列。
  3. 符號表和重定位表
  4. 調(diào)試信息

12.3.2 嵌入式開發(fā)調(diào)試

1. 直接調(diào)試法

就是講目標(biāo)代碼下載到目標(biāo)機(jī)上昭抒,讓其執(zhí)行,通過觀察指示燈來判斷程序的運(yùn)行狀態(tài)炼杖∶鸱担基本步驟是:

  1. 在宿主機(jī)上編寫程序。
  2. 在宿主機(jī)上變異坤邪、鏈接生成目標(biāo)機(jī)可執(zhí)行程序代碼熙含。
  3. 將可執(zhí)行代碼寫入目標(biāo)機(jī)的存儲器中
  4. 在目標(biāo)機(jī)運(yùn)行程序代碼
  5. 判斷程序的運(yùn)行情況,如有錯誤則糾正錯誤艇纺,重復(fù)以上步驟怎静,直到正確為止。
  6. 將可執(zhí)行代碼固化到目標(biāo)機(jī)黔衡,開發(fā)完成蚓聘。

2. 調(diào)試監(jiān)控法

也叫插樁法。目標(biāo)機(jī)和宿主機(jī)一般通過串行口盟劫、并行口或以太網(wǎng)相連接夜牡,采用這種方法還需要在宿主機(jī)的調(diào)試器內(nèi)和目標(biāo)機(jī)的操作系統(tǒng)上分別啟動一個功能模塊,然后通過這兩個功能模塊的相互通信來實(shí)現(xiàn)對應(yīng)用程序的調(diào)試侣签。在目標(biāo)機(jī)上添加的模塊叫做樁塘装,也叫調(diào)試服務(wù)器或調(diào)試監(jiān)控器,主要有兩個作用:其一影所,監(jiān)視和控制被調(diào)試的程序氢哮;其二,跟宿主機(jī)上調(diào)試程序通信型檀,接收控制指令、返回結(jié)果等听盖。

基本步驟是:

  1. 在宿主機(jī)上編寫程序的源代碼胀溺。
  2. 在宿主機(jī)上編譯裂七、鏈接生成目標(biāo)機(jī)可執(zhí)行程序。
  3. 將目標(biāo)機(jī)可執(zhí)行程序下載到目標(biāo)機(jī)的存儲器中仓坞。
  4. 使用調(diào)試器進(jìn)行調(diào)試
  5. 在調(diào)試器幫助下定位錯誤
  6. 在宿主機(jī)上修改源代碼背零,糾正錯誤,重復(fù)上述步驟直到正確為止无埃。
  7. 將可執(zhí)行代碼固話到目標(biāo)機(jī)上徙瓶。

相對于直接測試法,插樁法明顯的提高了開發(fā)效率嫉称,降低了調(diào)試的難度侦镇,縮短了產(chǎn)品的開發(fā)周期,有效的降低了開發(fā)成本织阅。但是仍有明顯的缺點(diǎn)壳繁,主要體現(xiàn)在以下幾個方面:

  1. 調(diào)試監(jiān)控器本身的開發(fā)是個技術(shù)難題。
  2. 調(diào)試監(jiān)控器在目標(biāo)機(jī)中藥占用一定的系統(tǒng)資源荔棉。
  3. 調(diào)試時闹炉,不能響應(yīng)外部中斷,對由時間特性的程序不適用
  4. 在調(diào)試過程中润樱,被調(diào)試的程序?qū)嶋H上是在調(diào)試監(jiān)控器所提供的環(huán)境中運(yùn)行渣触,這個環(huán)境可能會與實(shí)際目標(biāo)程序最終的運(yùn)行環(huán)境有一定的差異,這種差異可能導(dǎo)致調(diào)試通過的程序最終仍不能運(yùn)行壹若。

為了克服插樁法的缺點(diǎn)嗅钻,出現(xiàn)了一種改良的方法,即ROM仿真器法

ROM仿真器法可以被認(rèn)為是一種用于替代目標(biāo)機(jī)上ROM芯片的硬件設(shè)備舌稀,ROM仿真器一端跟宿主機(jī)相連啊犬,一端通過ROM芯片的引腳插座與目標(biāo)機(jī)相連。對于嵌入式處理器來說壁查,ROM仿真器像是一個只讀存儲器觉至,而對于宿主機(jī)來說,像一個調(diào)試監(jiān)控器睡腿。該方法有如下優(yōu)點(diǎn):

  1. 不必再開發(fā)調(diào)試監(jiān)控器
  2. 由于是通過ROM仿真器上的串行口语御、并行口或網(wǎng)絡(luò)接口與宿主機(jī)連接,所以不必占用目標(biāo)機(jī)上的系統(tǒng)資源席怪。
  3. ROM仿真器代替了目標(biāo)機(jī)上原來的ROM应闯,所以不必占用目標(biāo)機(jī)上的存儲空間來保存調(diào)試監(jiān)控器
  4. 另外,即使目標(biāo)機(jī)本身沒有ROM挂捻,調(diào)試依然可以進(jìn)行碉纺,并且不需要使用專門工具向ROM寫入程序和數(shù)據(jù)。

3. 在線仿真法

ICE是一種用于替代目標(biāo)機(jī)上CPU的設(shè)備。對于目標(biāo)機(jī)來說骨田,在線仿真器就相當(dāng)于他的CPU耿导,在線仿真器本身就是一個嵌入式系統(tǒng),有自己的CPU态贤、內(nèi)存和軟件舱呻。即使沒有目標(biāo)機(jī),僅用在線仿真器也可以進(jìn)行程序的調(diào)試悠汽。

在線仿真器和宿主機(jī)一般通過串行口箱吕、并行口或以太網(wǎng)相連接。在連接在線仿真器和目標(biāo)系統(tǒng)時柿冲,用在線仿真器的CPU引出端口替代目標(biāo)機(jī)的CPU茬高。

在線仿真器能實(shí)時的檢查運(yùn)行程序的處理器的狀態(tài),設(shè)置硬件斷點(diǎn)和進(jìn)行實(shí)時跟蹤姻采,所以提供了更強(qiáng)的調(diào)試功能雅采。支持多種時間的觸發(fā)斷點(diǎn),這些時間包括內(nèi)存讀寫慨亲、I/O讀寫及中斷等婚瓜。一個重要特性就是實(shí)時跟蹤。但是刑棵,在線仿真器的價(jià)格一般都比較昂貴巴刻。

4. 片上調(diào)試法

ICD是CPU芯片內(nèi)部的一種用于支持調(diào)試的功能模塊。按照實(shí)現(xiàn)的技術(shù)蛉签,片上調(diào)試器可以分為仿調(diào)試監(jiān)控器胡陪、后臺調(diào)試模式BDM、連接測試存取組JTAG和片上仿真OnCE等幾類碍舍。

該方法的主要優(yōu)點(diǎn)是:不占用目標(biāo)機(jī)的通信端口等資源柠座;調(diào)試環(huán)境和最終的程序運(yùn)行環(huán)境基本一致;無需在目標(biāo)機(jī)上增加任何功能模塊即可運(yùn)行片橡;支持軟妈经、硬斷電掩蛤;支持跟蹤功能慢洋,可以精確計(jì)量程序的執(zhí)行時間;支持時序邏輯分析等功能器瘪。

該方法的缺點(diǎn)是:實(shí)時性不如在線仿真器法強(qiáng)经瓷;使用范圍受限爆哑,如果目標(biāo)機(jī)不支持片上調(diào)試功能,則該方法不適用舆吮;實(shí)現(xiàn)技術(shù)多樣揭朝,標(biāo)準(zhǔn)不完全統(tǒng)一队贱,工具軟件的開發(fā)和使用均不方便。

5. 模擬器法

模擬器是運(yùn)行在宿主機(jī)上的一種純軟件工具萝勤,它通過模擬目標(biāo)機(jī)的指令系統(tǒng)或目標(biāo)機(jī)操作系統(tǒng)的系統(tǒng)調(diào)用來達(dá)到在宿主機(jī)上運(yùn)行和調(diào)試嵌入式應(yīng)用程序的目的露筒。

適合于調(diào)試非實(shí)時的應(yīng)用程序,這類程序一般不與外部設(shè)備交互敌卓,實(shí)時性不強(qiáng),程序的執(zhí)行過程是時間封閉的伶氢,開發(fā)者可以直接在宿主機(jī)上驗(yàn)證程序的邏輯正確性趟径。當(dāng)確認(rèn)無誤后,將程序?qū)懭肽繕?biāo)機(jī)上即可正確運(yùn)行癣防。

模擬器有兩種主要類型:一類是指令級模擬器蜗巧,在宿主機(jī)模擬目標(biāo)機(jī)的指令系統(tǒng);另一類是系統(tǒng)調(diào)用級模擬器蕾盯,在宿主機(jī)上模擬目標(biāo)操作系統(tǒng)的系統(tǒng)調(diào)用幕屹。

使用模擬器的最大好處是在實(shí)際的目標(biāo)機(jī)不存在的條件下就可以為其開發(fā)應(yīng)用程序,并且在調(diào)試時利用宿主機(jī)的資源提供更消息的錯誤診斷信息级遭,但模擬器有許多不足之處望拖。

  1. 模擬器環(huán)境和實(shí)際運(yùn)行環(huán)境差別很大,無法保證在模擬條件下通過的應(yīng)用程序也能在真實(shí)環(huán)境中正常運(yùn)行挫鸽。
  2. 模擬器不能模擬所有的外部設(shè)備说敏,嵌入式系統(tǒng)通常包含諸多外設(shè),但模擬器只能模擬少數(shù)部分丢郊。
  3. 模擬器的實(shí)時性差盔沫,對于實(shí)時類應(yīng)用程序的調(diào)試結(jié)果可能不可靠。
  4. 運(yùn)行模擬器需要較高的宿主機(jī)配置枫匾。

12.4 嵌入式網(wǎng)絡(luò)系統(tǒng)

12.4.1 現(xiàn)場總線網(wǎng)

是一種將數(shù)字傳感器架诞、變換器、工業(yè)儀表及控制執(zhí)行機(jī)構(gòu)等現(xiàn)場是被與工業(yè)控制單元干茉,現(xiàn)場操作站等互相連接而成的網(wǎng)絡(luò)谴忧。

是一種低帶寬的底層控制網(wǎng)絡(luò),位于生產(chǎn)控制和網(wǎng)絡(luò)結(jié)構(gòu)的底層等脂,因此也被稱為底層網(wǎng)俏蛮。主要應(yīng)用于生產(chǎn)現(xiàn)場,在測量控制設(shè)備之間實(shí)現(xiàn)雙向的上遥、串行的搏屑、多節(jié)點(diǎn)的數(shù)字通信。

現(xiàn)場總線控制系統(tǒng)FCS是運(yùn)用現(xiàn)場總線連接各控制器及儀表設(shè)備而構(gòu)成的控制系統(tǒng)粉楚,該控制系統(tǒng)將控制功能徹底下放到現(xiàn)場辣恋,降低了安裝成本和維護(hù)費(fèi)用×恋妫現(xiàn)場總線控制系統(tǒng)把單個分散的測量控制設(shè)備變成網(wǎng)絡(luò)節(jié)點(diǎn),以現(xiàn)場總線為紐帶伟骨,使這些分散的設(shè)備稱為可以互相溝通信息共同完成自動控制任務(wù)的網(wǎng)絡(luò)系統(tǒng)饮潦。

12.4.2 家庭信息網(wǎng)

是一種把家庭范圍內(nèi)的個人計(jì)算機(jī)、家用電器携狭、水继蜡、電、氣儀表逛腿、照明設(shè)備和網(wǎng)絡(luò)設(shè)備稀并、安全設(shè)備連接在一起的局域網(wǎng)。

12.4.3 無線數(shù)據(jù)通信網(wǎng)

是一種通過無線電波傳送數(shù)據(jù)的網(wǎng)絡(luò)系統(tǒng)单默。

12.4.4 嵌入式Internet

1. 嵌入式Internet的接入方式

嵌入式設(shè)備上集成了TCP/IP協(xié)議棧及相關(guān)軟件碘举,這類設(shè)備可以作為Internet的一個節(jié)點(diǎn),分配有IP地址搁廓,與Internet直接互聯(lián)引颈。

或通過接入設(shè)備接入Internet。

2. 嵌入式TCP/IP協(xié)議棧

  1. 嵌入式協(xié)議棧的調(diào)用接口與普通的協(xié)議棧不同境蜕。普通協(xié)議棧的套接字接口是標(biāo)準(zhǔn)的蝙场,應(yīng)用軟件的兼容性好。
  2. 嵌入式協(xié)議棧的可裁剪性汽摹。嵌入式協(xié)議棧多數(shù)是模塊化的李丰,如果存儲器的空間有限,可以在需要時進(jìn)行動態(tài)安裝逼泣,并且都省去了接口轉(zhuǎn)發(fā)趴泌、全套的Internet服務(wù)工具等幾個針對嵌入式系統(tǒng)非必須的部分。
  3. 嵌入式協(xié)議棧的平臺兼容性拉庶。
  4. 嵌入式協(xié)議棧的高效率嗜憔。

12.5 嵌入式數(shù)據(jù)庫管理系統(tǒng)

是指在嵌入式設(shè)備上使用的數(shù)據(jù)庫管理系統(tǒng)。也稱為移動數(shù)據(jù)庫或嵌入式移動數(shù)據(jù)庫氏仗。作用主要是解決移動計(jì)算環(huán)境下數(shù)據(jù)的管理問題吉捶。移動數(shù)據(jù)庫是移動計(jì)算環(huán)境中的分布式數(shù)據(jù)庫。

在嵌入式系統(tǒng)中引入數(shù)據(jù)庫技術(shù)皆尔,主要是因?yàn)橹苯釉谇度胧讲僮飨到y(tǒng)或裸機(jī)智商開發(fā)信息管理應(yīng)用程序存在如下缺點(diǎn):

  1. 所有的應(yīng)用程序都要重復(fù)進(jìn)行數(shù)據(jù)的管理工作呐舔,增加了開發(fā)難度和代價(jià)。
  2. 各應(yīng)用之間的數(shù)據(jù)共享性差慷蠕。
  3. 應(yīng)用軟件的獨(dú)立性珊拼、可以執(zhí)行差、可重用度低流炕。

12.5.1 使用環(huán)境的特點(diǎn)

  1. 設(shè)備隨時移動性
  2. 網(wǎng)絡(luò)頻繁斷接
  3. 網(wǎng)絡(luò)條件多樣化
  4. 通信能力不對稱

12.5.2 系統(tǒng)組成與關(guān)鍵技術(shù)

  1. 嵌入式數(shù)據(jù)庫管理系統(tǒng)澎现。是一個功能獨(dú)立的單用戶數(shù)據(jù)庫管理系統(tǒng)仅胞,可以獨(dú)立于同步服務(wù)器和主數(shù)據(jù)庫管理系統(tǒng)運(yùn)行,對嵌入式系統(tǒng)中的數(shù)據(jù)進(jìn)行管理剑辫,也可以通過同步服務(wù)器連接到主服務(wù)器上干旧,對主數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行操作,還可以通過多種方式進(jìn)行數(shù)據(jù)同步妹蔽。
  2. 同步服務(wù)器椎眯。是嵌入式數(shù)據(jù)庫和主數(shù)據(jù)庫之間的連接樞紐,保證嵌入式數(shù)據(jù)和主數(shù)據(jù)庫中數(shù)據(jù)的一致性讹开。
  3. 數(shù)據(jù)服務(wù)器盅视。數(shù)據(jù)服務(wù)器的主數(shù)據(jù)及數(shù)據(jù)庫管理系統(tǒng)可以采用Oracle或Sybase等大型通用數(shù)據(jù)庫系統(tǒng)
  4. 連接網(wǎng)絡(luò)。主數(shù)據(jù)庫服務(wù)器和同步服務(wù)器之間一般通過高帶寬旦万、低延遲的固定網(wǎng)絡(luò)進(jìn)行連接。移動設(shè)備和同步服務(wù)器之間的連接根據(jù)設(shè)備的具體情況可以是無線局域網(wǎng)镶蹋、紅外連接成艘、通用串行線或公眾網(wǎng)等。

1. 嵌入式移動數(shù)據(jù)庫在應(yīng)用中的關(guān)鍵

  1. 數(shù)據(jù)的一致性
  2. 高效的事務(wù)處理
  • 根據(jù)網(wǎng)絡(luò)連接情況來確定事務(wù)處理的優(yōu)先級贺归,網(wǎng)絡(luò)連接速度高的事務(wù)優(yōu)先處理
  • 根據(jù)操作時間來確定事務(wù)是否遷移淆两,即長時間的事務(wù)操作將全部遷移到服務(wù)器上執(zhí)行,無須保證網(wǎng)絡(luò)的一直暢通拂酣。
  • 根據(jù)數(shù)據(jù)量的大小來確定事務(wù)是上載執(zhí)行還是下載數(shù)據(jù)副本執(zhí)行后上載秋冰;
  • 完善的日志記錄策略
  • 事務(wù)處理過程中,網(wǎng)絡(luò)斷接處理時采用服務(wù)器發(fā)現(xiàn)機(jī)制還是采用客戶端聲明機(jī)制婶熬。
  • 事務(wù)移動過程中的用戶位置屬性的實(shí)時更新剑勾。
  1. 數(shù)據(jù)的安全性

2. 移動數(shù)據(jù)庫管理系統(tǒng)的特性

  1. 微核結(jié)構(gòu),便于實(shí)現(xiàn)嵌入式功能赵颅。
  2. 對標(biāo)準(zhǔn)SQL的支持
  3. 事務(wù)管理功能虽另。
  4. 完善的數(shù)據(jù)同步機(jī)制。應(yīng)具有以下幾個特點(diǎn):
  • 提供多種數(shù)據(jù)同步方式饺谬,具有上載同步捂刺、下載同步和完全同步三種方式。
  • 具有完善的沖突檢測機(jī)制和靈活的沖突解決方案募寨,具有沖突日志記錄功能
  • 支持快速同步族展,系統(tǒng)同步時,只傳遞變化的數(shù)據(jù)拔鹰,節(jié)省了大量的同步時間
  • 支持標(biāo)的水平分割和垂直分割復(fù)制仪缸,最大限度降低了嵌入式數(shù)據(jù)庫的大小。
  • 支持異構(gòu)數(shù)據(jù)源連接同步格郁,可以用支持ODBC的異構(gòu)數(shù)據(jù)源作為主數(shù)據(jù)庫和嵌入式設(shè)備上的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)同步腹殿。
  • 具有主動同步的功能独悴。允許用戶對系統(tǒng)提供的同步事件自定義過程實(shí)現(xiàn),提供了最大靈活度的同步過程锣尉。
  1. 支持多種連接協(xié)議
  2. 完備的嵌入式數(shù)據(jù)庫管理功能
  3. 平臺無關(guān)性與支持多種嵌入式操作系統(tǒng)刻炒。
  4. 零管理特性

12.6 實(shí)時系統(tǒng)與嵌入式操作系統(tǒng)

實(shí)時系統(tǒng)可以看成是對外部事件能夠及時響應(yīng)的系統(tǒng)。這種系統(tǒng)最重要的特征是時間性自沧,也就是實(shí)時性坟奥,實(shí)時系統(tǒng)的正確性不僅依賴于系統(tǒng)計(jì)算的邏輯結(jié)果,還依賴于產(chǎn)生這些結(jié)果的時間拇厢。

12.6.1 嵌入式系統(tǒng)的實(shí)時概念

  1. 邏輯(或功能)正確爱谁,是指系統(tǒng)對外部事件的處理能夠產(chǎn)生正確的結(jié)果。
  2. 時間正確孝偎,是指系統(tǒng)對外部事件的處理必須在預(yù)定的周期內(nèi)完成访敌。
  3. 死線或時限、死亡時限衣盾、截止時間寺旺,是指系統(tǒng)必須對外部事件進(jìn)行處理的最遲時間界限,錯過此界限可能產(chǎn)生嚴(yán)重的后果势决。
  4. 實(shí)時系統(tǒng)阻塑。是指功能正確和時間正確同時滿足的系統(tǒng),二者同等重要果复。

對于實(shí)時系統(tǒng)的劃分陈莽,通常還可以根據(jù)實(shí)時性的強(qiáng)弱,即系統(tǒng)必須對外部事件作出響應(yīng)的時間長短虽抄,將實(shí)時系統(tǒng)分為:

  1. 強(qiáng)實(shí)時系統(tǒng)走搁,其系統(tǒng)的響應(yīng)時間非常短,通常在毫秒級或微秒級极颓。
  2. 一般實(shí)時系統(tǒng)朱盐,其系統(tǒng)響應(yīng)時間比強(qiáng)實(shí)時系統(tǒng)要求姚笛,通常在秒級
  3. 弱實(shí)時系統(tǒng)菠隆,其系統(tǒng)響應(yīng)時間可以更長兵琳,也可以隨系統(tǒng)負(fù)載的輕重而變化。

根據(jù)對錯失時限的容忍程度骇径,可以將實(shí)時系統(tǒng)分為軟實(shí)時系統(tǒng)和硬實(shí)時系統(tǒng)躯肌。

  1. 硬實(shí)時系統(tǒng),指系統(tǒng)必須滿足其靈活性接近零時限要求的實(shí)時系統(tǒng)破衔。時限必須滿足否則就會產(chǎn)生災(zāi)難性后果清女,并且實(shí)現(xiàn)之后得到的處理結(jié)果或是零級無用,或是高度編制晰筛。
  2. 軟實(shí)時系統(tǒng)嫡丙,指必須滿足時限的要求拴袭,但有一定靈活性的實(shí)時系統(tǒng)。時限可以包含可變的容忍等級曙博、平均的截止時限拥刻,甚至是帶有不同程度的、可接受性的響應(yīng)時間的統(tǒng)計(jì)分布父泳。在軟實(shí)時系統(tǒng)中般哼,時限錯失通常不會導(dǎo)致系統(tǒng)失敗等嚴(yán)重后果。

12.6.2 嵌入式操作系統(tǒng)概述

1. 嵌入式操作系統(tǒng)的特點(diǎn)

  1. 微型化:嵌入式操作系統(tǒng)的運(yùn)行平臺不是通用計(jì)算機(jī)惠窄,而是嵌入式計(jì)算機(jī)系統(tǒng)蒸眠。這類系統(tǒng)一般沒有大容量的內(nèi)存,幾乎沒有外存杆融,因此楞卡,嵌入式操作系統(tǒng)必須做的小巧,以盡量少占用系統(tǒng)資源脾歇。為了提高系統(tǒng)的執(zhí)行速度和可靠性臀晃,嵌入式系統(tǒng)中的軟件一般都固話在存儲器芯片中,而不是存放在磁盤等載體中介劫。
  2. 代碼質(zhì)量高:在大多數(shù)應(yīng)用中,存儲空間依然是寶貴的資源案淋,者就要求程序代碼的質(zhì)量要搞座韵,代碼要盡量精簡。
  3. 專業(yè)化:嵌入式系統(tǒng)的硬件平臺多種多樣踢京,處理器更新速度快誉碴,每種都是針對不同的應(yīng)用領(lǐng)域而專門設(shè)計(jì)。因此瓣距,嵌入式操作系統(tǒng)需要有很好的適應(yīng)性和移植性黔帕,還要支持多種開發(fā)平臺
  4. 實(shí)時性強(qiáng):嵌入式系統(tǒng)廣泛應(yīng)用于過程控制、數(shù)據(jù)采集蹈丸、通信成黄、多媒體信息處理等要求實(shí)時響應(yīng)的場合,因此實(shí)時性稱為嵌入式操作系統(tǒng)的又一特點(diǎn)逻杖。
  5. 可裁剪奋岁、可配置:應(yīng)用的多樣性要求嵌入式操作系統(tǒng)具有較強(qiáng)的適應(yīng)能力,能夠根據(jù)應(yīng)用的特點(diǎn)和具體要求進(jìn)行靈活配置和合理裁剪荸百,以適應(yīng)微型化和專業(yè)化的要求闻伶。

2. 嵌入式操作系統(tǒng)的分類

  1. 商業(yè)型。

  2. 免費(fèi)型够话。典型的由Linux

  3. 實(shí)時嵌入式操作系統(tǒng)RTEOS蓝翰。支持實(shí)時系統(tǒng)工作光绕,首要任務(wù)是調(diào)度一切可利用資源,以滿足對外部事件響應(yīng)的實(shí)時時限畜份,其次著眼于提高系統(tǒng)的使用效率诞帐。主要用子啊控制、通信等領(lǐng)域

  4. 非實(shí)時嵌入式操作系統(tǒng)漂坏。不特別關(guān)注單個任務(wù)響應(yīng)時限景埃,平均性能、系統(tǒng)效率和資源利用率一般較高顶别,適合于實(shí)時性要求不嚴(yán)格的消費(fèi)類電子產(chǎn)品谷徙,如個人數(shù)字助理、機(jī)頂盒等驯绎。

12.6.3 實(shí)時嵌入式操作系統(tǒng)

  1. 實(shí)時內(nèi)核型的RTEOS:這類操作系統(tǒng)完慧,驅(qū)動程序傳統(tǒng)嵌在內(nèi)核之中,應(yīng)用程序和中間件實(shí)現(xiàn)在標(biāo)準(zhǔn)的應(yīng)用程序接口之上剩失。
  2. 實(shí)時通用型的RTEOS:這類操作系統(tǒng)屈尼,驅(qū)動程序并非晨讀嵌入到訥河中,而是在內(nèi)核之上實(shí)現(xiàn)拴孤,并且僅包含少數(shù)必須的驅(qū)動程序脾歧,應(yīng)用程序和中間件可以直接在驅(qū)動程序之上實(shí)現(xiàn),而不必在標(biāo)準(zhǔn)的APIs上實(shí)現(xiàn)演熟。

1. 嵌入式實(shí)時操作系統(tǒng)的關(guān)鍵特性

  1. 滿足嵌入式應(yīng)用的高可靠性
  2. 滿足應(yīng)用需要的可裁剪能力
  3. 內(nèi)存需求少
  4. 運(yùn)行的可預(yù)測性
  5. 采用實(shí)時調(diào)度策略
  6. 系統(tǒng)的規(guī)模緊湊
  7. 支持從ROM或RAM上引導(dǎo)和運(yùn)行
  8. 對不同的硬件平臺均有更好的可移植性鞭执。

2. 嵌入式實(shí)時操作系統(tǒng)的實(shí)時性能指標(biāo)

  1. 任務(wù)切換時間:指CPU控制權(quán)由運(yùn)行太的任務(wù)轉(zhuǎn)移給另外一個就緒任務(wù)所需要的時間,包括在進(jìn)行任務(wù)切換時芒粹,保存和恢復(fù)任務(wù)上下文所花費(fèi)的時間及選擇下一個待運(yùn)行任務(wù)的調(diào)度時間兄纺,該指標(biāo)跟微處理器的寄存器數(shù)目和系統(tǒng)結(jié)構(gòu)有關(guān)。相同的操作系統(tǒng)在不同微處理器上運(yùn)行時所花費(fèi)的時間可能不同化漆。
  2. 中斷處理相關(guān)的時間指標(biāo)估脆。
  • 中斷延遲時間,指從中斷發(fā)生到系統(tǒng)獲知中斷的時間座云,主要受系統(tǒng)做大關(guān)中斷時間的影響疙赠,關(guān)中斷時間越長,中斷延遲也就越長疙教。
  • 中斷處理執(zhí)行時間棺聊,改時間由具體的應(yīng)用決定
  • 中斷響應(yīng)時間,指從中斷發(fā)生到開始執(zhí)行用戶中斷服務(wù)例程的時間贞谓。
  • 中斷恢復(fù)時間限佩,指從用戶中斷服務(wù)例程結(jié)束回到被中斷的代碼之間的時間。
  • 最大關(guān)中斷時間,包含兩個方便祟同,一是內(nèi)核最大關(guān)中斷時間作喘,及內(nèi)核在執(zhí)行臨界區(qū)代碼時關(guān)中斷;二是應(yīng)用關(guān)中斷時間晕城,關(guān)中斷最大時間是這兩種關(guān)中斷時間的最大值泞坦。
  • 任務(wù)響應(yīng)時間,指從任務(wù)對應(yīng)的中斷產(chǎn)生到該任務(wù)真正開始運(yùn)行的時間砖顷。
    對于可搶占式調(diào)度贰锁,中斷恢復(fù)的時間還要加上進(jìn)行任務(wù)切換和恢復(fù)新的任務(wù)上下文的時間。
  1. 系統(tǒng)響應(yīng)時間滤蝠,指系統(tǒng)在發(fā)出處理請求到系統(tǒng)做出應(yīng)答的時間豌熄,即調(diào)度延遲,這個時間的大小主要有內(nèi)核任務(wù)調(diào)度算法所決定物咳。

12.6.4 主流嵌入式操作系統(tǒng)介紹

12.7 嵌入式系統(tǒng)開發(fā)設(shè)計(jì)

主要任務(wù)是定義系統(tǒng)的功能锣险、決定系統(tǒng)的架構(gòu),并將功能映射到系統(tǒng)實(shí)現(xiàn)架構(gòu)上览闰。

12.7.1 嵌入式系統(tǒng)設(shè)計(jì)概述

1. 嵌入式系統(tǒng)設(shè)計(jì)的特點(diǎn)

  1. 軟芯肤、硬件協(xié)同并行開發(fā)
  2. 微處理器的類型多種多樣
  3. 實(shí)施嵌入式操作系統(tǒng)具有多樣性
  4. 與通用系統(tǒng)開發(fā)相比,可利用系統(tǒng)資源很少
  5. 應(yīng)用支持少
  6. 要求特殊的開發(fā)工具
  7. 軟压鉴、硬件都要很健壯
  8. 調(diào)試很困難

2. 嵌入式系統(tǒng)的技術(shù)指標(biāo)

  1. NRE成本(非重復(fù)性工程成本):設(shè)計(jì)系統(tǒng)所需要支付的一次性貨幣成本崖咨,即一旦設(shè)計(jì)完畢,不需要額外支付的設(shè)計(jì)費(fèi)用油吭,就可以制造任意數(shù)的產(chǎn)品掩幢。
  2. 單位成本:生產(chǎn)單個產(chǎn)品所需要支付的貨幣成本,不包含NRE成本上鞠。
  3. 大小:指系統(tǒng)所占的空間芯丧,對軟件而言芍阎,一般用字節(jié)數(shù)來衡量;對硬件而言缨恒,則用邏輯門或晶體管的數(shù)目來衡量谴咸。
  4. 性能:系統(tǒng)完成規(guī)定任務(wù)所需的時間,是設(shè)計(jì)時最常用的設(shè)計(jì)指標(biāo)骗露,主要有兩種衡量方式岭佳,一是響應(yīng)時間,即開始執(zhí)行到任務(wù)結(jié)束之間的時間萧锉。二是完成量珊随,即單位時間內(nèi)所完成的任務(wù)量。
  5. 功率:系統(tǒng)所消耗的功率,決定了電池的壽命或電路的散熱需求叶洞。
  6. 靈活性:在不增加NRE成本的前提下鲫凶,改變系統(tǒng)功能的能力
  7. 樣機(jī)建立時間:建立系統(tǒng)可運(yùn)行版本所需的時間,系統(tǒng)樣機(jī)可能比最終產(chǎn)品更大更昂貴衩辟,但可以驗(yàn)證系統(tǒng)的額用途和正確性螟炫,改進(jìn)系統(tǒng)的功能。
  8. 上市時間:從系統(tǒng)開發(fā)到可以上市賣給消費(fèi)者的時間艺晴,最主要的影響因素包括設(shè)計(jì)時間昼钻、制造時間和檢測時間
  9. 可維護(hù)性:系統(tǒng)推出或上市后進(jìn)行修改的難易程度,特別是針對非原始開發(fā)人員進(jìn)行的修改封寞。
  10. 正確性:正確實(shí)現(xiàn)了系統(tǒng)的功能然评,可以在整個世界過程中檢查系統(tǒng)的功能,也可以插入測試電路檢驗(yàn)是否正確钥星。
  11. 安全性:系統(tǒng)不會造成傷害的概率沾瓦。

3. 嵌入式系統(tǒng)的設(shè)計(jì)挑戰(zhàn)

  1. 需要多少硬件
  2. 如何滿足時限
  3. 如何減少系統(tǒng)的功耗
  4. 如何保證系統(tǒng)的可升級性
  5. 如何保證系統(tǒng)的可靠性
  6. 測試的復(fù)雜性
  7. 可視性和可控制性有限
  8. 開發(fā)環(huán)境受限

12.7.2 開發(fā)模型與設(shè)計(jì)流程

1. 常用開發(fā)模型

  1. 瀑布模型。由五個主要階段組成:需求分析階段確定目標(biāo)系統(tǒng)的基本特點(diǎn)谦炒;系統(tǒng)結(jié)構(gòu)設(shè)計(jì)階段將系統(tǒng)的功能分解為主要的構(gòu)架贯莺;編碼階段主要進(jìn)行程序的編寫和調(diào)試;測試階段檢測錯誤宁改;最后一個階段是維護(hù)階段缕探,主要負(fù)責(zé)修改代碼以適應(yīng)環(huán)境的變化,并改正錯誤还蹲、升級爹耗。各個階段的工作和信息總是由高級的抽象到較詳細(xì)的設(shè)計(jì)步驟單向流動是一個理想的自頂向下的設(shè)計(jì)模型。
  2. 螺旋模型谜喊。假定要建立系統(tǒng)的多個版本潭兽,早起的版本是一個簡單的實(shí)驗(yàn)?zāi)P停糜趲椭O(shè)計(jì)者建立對系統(tǒng)的直覺和積累開發(fā)此系統(tǒng)的經(jīng)驗(yàn)斗遏,隨著設(shè)計(jì)的進(jìn)展山卦,會創(chuàng)建更加復(fù)雜的系統(tǒng)。在每一層設(shè)計(jì)中诵次,設(shè)計(jì)者都會經(jīng)過需求分析账蓉、結(jié)構(gòu)設(shè)計(jì)、測試三個階段逾一。在后期铸本,當(dāng)構(gòu)成更復(fù)雜的系統(tǒng)版本時,每一個階段都會有更多的工作遵堵,并需要擴(kuò)大設(shè)計(jì)的螺旋箱玷。
  3. 逐步求精模型怨规。是一個系統(tǒng)被建立多次,第一個系統(tǒng)被稱為原型汪茧,其后逐個將系統(tǒng)進(jìn)一步求精椅亚。
  4. 層次模型。從最初的完整系統(tǒng)設(shè)計(jì)到個別部件的設(shè)計(jì)舱污,設(shè)計(jì)的流程隨著系統(tǒng)的抽象層次的變化而變化呀舔,從最高抽象層次的整體設(shè)計(jì)到中間抽象層次的整體設(shè)計(jì),再到每個具體模塊的設(shè)計(jì)扩灯,都是逐層展開的媚赖。

2. 嵌入式系統(tǒng)的設(shè)計(jì)方法

一個良好的嵌入式系統(tǒng)設(shè)計(jì)方法是十分重要的,這是因?yàn)椋?/p>

  1. 良好的設(shè)計(jì)方法可以使設(shè)計(jì)者清楚的了解他們所做工作的進(jìn)度珠插,這樣可以確保不遺漏其中任何一項(xiàng)工作惧磺。
  2. 允許使用計(jì)算機(jī)輔助工具幫助設(shè)計(jì)者進(jìn)行工作,將整個過程分成幾個可控的步驟進(jìn)行捻撑。
  3. 良好的設(shè)計(jì)方法方便設(shè)計(jì)團(tuán)隊(duì)的成員之間相互交流磨隘,通過定義全面的設(shè)計(jì)過程,使團(tuán)隊(duì)里的每個成員可以很好的理解他們所要做的工作及完成分配給他們的任務(wù)時所達(dá)到的目標(biāo)顾患。

嵌入式系統(tǒng)軟件的開發(fā)過程可以分為項(xiàng)目計(jì)劃番捂、可行性分析、需求分析江解、概要設(shè)計(jì)设预、詳細(xì)設(shè)計(jì)、程序建立犁河、下載鳖枕、調(diào)試、固話桨螺、測試及運(yùn)行等幾個階段宾符。

12.7.3 嵌入式系統(tǒng)設(shè)計(jì)的核心技術(shù)

1. 處理器技術(shù)

  1. 通用處理器。這類處理器可以用于不同類型的應(yīng)用灭翔,一個重要的特征就是存儲程序吸奴,由于設(shè)計(jì)者不知道處理器會運(yùn)行何種運(yùn)算,所以無法用數(shù)字電路建立程序缠局。另一個特征就是通用的數(shù)據(jù)路徑,為了處理各類不同的運(yùn)算考润,數(shù)據(jù)路徑是通用的狭园,其數(shù)據(jù)路徑一般有大量的寄存器及一個或多個通用的算術(shù)邏輯單元。
  2. 單用途處理器糊治。是設(shè)計(jì)用于執(zhí)行特定程序的數(shù)字電路唱矛,也指協(xié)處理器、加速器、外設(shè)等绎谦。嵌入式系統(tǒng)設(shè)計(jì)者可通過設(shè)計(jì)特定的數(shù)字電路來建立單用途的處理器管闷。設(shè)計(jì)者也可以采用預(yù)先設(shè)計(jì)好的商業(yè)化的單用途處理器。
  3. 專用處理器窃肠。專用指令集處理器是一個可編程處理器包个,針對某一特定類型的應(yīng)用進(jìn)行最優(yōu)化。這類應(yīng)用具有相同的特征冤留,如嵌入式控制碧囊、數(shù)字信號處理等。

2. IC技術(shù)

從系統(tǒng)的集成電路設(shè)計(jì)描述得到實(shí)際芯片的物理映射過程的實(shí)現(xiàn)技術(shù)就是IC(集成電路)技術(shù)纤怒,當(dāng)前在半導(dǎo)體領(lǐng)域的三類實(shí)現(xiàn)技術(shù)糯而,即全定制、半定制和可編程技術(shù)均可應(yīng)用于嵌入式系統(tǒng)的硬件設(shè)計(jì)泊窘。

  1. 全定制/VLSI(超大規(guī)模集成電路)熄驼。在全定制IC技術(shù)中,需要根據(jù)特定的嵌入式系統(tǒng)的數(shù)字實(shí)現(xiàn)來優(yōu)化各層設(shè)計(jì)人員從晶體管的版圖尺寸烘豹、位置瓜贾、連線開始設(shè)計(jì)以達(dá)到芯片面積利用率高、速度快吴叶、功耗低的最優(yōu)化性能阐虚。利用掩膜在制造廠生產(chǎn)實(shí)際新品,全定制的IC設(shè)計(jì)也成為VLSI蚌卤,具有很高的NRE成本实束、很長的制造時間,適用于大量或?qū)π阅芤髧?yán)格的應(yīng)用逊彭。
  2. 半定制/ASIC(專用集成電路)咸灿。是一種約束型設(shè)計(jì)方法,包括門陣列設(shè)計(jì)法和標(biāo)準(zhǔn)單元設(shè)計(jì)法侮叮,他是在芯片制作好一些具有通用性的單元元件和元件組的半成品硬件避矢,設(shè)計(jì)者僅需要考慮電路的邏輯功能和各功能模塊之間的合理連接即可。這種設(shè)計(jì)方法靈活方便囊榜、性價(jià)比高审胸,縮短了設(shè)計(jì)周期,提高了成品率卸勺。
  3. 可編程/ASIC砂沛。可編程器件中所有各層都已經(jīng)存在曙求,設(shè)計(jì)完成后碍庵,在實(shí)驗(yàn)室里即可燒制出設(shè)計(jì)的芯片映企,不需要要IC廠家參與,開發(fā)周期顯著縮短静浴⊙呙ィ可編程ASIC具有較低的NRE成本,單位成本較高苹享,功耗較大双絮,速度較慢。

3. 設(shè)計(jì)/驗(yàn)證技術(shù)

設(shè)計(jì)技術(shù)主要包括硬件設(shè)計(jì)技術(shù)和軟件設(shè)計(jì)技術(shù)兩大類富稻。其中掷邦,硬件設(shè)計(jì)領(lǐng)域的技術(shù)主要包括芯片級設(shè)計(jì)技術(shù)和電路板級設(shè)計(jì)技術(shù)兩個方面。

芯片級設(shè)計(jì)技術(shù)的核心是編譯/綜合椭赋、庫/IP(知識產(chǎn)權(quán))抚岗、測試/驗(yàn)證。編譯/綜合技術(shù)是設(shè)計(jì)者用抽象的方式描述所需的功能哪怔,并自動分析和插入實(shí)現(xiàn)細(xì)節(jié)宣蔚。庫/IP將預(yù)先設(shè)計(jì)好的低抽象級實(shí)現(xiàn)用于高級抽象。測試/驗(yàn)證技術(shù)確保每級功能正確认境,減少各級之間反復(fù)設(shè)計(jì)的成本胚委。

12.7.4 嵌入式開發(fā)設(shè)計(jì)環(huán)境

  1. 與嵌入式操作系統(tǒng)配套的開發(fā)環(huán)境。
  2. 與處理器芯片配套的開發(fā)環(huán)境叉信。這類開發(fā)環(huán)境一般由處理器廠商提供亩冬。
  3. 與具體應(yīng)用平臺配套的開發(fā)環(huán)境。
  4. 其他類的開發(fā)環(huán)境

12.7.5 嵌入式軟件設(shè)計(jì)模型

嵌入式系統(tǒng)常用的計(jì)算模型有如下幾種:時序計(jì)算模型硼身、通信進(jìn)程模型硅急、狀態(tài)機(jī)模型、數(shù)據(jù)流模型佳遂、面向?qū)ο竽P陀唷⒉l(fā)進(jìn)程模型

1. 狀態(tài)機(jī)模型

有限狀態(tài)機(jī)FSM是一個基本的狀態(tài)模型,可以用一組可能的狀態(tài)描述系統(tǒng)的行為丑罪,系統(tǒng)在任何時刻只能處于其中一個狀態(tài)荚板,也可以描述由輸入確定的狀態(tài)轉(zhuǎn)移,最后可以描述在某個狀態(tài)下或狀態(tài)轉(zhuǎn)移期間可能發(fā)生的操作吩屹。

當(dāng)FSM被用于嵌入式系統(tǒng)設(shè)計(jì)時跪另,其輸入和輸出的類型都是布爾類型,而函數(shù)表示含有布爾運(yùn)算的布爾函數(shù)煤搜,這種模型對于沒有數(shù)據(jù)輸入或輸出的很多純控制系統(tǒng)而言已經(jīng)足夠免绿。如果要處理數(shù)據(jù)鲤拿,則將FSM擴(kuò)展為帶有數(shù)據(jù)路徑的狀態(tài)機(jī)FSMD。另外揍很,對狀態(tài)機(jī)模型可以進(jìn)一步擴(kuò)展以支持分級和并發(fā)途样,這種模型稱為分級/并發(fā)FSM模型

2. 數(shù)據(jù)流模型

是并發(fā)多任務(wù)模型派生出的一種模型褐望,該模型將系統(tǒng)的行為描述為一組結(jié)點(diǎn)和邊憾赁,其中結(jié)點(diǎn)表示變換袖扛,邊表示從一個結(jié)點(diǎn)到另一個結(jié)點(diǎn)的數(shù)據(jù)流向拦耐。每個結(jié)點(diǎn)使用來自其輸入邊的數(shù)據(jù)婶希,執(zhí)行變換并在其輸出邊上產(chǎn)生數(shù)據(jù)榕暇。

每個邊可能有貨沒有數(shù)據(jù),出現(xiàn)在邊上的數(shù)據(jù)稱為令牌喻杈。當(dāng)每個結(jié)點(diǎn)的所有輸入邊都至少有一個令牌時彤枢,該結(jié)點(diǎn)可觸發(fā)。結(jié)點(diǎn)觸發(fā)后筒饰,將使用來自每條輸入邊上的一個李競拍缴啡,對所有使用的令牌進(jìn)行數(shù)據(jù)變換,并在輸出邊上產(chǎn)生一個令牌瓷们,結(jié)點(diǎn)的觸發(fā)僅決定于令牌出現(xiàn)的情況业栅。

同步數(shù)據(jù)流模型中,在結(jié)點(diǎn)的每條輸入邊和輸出邊上分別標(biāo)注每次觸發(fā)所使用和產(chǎn)生的令牌數(shù)谬晕。該模型的優(yōu)點(diǎn)是碘裕,在實(shí)現(xiàn)時不需要將其轉(zhuǎn)換為并發(fā)多任務(wù)模型,而是用靜態(tài)方式調(diào)度結(jié)點(diǎn)攒钳,產(chǎn)生時序程序模型帮孔。該模型可以使用時序程序語言來表達(dá),不需要實(shí)時操作系統(tǒng)就可以執(zhí)行不撑,因此其執(zhí)行效率更高文兢。

3. 并發(fā)進(jìn)程模型

是由一組進(jìn)程構(gòu)成,每個進(jìn)程是一個順序執(zhí)行的過程燎孟,各進(jìn)程間可以并發(fā)執(zhí)行禽作。并發(fā)進(jìn)程模型提供創(chuàng)建、終止揩页、暫停旷偿、恢復(fù)和連接進(jìn)程的操作。進(jìn)程在執(zhí)行中可以相互通信爆侣,交換數(shù)據(jù)萍程。進(jìn)程間通信可以采用兩種方式:共享變量和消息傳遞。信號量兔仰、臨界區(qū)茫负、管程和路徑表達(dá)式等用來對并發(fā)進(jìn)程的操作進(jìn)行同步。

4. 面向?qū)ο竽P?/h4>

是以一種更加直接的方式刻畫客觀世界中的活動乎赴,模型中存在著潛在的并發(fā)執(zhí)行能力忍法。一個對象向另一個對象發(fā)送消息后潮尝,若不需要或不立即需要消息的執(zhí)行結(jié)果,前者不必等待后者處理消息饿序,消息發(fā)送者和消息接受者可以并發(fā)執(zhí)行勉失。對象不都是處于被動的提供服務(wù)狀態(tài),他們中的一些除了能通過接收消息向外提供服務(wù)外原探,還可以有自己的事務(wù)處理乱凿。一個對象往往可以同時處理多個消息。

對象是數(shù)據(jù)和操作的封裝體咽弦,數(shù)據(jù)存放在對象的局部變量中徒蟆,對象的狀態(tài)由對象所有的局部變量在某一時刻的取值來表示。在并發(fā)環(huán)境中型型,還要考慮對象并發(fā)狀態(tài)的描述問題段审,因?yàn)閷ο蟮牟l(fā)控制是根據(jù)對象的并發(fā)狀態(tài)來進(jìn)行的。

把并發(fā)和面向?qū)ο笙嘟Y(jié)合输莺,歸結(jié)起來可分為兩條途徑:

  1. 在面向?qū)ο竽P椭幸氩l(fā)機(jī)制戚哎,充分利用面向?qū)ο罂坍嬁陀^世界的良好模型能力和面向?qū)ο蟮母鱾€重要特性,同時把其潛在的并發(fā)能力描述出來嫂用,使其適合于描述并發(fā)計(jì)算型凳。
  2. 在傳統(tǒng)并發(fā)模型中引進(jìn)面向?qū)ο笏枷搿?/li>

面向?qū)ο蟮牟l(fā)模型可以分為兩種類型:

  1. 隱式并發(fā)模型。特點(diǎn)是推遲并發(fā)設(shè)計(jì)嘱函,將對象建模作為建母食基礎(chǔ)。在進(jìn)入運(yùn)行階段之前往弓,將對象看成自主單元疏唾,各種對象的活動看成立項(xiàng)并發(fā)方式完成的特定工作。就像每個對象擁有一個自己的處理器函似,這個處理器可以為對象提供一個執(zhí)行線程槐脏。進(jìn)入系統(tǒng)的外部事件可以看成是一個處理請求,以廣播方式傳給一些對象撇寞,這些對象接著向其他對象進(jìn)一步提出處理請求顿天。理論上,對應(yīng)一個請求蔑担,可以由任意多個對象執(zhí)行響應(yīng)的處理牌废。在實(shí)現(xiàn)時,由調(diào)度程序最終決定其對象的操作順序啤握。
  2. 顯示并發(fā)模型鸟缕。特點(diǎn)是首先考慮并發(fā),應(yīng)先把并發(fā)概念和對象概念分開。在建立對象以后懂从,用實(shí)時操作系統(tǒng)支持的進(jìn)程概念來表示并發(fā)授段,形成對象和進(jìn)程兩個抽象層次,即先將系統(tǒng)分解為準(zhǔn)兵法進(jìn)行作為開始番甩,而在每個進(jìn)程的內(nèi)部采用個面向?qū)ο蟮募夹g(shù)畴蒲。對象間交互表示成嵌套的函數(shù)調(diào)用,通過加入鎖对室、監(jiān)視器、信號量等顯示同步機(jī)制咖祭,來保證對象的完整掩宜。該模型將進(jìn)程置于對象之上,對象中不必考慮并發(fā)么翰、對象串行化牺汤。

12.7.6 需求分析

需求分析階段最重要的文檔輸出就是系統(tǒng)的規(guī)格說明。

規(guī)格說明是精確反映客戶需求并且作為設(shè)計(jì)時必須遵循的要求的一種技術(shù)文檔浩嫌。規(guī)格說明應(yīng)該是清晰的檐迟、無歧義的,否則由該規(guī)格說明建造系統(tǒng)可能不符合實(shí)際要求码耐。流行的方法是采用UML進(jìn)行規(guī)格說明的描述追迟。

在需求分析階段,通過用例來捕獲用戶需求骚腥。通過用例建模敦间,描述對系統(tǒng)感興趣的外部角色及其對系統(tǒng)(用例)的功能要求,分析階段主要關(guān)心問題域中的主要概念和機(jī)制束铭,需要識別這些類及它們相互間的關(guān)系廓块,并用UML類圖來描述。在分析階段契沫,只對問題域的對象建模带猴,而不考慮定義軟件系統(tǒng)中技術(shù)細(xì)節(jié)的類。

12.7.7 系統(tǒng)設(shè)計(jì)

  1. 協(xié)同合成工具懈万。
  • POLIS拴清。交互式嵌入系統(tǒng)的軟、硬件協(xié)同設(shè)計(jì)框架钞速,適用于小型控制系統(tǒng)的設(shè)計(jì)贷掖,系統(tǒng)描述支持基于FSM的語言。不支持共享內(nèi)存渴语。
  • COSYMA苹威。一種探索硬件和軟件協(xié)同設(shè)計(jì)合成進(jìn)程的平臺,面向軟件系統(tǒng)的描述較簡單驾凶,支持自動分割和協(xié)同處理器合成牙甫,在合成時期可以對設(shè)計(jì)空間進(jìn)行探索掷酗,系統(tǒng)合成取決于硬件限制,不支持并發(fā)模塊窟哺。
  • Chinook泻轰。為控制系統(tǒng)而設(shè)計(jì)的,整個系統(tǒng)的描述作為一個輸入提供給Chinook且轨,它的內(nèi)部模式基于類似等級狀態(tài)的模式浮声,不對代碼進(jìn)行分割,為整個設(shè)計(jì)提供單一的模擬環(huán)境旋奢。
  1. 協(xié)同模擬工具泳挥。不僅提供檢驗(yàn),而且為用戶提供各系統(tǒng)的性能信息至朗,這有助于在系統(tǒng)的早期提出變更方案屉符,不至于造成重大損失。目前锹引,主要的協(xié)同模擬工具有如下兩種:
  • PTOLEMY矗钟。關(guān)鍵思想是混合使用面向?qū)ο髢?nèi)核的計(jì)算模型,可用于模擬多種的系統(tǒng)嫌变,在各種應(yīng)用中被過飯使用吨艇,但不適合于系統(tǒng)合成,硬件模擬也是它的一項(xiàng)功能腾啥。
  • TSS秸应。是模擬復(fù)雜硬件的工具,采用C語言編寫碑宴,單個模塊的提取可由用戶控制软啼,可以方便的進(jìn)行添加和刪除模塊。但不支持分級模塊延柠,沒有用于同步各處理器存取共享數(shù)據(jù)結(jié)構(gòu)的機(jī)制祸挪,模塊間的通信通過端口和總線進(jìn)行,并且贞间,支持多核系統(tǒng)的模擬贿条。

1. 系統(tǒng)架構(gòu)設(shè)計(jì)

先考慮系統(tǒng)的軟件架構(gòu),然后再考慮其硬件實(shí)現(xiàn)增热。

  1. 原始框架整以。
  2. 軟件系統(tǒng)架構(gòu)
  3. 硬件系統(tǒng)架構(gòu)

2. 硬件子系統(tǒng)設(shè)計(jì)

嵌入式系統(tǒng)的開發(fā)環(huán)境由四部分組成:目標(biāo)硬件平臺、嵌入式操作系統(tǒng)峻仇、編程語言和開發(fā)工具公黑。

  1. 選擇處理器技術(shù)。
  2. 通用嵌入式處理器的選擇。根據(jù)用戶的需求和項(xiàng)目的需要選擇合適的通用的嵌入式處理器凡蚜,選擇時需要考慮如下指標(biāo):
  • 處理器的速度人断。一個處理器的性能取決于多個方面的因素:時鐘頻率、內(nèi)部寄存器的大小朝蜘,指令是否對等處理所有的寄存器等恶迈。
  • 技術(shù)指標(biāo)
  • 開發(fā)人員對處理器的熟悉程度
  • 處理器的I/O性能是否滿足系統(tǒng)的需求
  • 處理器的相關(guān)軟件支持工具
  • 處理器的調(diào)試,即處理器是否集成了調(diào)試功能
  • 處理器制造商的支持可信度谱醇。
  1. 硬件設(shè)計(jì)的注意事項(xiàng)暇仲。首先,將硬件劃分為部件或模塊副渴,并繪制部件或模塊連接框圖熔吗。其次,對每個模塊進(jìn)行細(xì)化佳晶,把系統(tǒng)分成更多可管理的小塊,可以被單獨(dú)實(shí)現(xiàn)讼载。設(shè)計(jì)時需要注意以下幾點(diǎn):
  • I/O端口:列出硬件的所有端口轿秧、端口地址、端口屬性咨堤、使用的命令和序列的意義菇篡、端口的狀態(tài)及意義。
  • 硬件寄存器:對每個寄存器設(shè)計(jì)寄存器的地址一喘、寄存器的位地址和每個位表示的意義驱还,以及對寄存器讀寫的說明、使用該寄存器的要求和時序說明凸克。
  • 內(nèi)存映射:共享內(nèi)存和內(nèi)存映射I/O的地址议蟆,對每個內(nèi)存映射,說明每個I/O操作的讀/寫序列萎战、地址分配咐容。
  • 硬件中斷
  • 存儲器空間分配

3. 軟件子系統(tǒng)設(shè)計(jì)

根據(jù)需求分析階段的規(guī)格說明文檔,確定系統(tǒng)計(jì)算模型蚂维,對軟件部分進(jìn)行合理的設(shè)計(jì)即可戳粒。

  1. 操作系統(tǒng)的選擇。在選擇嵌入式操作系統(tǒng)時虫啥,需要做多方面的考慮K
  • 操作系統(tǒng)的功能
  • 配套開發(fā)工具的選擇
  • 操作系統(tǒng)的移植難易程度
  • 操作系統(tǒng)的內(nèi)存需求如何
  • 操作系統(tǒng)附加軟件包
  • 操作系統(tǒng)的實(shí)時性如何
  • 操作系統(tǒng)的靈活性如何
  1. 編程語言的選擇蔚约。在選擇編程語言時,也需要做多方面的考慮:
  • 通用性
  • 可移植性
  • 執(zhí)行效率
  • 可維護(hù)性
  • 基本型恩能夠
  1. 軟件開發(fā)過程涂籽。主要有如下步驟:
  • 選擇開發(fā)語言苹祟,建立交叉開發(fā)環(huán)境
  • 根據(jù)詳細(xì)設(shè)計(jì)說明編寫源代碼,進(jìn)行交叉編譯、鏈接
  • 目標(biāo)代碼的重定位和下載
  • 在宿主機(jī)或目標(biāo)機(jī)調(diào)試苔咪、驗(yàn)證軟件功能
  • 進(jìn)行代碼的優(yōu)化
  1. 軟件開發(fā)文檔锰悼。在嵌入式產(chǎn)品的開發(fā)設(shè)計(jì)過程中,開發(fā)階段完成系統(tǒng)產(chǎn)品的實(shí)現(xiàn)团赏,這一階段同時需要完成一系列的文檔箕般,這些文檔對完成產(chǎn)品設(shè)計(jì)、維護(hù)相當(dāng)重要舔清,這些文檔分別為技術(shù)文件目錄丝里、技術(shù)任務(wù)書、技術(shù)方案報(bào)告体谒、產(chǎn)品規(guī)格杯聚、技術(shù)條件、設(shè)計(jì)說明書抒痒、實(shí)驗(yàn)報(bào)告幌绍、總結(jié)報(bào)告等。

12.7.8 系統(tǒng)集成與測試

通常嵌入式系統(tǒng)測試主要包括軟件測試故响、硬件測試傀广、單元測試三個部分。差別如下:

  1. 嵌入式軟件必須長時間穩(wěn)定運(yùn)行
  2. 嵌入式徐如那件一般不會頻繁的版本升級
  3. 嵌入式軟件通常使用在關(guān)鍵性的應(yīng)用中
  4. 嵌入式軟件必須和嵌入式硬件一起對產(chǎn)品的故障和可靠性負(fù)責(zé)
  5. 現(xiàn)實(shí)世界的條件是異步和不可預(yù)測的彩届,使得模擬測試非常困難伪冰。

嵌入式測試主要集中在以下4個不同的方面:

  1. 因?yàn)閷?shí)時性和同時性很難滿足,所以大多數(shù)測試集中于實(shí)施測試樟蠕。
  2. 大多數(shù)實(shí)時系統(tǒng)都有資源約束贮聂,因此需要更多的性能和可用性測試。
  3. 可以使用專用實(shí)時跟蹤工具對代碼覆蓋率進(jìn)行測試寨辩。
  4. 對可靠性的測試級別比通用軟件要高得多吓懈。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市靡狞,隨后出現(xiàn)的幾起案子骄瓣,更是在濱河造成了極大的恐慌,老刑警劉巖耍攘,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件榕栏,死亡現(xiàn)場離奇詭異,居然都是意外死亡蕾各,警方通過查閱死者的電腦和手機(jī)扒磁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來式曲,“玉大人妨托,你說我怎么就攤上這事缸榛。” “怎么了兰伤?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵内颗,是天一觀的道長。 經(jīng)常有香客問我敦腔,道長均澳,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任符衔,我火速辦了婚禮找前,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘判族。我一直安慰自己躺盛,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布形帮。 她就那樣靜靜地躺著槽惫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪辩撑。 梳的紋絲不亂的頭發(fā)上界斜,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天,我揣著相機(jī)與錄音槐臀,去河邊找鬼。 笑死氓仲,一個胖子當(dāng)著我的面吹牛水慨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播敬扛,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼晰洒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了啥箭?” 一聲冷哼從身側(cè)響起谍珊,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎急侥,沒想到半個月后砌滞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡坏怪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年贝润,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片铝宵。...
    茶點(diǎn)故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡打掘,死狀恐怖华畏,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情尊蚁,我是刑警寧澤亡笑,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站横朋,受9級特大地震影響仑乌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜叶撒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一绝骚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧祠够,春花似錦压汪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至落君,卻和暖如春穿香,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绎速。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工皮获, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人纹冤。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓洒宝,卻偏偏與公主長得像,于是被迫代替她去往敵國和親萌京。 傳聞我的和親對象是個殘疾皇子雁歌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容