思維導(dǎo)圖https://mubu.com/doc/1y91Dl_sPF
嵌入式系統(tǒng)概述
嵌入式系統(tǒng)(Embedded System):是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ)渠脉,軟件、硬件可裁剪容握,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性估盘、成本瓷患、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)遣妥。
嵌入式系統(tǒng)的組成:4個(gè)——嵌入式微處理器擅编、外圍硬件設(shè)備、嵌入式操作系統(tǒng)箫踩、用戶的應(yīng)用程序爱态。
嵌入式系統(tǒng)特點(diǎn)
版本一:
- 高度集成
- 硬件高度集成:最小系統(tǒng)
- 軟件高度集成:bios、應(yīng)用程序等集成在一起
- 可裁剪
- 硬件可裁剪:可根據(jù)需求選擇合適處理器境钟,高端可用SOPC
- 軟件可裁剪:bios (博德羅格?)移植锦担,驅(qū)動(dòng)裁剪,操作系統(tǒng)裁剪
版本二:
- 嵌入式系統(tǒng)極其關(guān)注成本慨削。
- 嵌入式系統(tǒng)對(duì)實(shí)時(shí)性有較強(qiáng)要求
- 嵌入式系統(tǒng)跟一般采用嵌入式操作系統(tǒng)(Embedded Operation System,EOS)洞渔,或實(shí)時(shí)操作系統(tǒng)(Real Time Operation System, RTOS)套媚。
- 嵌入式系統(tǒng)軟件故障造成的后果較通用計(jì)算機(jī)更為嚴(yán)重。
- 嵌入式系統(tǒng)多為低功耗系統(tǒng)
- 嵌入式系統(tǒng)經(jīng)常在極端惡劣的環(huán)境下工作
- 嵌入式系統(tǒng)的系統(tǒng)資源與通用計(jì)算機(jī)相比是非常少的
- 嵌入式系統(tǒng)通常在ROM中存放所有程序的目標(biāo)代碼
- 嵌入式系統(tǒng)可采用多種類型的處理器和處理器體系結(jié)構(gòu)
- 嵌入式系統(tǒng)需要專用開(kāi)發(fā)工具和方法進(jìn)行設(shè)計(jì)
- 嵌入式系統(tǒng)具有軟件的固件化特性
版本三:
- 功耗限制磁椒,低功耗設(shè)計(jì)
- 低成本
- 系統(tǒng)內(nèi)核小
- 專用性強(qiáng)
- 不可壟斷性
- 產(chǎn)品相對(duì)穩(wěn)定性
- 實(shí)時(shí)性:任務(wù)處理所花費(fèi)時(shí)間的可預(yù)測(cè)性
- 實(shí)時(shí)系統(tǒng):正確性依賴與運(yùn)行結(jié)果的邏輯正確性和運(yùn)行結(jié)果產(chǎn)生的時(shí)間正確性
EOS特征堤瘤、特點(diǎn)及實(shí)時(shí)系統(tǒng)
EOS特征:
- 小巧
- 實(shí)時(shí)性
- 可裁剪
- 代碼固化(EOS和應(yīng)用軟件被固化再ROM中)
- 文件管理
- 弱交互性(反正無(wú)人值守)
- 強(qiáng)穩(wěn)定性
實(shí)時(shí)系統(tǒng):采用各種算法和策略,始終保持系統(tǒng)行為的可預(yù)測(cè)性(不僅邏輯上正確浆熔,時(shí)間也必須及時(shí))
非實(shí)時(shí)系統(tǒng):邏輯正確即可本辐,主要關(guān)心系統(tǒng)的平均響應(yīng)時(shí)間(吞吐量)
嵌入式系統(tǒng)組成的特點(diǎn):
- 硬件:以微處理器為核心(集成存儲(chǔ)器和外圍I/O設(shè)備)
- 軟件:初始化代碼及驅(qū)動(dòng)(Bootloader)程序、嵌入式操作系統(tǒng)RTOS和應(yīng)用程序有機(jī)的結(jié)合在一起
EOS特點(diǎn):
- 可裝卸性
- 強(qiáng)實(shí)時(shí)性
- 統(tǒng)一的接口
- 操作方便医增、簡(jiǎn)單慎皱、友好得圖形界面
- 提供強(qiáng)大的網(wǎng)絡(luò)功能,支持TCP/IP協(xié)議及其他協(xié)議
- 強(qiáng)穩(wěn)定性调窍,弱交互性
- 固話代碼
- 更好的硬件適應(yīng)性宝冕,也就是良好的移植性
EOS的發(fā)展趨勢(shì)
軟件:
- 開(kāi)發(fā)平臺(tái)完備化
- UI支持完備化
- 支持多核處理器
- 支持各種無(wú)線通信方式
硬件:
- 面向應(yīng)用領(lǐng)域的、高度集成的邓萨、以32位嵌入式微處理器為核心的SoC將成為應(yīng)用主流
- 穩(wěn)定性地梨、體積、散熱缔恳、功耗進(jìn)一步優(yōu)化
存儲(chǔ)器宝剖、軟件及測(cè)試工具
嵌入式存儲(chǔ)器:嵌入式存儲(chǔ)器不同于片外存儲(chǔ)器,它是集成在片內(nèi)的歉甚,與系統(tǒng)中各個(gè)邏輯万细、混合信號(hào)等共同組成單一芯片的基本組成部分。包括嵌入式靜態(tài)存儲(chǔ)器纸泄、動(dòng)態(tài)存儲(chǔ)器赖钞、各種非易失性存儲(chǔ)器。
- 易失性存儲(chǔ)器:速度快功耗低簡(jiǎn)單的SRAM聘裁、DRAM
- 非易失性存儲(chǔ)器:主要用于存儲(chǔ)器掉電時(shí)不丟失固定數(shù)據(jù)和程序雪营,OTP、ROM衡便、EEPROM
嵌入式系統(tǒng)的軟件
嵌入式的系統(tǒng)軟件分為兩大部分献起,嵌入式操作系統(tǒng)、應(yīng)用軟件和BSP
軟件層次結(jié)構(gòu)如圖
應(yīng)用軟件 |
---|
應(yīng)用編程接口 |
嵌入式操作系統(tǒng) |
BSP |
底層硬件 |
操作系統(tǒng)向上層的應(yīng)用軟件提供API镣陕,BSP負(fù)責(zé)與底層硬件交互谴餐,向操作系統(tǒng)屏蔽硬件的差異
- 應(yīng)用軟件:為了完成某些特定任務(wù)而開(kāi)發(fā)的軟件
- 嵌入式操作系統(tǒng)
- BSP:介于主板硬件和操作系統(tǒng)驅(qū)動(dòng)層程序之間的一層,一般認(rèn)為它屬于操作系統(tǒng)的一部分呆抑,主要是實(shí)現(xiàn)操作系統(tǒng)的支持岂嗓,為上層的驅(qū)動(dòng)程序提供訪問(wèn)硬件設(shè)備寄存器的函數(shù)包,是指能與硬件主板更好地運(yùn)行鹊碍。
軟件的測(cè)試技術(shù)與工具:
1.內(nèi)存分析工具:用來(lái)處理再動(dòng)態(tài)內(nèi)存分配中存在的缺陷摄闸。
2.性能分析工具:EOS程序性能很重要善镰,性能工具不僅能指出哪些例程花費(fèi)時(shí)間,與調(diào)試工具聯(lián)合使用可以引導(dǎo)開(kāi)發(fā)人員查看需要優(yōu)化的特定函數(shù)年枕,還能引導(dǎo)開(kāi)發(fā)人員發(fā)現(xiàn)再系統(tǒng)調(diào)用中存在的錯(cuò)誤和程序結(jié)構(gòu)上的缺陷
3.GUI測(cè)試工具:節(jié)省功能測(cè)試和回歸測(cè)試的時(shí)間
4.覆蓋分析工具:用來(lái)分析追蹤哪些代碼被使用過(guò)
嵌入式系統(tǒng)的發(fā)展階段:1.SCM階段炫欺;2.MCU階段;3.SoC階段熏兄;4.以Internet為標(biāo)志的嵌入式系統(tǒng)品洛。
發(fā)展趨勢(shì):1.高可靠性、高穩(wěn)定性摩桶;2.運(yùn)算速度快桥状、開(kāi)發(fā)周期短;3.強(qiáng)大的擴(kuò)展功能和網(wǎng)絡(luò)傳輸功能硝清。
嵌入式系統(tǒng)的設(shè)計(jì)方法
本章節(jié)主要解決嵌入式系統(tǒng)中軟硬件設(shè)計(jì)及工作的問(wèn)題辅斟。
嵌入式開(kāi)發(fā)的一般開(kāi)發(fā)流程:早期由于計(jì)算機(jī)技術(shù)的限制,根據(jù)需求分析先設(shè)計(jì)硬件芦拿,硬件設(shè)計(jì)完成后士飒,再在以構(gòu)建平臺(tái)上進(jìn)行相應(yīng)的軟件開(kāi)發(fā) ,這種先硬件后軟件的設(shè)計(jì)方法蔗崎,主要用于單片機(jī)系統(tǒng)和嵌入式處理器系統(tǒng)的開(kāi)發(fā)酵幕。
單片機(jī)系統(tǒng):主要用于實(shí)現(xiàn)相對(duì)簡(jiǎn)單的控制,系統(tǒng)核心部件集成在一塊芯片——單片機(jī)上缓苛,再在外圍加入一些接口電路芳撒,軟件部分不需要嵌入式操作系統(tǒng)的支持,只需要采用匯編語(yǔ)言編寫針對(duì)特定應(yīng)用的程序未桥。
-
嵌入式處理器系統(tǒng):可以看作針對(duì)特定應(yīng)用的PC機(jī)笔刹,包含CPU、內(nèi)存和吩咐的外部接口冬耿。開(kāi)發(fā)流程:1.選擇嵌入式處理器和硬件平臺(tái)徘熔;2.軟件部分一般包含操作系統(tǒng),用來(lái)屏蔽底層硬件的復(fù)雜信息淆党,管理整個(gè)系統(tǒng)的資源。
開(kāi)發(fā)方式讶凉;1.利用宿主機(jī)(PC)開(kāi)發(fā)軟件染乌;2.同過(guò)交叉編譯環(huán)境生成目標(biāo)代碼和可執(zhí)行文件,再通過(guò)串口/USB/以太網(wǎng)等方式下載到目標(biāo)機(jī)上懂讯;3.利用交叉調(diào)試器再監(jiān)控程序或?qū)崟r(shí)內(nèi)核/OS的支持下進(jìn)行實(shí)時(shí)分析和調(diào)度荷憋;4.將運(yùn)行正確的程序下載固化到目標(biāo)機(jī)上,完成褐望。
嵌入式處理器的選型(待補(bǔ)充)
? 要滿足夠用勒庄、適用串前、成本、功耗实蔽、軟件開(kāi)發(fā)工具荡碾、是否內(nèi)置調(diào)試工具、是否提供評(píng)估板
操作系統(tǒng)的選擇:
? 非實(shí)時(shí)EOS:Microsoft-WinCE
? 實(shí)時(shí)EOS:WindRiverSystem-Vxworks
? 免費(fèi)EOS:μC/OS局装、μClinux
操作系統(tǒng)的選擇主要參考以下幾個(gè)方面:
- 操作系統(tǒng)的移植
- 操作系統(tǒng)過(guò)的內(nèi)存要求(Vxworks需較大內(nèi)存)
- 操作系統(tǒng)的實(shí)時(shí)性(WindowsCE只能提供軟實(shí)時(shí))
- 支持的開(kāi)發(fā)工具
- 可裁剪性(Vxworks具有較強(qiáng)的裁剪性)
- 開(kāi)發(fā)人員是否熟悉此操作系統(tǒng)及其提供的API
- 操作系統(tǒng)是否提供硬件的驅(qū)動(dòng)程序
EOS的軟硬件系統(tǒng)設(shè)計(jì)
? 目前Soc時(shí)當(dāng)前嵌入式系統(tǒng)的主要實(shí)現(xiàn)形式之一坛吁,面向SoC的軟硬件協(xié)同設(shè)計(jì)是最流行的一種嵌入式系統(tǒng)設(shè)計(jì)方法。
傳統(tǒng)的EOS開(kāi)發(fā)方法 VS 軟硬件協(xié)同設(shè)計(jì)
傳統(tǒng)嵌入式系統(tǒng)的設(shè)計(jì)方法及缺點(diǎn):
1需求分析 總體設(shè)計(jì) 2軟硬分開(kāi)設(shè)計(jì) 3集成驗(yàn)證 4結(jié)束
缺點(diǎn):不統(tǒng)一铐尚、不協(xié)同拨脉、不易發(fā)現(xiàn)問(wèn)題、周期長(zhǎng)宣增、盲目性玫膀、不能綜合優(yōu)化。
軟硬件協(xié)同設(shè)計(jì)的基本過(guò)程爹脾,它們與傳統(tǒng)設(shè)計(jì)方法異同(作業(yè)):
流程:1系統(tǒng)描述 2軟硬件劃分(成本函數(shù)) 3協(xié)同綜合 4協(xié)同仿真與驗(yàn)證
比較:
? 1采用并行設(shè)計(jì)和協(xié)同設(shè)計(jì)的思想帖旨,提高設(shè)計(jì)效率和縮短了開(kāi)發(fā)周期
? 2統(tǒng)一的工具描述,可合理劃分系統(tǒng)軟硬件誉简,分配系統(tǒng)功能碉就,在性能、成本闷串、功耗等方面進(jìn)行權(quán)衡折衷瓮钥,獲得更優(yōu)化設(shè)計(jì)
? 3支持多領(lǐng)域?qū)<覅f(xié)同開(kāi)發(fā)。
SoC設(shè)計(jì)方法學(xué)
- 軟硬件協(xié)同設(shè)計(jì)
軟硬件的優(yōu)缺點(diǎn):- 硬件的優(yōu)缺點(diǎn)
- 優(yōu)點(diǎn):速度快烹吵、功耗低碉熄;分擔(dān)原先處理器的部分功能,降低處理器的復(fù)雜程度肋拔;相應(yīng)軟件設(shè)計(jì)時(shí)間較少
- 缺點(diǎn):成本較高锈津;研發(fā)周期較長(zhǎng);輔助設(shè)計(jì)工具的成本非常高
- 軟件的優(yōu)缺點(diǎn):
- 優(yōu)點(diǎn):成本較低凉蜂;軟件設(shè)計(jì)的相關(guān)輔助工具較便宜琼梆;容易調(diào)試
- 缺點(diǎn):性能較差、功耗高窿吩;對(duì)處理器速度茎杂、存儲(chǔ)容量提出很高要求;通常需要RTOS的支持
- 硬件的優(yōu)缺點(diǎn)
器件的選擇
MCU/MPU
- 以ARM和51系列為主
- 豐富的軟件系統(tǒng)支持
- 豐富的控制處理和人機(jī)接口
- 復(fù)雜的數(shù)據(jù)處理能力
DSP
- 主要由Texas Instrument公司生產(chǎn)
- 專用的乘加以及浮點(diǎn)運(yùn)算單元纫雁,在海量的數(shù)據(jù)處理上有優(yōu)勢(shì)
- 多用于信號(hào)的處理及采集上
- FIR煌往、FFT、MPEG4等
FPGA
- 主要用于Altera轧邪、Xilinx公司的產(chǎn)品
- 適用于復(fù)雜邏輯的實(shí)現(xiàn)
- 憑借單芯片超大容量和高速并行數(shù)據(jù)運(yùn)算能力刽脖,在信號(hào)處理上體現(xiàn)了自己的優(yōu)勢(shì)
- 軟件支持差
當(dāng)前解決方案SOPC
SOPC羞海,System-On-a-Programmable-Chip,可編程邏輯芯片上的片上系統(tǒng)
Altera的NiosII嵌入式處理器
Nios II采用SoPC Builder定制曲管,DSP采用DSP Builder定制
Nios II處理器結(jié)構(gòu):一種軟核(Soft-Core)處理器
軟核:未被固化在硅片上却邓,使用時(shí)需要借助EDA軟件對(duì)其進(jìn)行配置并下載到可編程芯片中的IP核
最大特點(diǎn):可由用戶按需求進(jìn)行配置。
Nios II處理器系列支持三種內(nèi)核:f快速翘地、e經(jīng)濟(jì)申尤、s標(biāo)準(zhǔn)
實(shí)例
硬件裁剪-處理器
? 單參數(shù)監(jiān)護(hù)
? – 血壓(NIBP)、體溫(TEMP)監(jiān)控報(bào)警
? ? 單片機(jī)8051衙耕、Z80昧穿、PIC等
? – 全息體溫圖:ARM7: S3C44B0X,StrongARM
? – 心電ECG、血氧飽和度(SPO2)監(jiān)控報(bào)警
? ? ARM7: S3C44B0X,StrongARM
? – 心電圖綜合分析(圖形顯示)
? ? ARM9,MIPS
? 綜合監(jiān)護(hù)
? – ARM9 橙喘,MIPS
? 重癥監(jiān)護(hù)
? – 集成方案: ARM7, ARM9, MIPS
? – 綜合方案: ARM9~ARM10, MIPS: XScale, 386EX
需求分析-OS
? 單參數(shù)監(jiān)護(hù)系統(tǒng)
? – 血壓(NIBP)时鸵、體溫(TEMP)監(jiān)控報(bào)警
? ? 硬件提供參數(shù)通道,軟件采樣厅瞎、計(jì)算饰潜、存儲(chǔ)、數(shù)字顯示和簸;無(wú)OS
? – 全息體溫圖(TEMP): 需uCLinux彭雾, Win CE
? – 心電ECG、血氧飽和度(SPO2)監(jiān)控報(bào)警
? ? 硬件提供參數(shù)通道锁保,軟件采樣薯酝、計(jì)算、存儲(chǔ)爽柒、數(shù)字顯示吴菠;uC/OS
? – 心電圖綜合分析(圖形顯示)
? ? 硬件提供參數(shù)通道,軟件采樣浩村、計(jì)算做葵、存儲(chǔ)、數(shù)字顯示心墅; uCLinux酿矢, Win CE
? 綜合監(jiān)護(hù)系統(tǒng)
? – 硬件提供參數(shù)通道,軟件采樣怎燥、計(jì)算瘫筐、存儲(chǔ)、數(shù)字顯示刺覆;Linux, Win CE
? 重癥監(jiān)護(hù)系統(tǒng)
? – 集成方案:硬件提供數(shù)據(jù)接口史煎,軟件掃描采樣谦屑、轉(zhuǎn)發(fā)驳糯、報(bào)警; uCLinux氢橙, uC/OS
? – 綜合方案:硬件提供數(shù)據(jù)接口酝枢,軟件掃描采樣、轉(zhuǎn)發(fā)悍手、報(bào)警帘睦、綜 合顯示; uCLinux坦康, Win CE
硬
硬件裁剪-I/O接口
? 單參數(shù)監(jiān)護(hù)
? – 血壓(NIBP)竣付、體溫(TEMP)監(jiān)控報(bào)警
? ? 計(jì)數(shù)器/定時(shí)器(PWM,ADC),PVC按鍵,LED(數(shù)字LCD),數(shù)字蜂鳴器
? – 全息體溫圖(TEMP):加顯示接口,點(diǎn)陣LCD(小型CRT)
? – 心電ECG、血氧飽和度(SPO2)監(jiān)控報(bào)警
? ? ADC接口(I2C), UART,Watchdog,PVC按鍵,GPS,LED(數(shù)字LCD),GPRS
? – 心電圖綜合分析(圖形顯示)
? ? ADC接口(I2C), UART,Watchdog,PVC按鍵,點(diǎn)陣LCD(小型CRT)
? 綜合監(jiān)護(hù)
? – ADC接口(I2C), UART,Watchdog,PVC按鍵,點(diǎn)陣LCD(小型CRT)
? 重癥監(jiān)護(hù)
? – 集成方案: 100M Ethernet(或USB,CAN),各種監(jiān)護(hù)儀器接口, PVC按鍵 ,LED(數(shù)字LCD),數(shù)字蜂鳴器
? – 綜合方案:ADC接口(I2C), UART,Watchdog,PVC按鍵,點(diǎn)陣LCD(小型 CRT)
硬件結(jié)構(gòu)架構(gòu)
? 需求分析
? – 心電生命監(jiān)護(hù)報(bào)警,GPS定位,GPRS報(bào)警
? 軟硬件特性
? – 硬件提供參數(shù)采樣,軟件計(jì)算滞欠、存儲(chǔ)古胆、數(shù)字顯示;uCOS(Linux)
? 處理器:ARM7,S3C44BOX
? I/O接口與輸入輸出設(shè)備
? –ADC接口,Watch Dog, PVC按鍵,GPS,GPRS,LCD
? – 線性Flash(NOR),SDRAM,非線性Flash(NAND)
嵌入式硬件系統(tǒng)
最小硬件系統(tǒng):嵌入式控制器、時(shí)鐘系統(tǒng)筛璧、供電系統(tǒng)(電源)逸绎、復(fù)位及配置系統(tǒng),
? 可選:調(diào)試測(cè)試接口夭谤、存儲(chǔ)器系統(tǒng)
嵌入式微處理器的特點(diǎn):
- 基礎(chǔ)是通用微處理器
- 體積更小棺牧、重量輕、成本低朗儒、可靠性高颊乘、功耗低、抗干擾能力強(qiáng)
體系結(jié)構(gòu):
- 馮諾依曼Von Neumann結(jié)構(gòu):CPU與主存?zhèn)魉椭噶詈蛿?shù)據(jù)
- 哈佛結(jié)構(gòu)Harvard:分?jǐn)?shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器,分別傳數(shù)據(jù)和指令胸嘁。
單板計(jì)算機(jī):電路板上包括ROM疏尿、RAM、總線纲爸、各種外設(shè),可靠性差妆够,保密性差
MPU:?jiǎn)纹独玻暮统杀窘档汀⒖煽啃蕴岣摺?/p>
嵌入式處理器
EOS:以應(yīng)用為中心神妹,以計(jì)算機(jī)技術(shù)為基礎(chǔ)颓哮,軟硬件可配置,對(duì)功能鸵荠、可靠性冕茅、成本、體積、功耗有嚴(yán)格約束的專用系統(tǒng)姨伤,用于實(shí)現(xiàn)對(duì)其他設(shè)備的控制哨坪、監(jiān)視和管理等功能。一般由微處理器乍楚、外圍硬件設(shè)備当编、嵌入式操作系統(tǒng)以及應(yīng)用程序等部分組成
嵌入式硬件可以分為:處理器核、外圍電路和外設(shè)與擴(kuò)展徒溪。
MPC采用Von Neumann架構(gòu)或Harvard架構(gòu)忿偷。MPC由CPU演化而來(lái),主流包括ARM臊泌、MIPS鲤桥、PowerPC、X86缺虐、68K
MCU:主流MCS51芜壁、P51XA、MCS-251
嵌入式處理器技術(shù)指標(biāo)
1.功能:集成的存儲(chǔ)器數(shù)量和I/O設(shè)備種類
2.字長(zhǎng):字長(zhǎng)越長(zhǎng)計(jì)算精度越高
3.處理速度
- MFLOPS高氮,每秒百萬(wàn)次浮點(diǎn)運(yùn)算
- 主頻慧妄,時(shí)鐘頻率,單位MHz
- CPI剪芍,每條指令周期數(shù)
4.工作溫度:民用0-70塞淹、工業(yè)用-40-85、軍用-55-125罪裹、航天用(更寬)
5.功耗:工作功耗和待機(jī)功耗
6.尋址能力
7.平均故障時(shí)間,MTBF
8.性價(jià)比
9.工藝
10.電磁兼容性指標(biāo)
嵌入式處理器選擇原則P35
選擇哪一類處理單元:根據(jù)具體的設(shè)計(jì)應(yīng)用選擇:通過(guò)用CPU饱普、MPU。MCU状共、DSP套耕、PLC
選擇哪家的產(chǎn)品:
1.低成本
2.低功耗
3.恰當(dāng)?shù)奶幚砟芰?/p>
4.技術(shù)指標(biāo)
5.調(diào)查市場(chǎng)上已有的CPU供應(yīng)商
6.合適的EOS支持:
- 支持的編程語(yǔ)言和處理器的類型
- 可靠性和安全性
- 性能
- EOS以源代碼、目標(biāo)代碼或庫(kù)函數(shù)的方式提供
- 信譽(yù)和技術(shù)支持
- 集成解決方案
- 與開(kāi)發(fā)工具的兼容性
- 授權(quán)方式
7.與原有產(chǎn)品兼容
8.編程語(yǔ)言的限制
9.上市時(shí)間
10.處理器供應(yīng)商是否提供開(kāi)發(fā)板
典型的嵌入式處理器
ARM
ARM內(nèi)核的命名規(guī)則峡继,如ARM7TDMI
T:支持16位壓縮指令集Thumb
D:在片調(diào)試冯袍,處理器可響應(yīng)調(diào)試暫停請(qǐng)求
M:內(nèi)嵌硬件乘法器
I:嵌入ICE仿真器,支持上斷點(diǎn)和調(diào)試點(diǎn)
到ARM 926EJ-S時(shí)期碾牌,上述后綴作為默認(rèn)不再列出康愤,有新后綴:
E:DSP指令支持
J:Java指令支持
S:可邏輯綜合軟內(nèi)核
F:帶向量浮點(diǎn)協(xié)運(yùn)算器
ARM處理器結(jié)構(gòu)
1.RISC體系結(jié)構(gòu),指令小于100條舶吗,基本尋址方式2-3種征冷。
2.ARM和Thumb狀態(tài)。Thumb在性能和代碼大小之間提供了出色的折中誓琼。
? ARM支持7中處理器模式:
- User模式:有些受保護(hù)的資源不能訪問(wèn)
- System模式:不受任何限制的訪問(wèn)任何資源
- FIQ模式
- IRQ模式
- Supervisor模式
- Abort模式
- Undefined模式
除用戶模式均為特權(quán)模式检激,除系統(tǒng)模式另外5種都是異常模式Exception肴捉。
3.寄存器。ARM有37個(gè)寄存器叔收。P40
4.指令集
5.存儲(chǔ)器格式
多核處理器
對(duì)稱(同構(gòu))多核每庆,SMP,Symmetric Multiprocessing:各CPU共享內(nèi)存子系統(tǒng)及總線系統(tǒng)今穿,簡(jiǎn)單說(shuō)就是多個(gè)CPU同時(shí)工作,交替運(yùn)行伦籍,從而提高工作效率蓝晒。
非對(duì)稱(異構(gòu))多核,AMP帖鸦,Asymmetric Multiprocessing:由主從處理器組成芝薇,主處理器是系統(tǒng)的核心,能運(yùn)行操作系統(tǒng)作儿,從處理器用來(lái)處理用戶定義的制定功能洛二。(比較少,比較有前景)
嵌入式存儲(chǔ)系統(tǒng)
層次結(jié)構(gòu):EMPU(cache(片內(nèi)ROM和RAM))\片外(主存攻锰、輔存)
存儲(chǔ)器的選擇:
- 內(nèi)部存儲(chǔ)器的性價(jià)比最高但靈活性較低——盡量選擇能滿足要求的存儲(chǔ)容量最小的MCU
- 外部存儲(chǔ)擴(kuò)展
- 基于并行總線增加存儲(chǔ)器
- 封裝尺寸相同但容量更大的存儲(chǔ)器
- 新型串行總線EEPROM或閃存
存儲(chǔ)方案原則:
- 引導(dǎo)程序存儲(chǔ)器——必須是非易失性存儲(chǔ)器(最好是片內(nèi)存儲(chǔ))
- 配置存儲(chǔ)器(FPGA和Soc常用)——必須是非易失性EPROM晾嘶、EEPROM、Flash
- 程序(OS和APP)存儲(chǔ)器——不常改變的代碼和數(shù)據(jù)盡量放在內(nèi)部存儲(chǔ)器娶吞;更新頻繁的放在外部
- 未來(lái)更多的使用Flash非易失性存儲(chǔ)器——易失性存儲(chǔ)器(DRAM)+電池=非易失性存儲(chǔ)器
嵌入式外圍設(shè)備和I/O
- 基本輸入/輸出設(shè)備
- I/O接口和總線:
- 總線接口:IIC(100-400kbit/s)垒迂,IIS,CAN(1Mbit/s)妒蛇, 以太網(wǎng)
- 并行接口
- 串行接口:RS-232机断、IEEEE1394(400Mbit/s)、USB
- 無(wú)線接口:紅外線绣夺、藍(lán)牙吏奸、IEEE802.11(WALN)、GPRS
- I/O接口的數(shù)據(jù)交換方式:DMA陶耍、查詢奋蔚、中斷
嵌入式軟件系統(tǒng)
- 軟(Soft)實(shí)時(shí)和硬(Hard)實(shí)時(shí)
- 硬實(shí)時(shí) – 過(guò)時(shí)的響應(yīng) →完全無(wú)用甚至產(chǎn)生致命后果。
- 軟實(shí)時(shí) – 過(guò)時(shí)的響應(yīng) → 服務(wù)質(zhì)量下降
- 實(shí)時(shí)系統(tǒng)和高性能系統(tǒng)
- 實(shí)時(shí)系統(tǒng)不一定是高性能物臂,反之亦然
- 高性能系統(tǒng)追求系統(tǒng)的總體效率旺拉,比如一秒能處理多 少個(gè)事務(wù)(Transaction)。
- 實(shí)時(shí)系統(tǒng)追求系統(tǒng)的可預(yù)測(cè)性(處理一個(gè)事務(wù)差情 況下需要多少時(shí)間)
搶占式(Preemptive)多任務(wù)調(diào)度策略
- 每個(gè)任務(wù)分配優(yōu)先級(jí)
- 高優(yōu)先級(jí)任務(wù)強(qiáng)制將低優(yōu)先級(jí)任務(wù)切換出CPU
- 高優(yōu)先級(jí)任務(wù)一直執(zhí)行完畢棵磷,再執(zhí)行低優(yōu)先級(jí)任務(wù)
- 搶占式RTOS優(yōu)先級(jí)分配方法
- 靜態(tài)優(yōu)先級(jí)分配——優(yōu)先級(jí)事先由開(kāi)發(fā)者確定好蛾狗;RMS方法
- 動(dòng)態(tài)優(yōu)先級(jí)分配——優(yōu)先級(jí)由OS Kernel來(lái)分配;EDF方法
EOS分類
- 按收費(fèi)劃分
- 商用型 :Vxworks, Nucleux 仪媒,PlamOS, Symbian, WinCE, QNX, pSOS,VRTX,Lynx OS, Hopen, Delta OS
- 免費(fèi)型 :Linux, μCLinux, μC/OS-Ⅱ,eCos, Uitron
- 按實(shí)時(shí)性劃分
- 硬實(shí)時(shí)(面向控制和通信等領(lǐng)域) VxWorks
- 軟實(shí)時(shí)(面向消費(fèi)電子產(chǎn)品) ? WinCE, RTLinux
VxWorks特點(diǎn)
- 高可靠性
- 高效硬實(shí)時(shí)
- 微秒級(jí)的中斷響應(yīng)
- 256個(gè)優(yōu)先級(jí)的搶占式多任 務(wù)調(diào)度
- 同級(jí)別任務(wù)可以選擇輪轉(zhuǎn) 式調(diào)度
- 基于優(yōu)先級(jí)繼承方式解決優(yōu) 先級(jí)反轉(zhuǎn)問(wèn)題
- 快速沉桌、確定的進(jìn)程上下文切 換時(shí)間
- 系統(tǒng)footprint小谢鹊,可靈 活剪裁
- 最小內(nèi)核8KB
- 共400多個(gè)模塊
- 標(biāo)準(zhǔn)的開(kāi)發(fā)接口
- 部分支持ANSI C標(biāo)準(zhǔn)
- 支持常見(jiàn)的各種IPC(進(jìn)程 間通信)機(jī)制 ?
- 豐富的TCP/IP網(wǎng)絡(luò)協(xié)議棧
- 支持多處理器(SMP)
- 提供豐富的調(diào)試工具
QNX嵌入式操作系統(tǒng)
- 加拿大的QNX公司推出,已被Research In Motion并購(gòu)
- 特點(diǎn):
- 商用的類Unix實(shí)時(shí)操作系統(tǒng)留凭,X86平臺(tái)好的 RTOS
- 非常小巧:4.x只有12k佃扼,運(yùn)行速度極快
- 典型微內(nèi)核RTOS,核心僅提供4種服務(wù)
- 進(jìn)程調(diào)度蔼夜,進(jìn)程間通信兼耀,底層網(wǎng)絡(luò)通信,中斷處理
- 內(nèi)核獨(dú)立運(yùn)行在一個(gè)被保護(hù)的地址空間
- QNX的結(jié)構(gòu)特點(diǎn)
- QNX將應(yīng)用程序和傳統(tǒng)的操作 系統(tǒng)功能隔離開(kāi)求冷,每個(gè)部分都 有自己專有的地址空間
- 一個(gè)組成部分不能未經(jīng)許可監(jiān) 測(cè)或破壞其他組成部分
- 應(yīng)用程序的交互僅通過(guò)內(nèi)核管 理機(jī)制來(lái)進(jìn)行瘤运,保證安全性和 可控性
- QNS微內(nèi)核優(yōu)點(diǎn)
- 驅(qū)動(dòng)程序、網(wǎng)絡(luò)協(xié)議匠题、文件系統(tǒng)等一般OS模塊與內(nèi) 核相互獨(dú)立拯坟,任何一般OS模塊的故障都不會(huì)導(dǎo)致內(nèi) 核崩潰
- 驅(qū)動(dòng)程序、網(wǎng)絡(luò)協(xié)議韭山、文件系統(tǒng)和應(yīng)用程序都處于 程序空間郁季,調(diào)用相同的內(nèi)核API,開(kāi)發(fā)和調(diào)試與應(yīng) 用程序沒(méi)有分別
- 功能模塊可以根據(jù)需要?jiǎng)討B(tài)加載和卸載钱磅,不需要重 新編譯內(nèi)核梦裂;
- 可以編寫監(jiān)視模塊監(jiān)控高可靠性模塊,必要時(shí)可重 新啟動(dòng)或加載模塊而無(wú)需重啟整個(gè)系統(tǒng)
Nucleus Plus
- 95%的代碼用ANSI C編寫, 便于移植到各種CPU
- 支持CPU類型最豐富的實(shí)時(shí)多任務(wù)操作系統(tǒng)盖淡。
- 以函數(shù)庫(kù)的形式鏈接到目標(biāo)應(yīng)用程序中
- 內(nèi)核在CISC中20kB,在RISC中40kB, 1.5kB的數(shù)據(jù)結(jié) 構(gòu)空間
- 提供完全源代碼塞琼,無(wú)產(chǎn)品版稅 ? 開(kāi)發(fā)應(yīng)用非常方便:無(wú)BSP開(kāi)發(fā),移植性強(qiáng)
- 基于Microsoft Developers Studio的嵌入式集成開(kāi)發(fā)環(huán)境
- 內(nèi)核采用軟件組件的方法
- 每個(gè)組件具有單一明確的目的(C和匯編語(yǔ)言組成) 禁舷,提供清晰的外部接口彪杉,不允許從外部對(duì)組件內(nèi) 的全局訪問(wèn)。
- 各個(gè)組件非常易于替換和復(fù)用 ? 任務(wù)控制牵咙、內(nèi)存管理派近、任務(wù)間通信、中斷管理等16個(gè) 組件
- 主要應(yīng)用:網(wǎng)絡(luò)設(shè)備洁桌,例如:路由器渴丸、機(jī)頂盒等。
μC/OS-II
- 獨(dú)特的收費(fèi)模式
- 非商業(yè)另凌、教育使用免費(fèi)
- 商業(yè)使用谱轨,按產(chǎn)品或者產(chǎn)品線來(lái)收License費(fèi), 而無(wú)需按每個(gè)賣出的產(chǎn)品再交Royalty
- 移植性強(qiáng) – 絕大多數(shù)源代碼是ANSI C寫的吠谢,只有和處理器硬件相關(guān)的 那部分是匯編語(yǔ)言寫的土童,這樣非常便于移植。
- 實(shí)時(shí)性 – 內(nèi)核具有可搶占式的實(shí)時(shí)多任務(wù)調(diào)度功能工坊,全部函數(shù)調(diào)用與 服務(wù)的執(zhí)行時(shí)間都是可知的(或者說(shuō)可確定的)献汗。
- 開(kāi)源+短小精悍 – μC/OS-II僅僅是一個(gè)小的操作系統(tǒng)內(nèi)核敢订,僅包含簡(jiǎn)單的調(diào)度 系統(tǒng)、內(nèi)存管理和任務(wù)間通信機(jī)制罢吃。而嵌入式系統(tǒng)提供的常 見(jiàn)功能楚午,如文件系統(tǒng)、TCP/IP網(wǎng)絡(luò)尿招、圖形界面都是通過(guò)額 外的組件來(lái)提供
- μC/OS-II體積小 – 具有可裁剪性矾柜,減少系統(tǒng)所需存儲(chǔ)空間。
- 與應(yīng)用程序無(wú)嚴(yán)格界限
- 支持時(shí)間片輪轉(zhuǎn)法(支持無(wú)限數(shù)量的任務(wù))
- 支持32位CPU就谜,同時(shí)支持8/16位CPU
- 完備的內(nèi)置性能測(cè)量功能
- 能測(cè)量每一個(gè)任務(wù)的執(zhí)行時(shí)間 , 每個(gè)任務(wù)的堆棧使用情況 把沼,任務(wù)的執(zhí)行次數(shù),CPU的使用情況吁伺, ISR 到任務(wù)的切 換時(shí)間 , 任務(wù)到任務(wù)的切換時(shí)間,列表中的對(duì)象的峰值數(shù) 租谈,關(guān)中斷篮奄、鎖調(diào)度器平均時(shí)間等。
- 直接發(fā)送信號(hào)或消息到任務(wù)(不需要信號(hào)量)
- 任務(wù)可以同時(shí)等待多個(gè)內(nèi)核對(duì)象
嵌入式Linux
- 嵌入式Linux的由來(lái) – 將通用Linux內(nèi)核進(jìn)行裁剪割去、定制修改后窟却,應(yīng)用 到某些特定嵌入式領(lǐng)域里的Linux操作系統(tǒng)
- 優(yōu)點(diǎn)
- 內(nèi)核代碼完全開(kāi)放并免費(fèi)。
- 大量可用的第三方開(kāi)源軟件和開(kāi)發(fā)工具
- 符合IEEE POSIX標(biāo)準(zhǔn)呻逆,許多桌面應(yīng)用程序可方便地移植到嵌入式Linux中
- 功能更強(qiáng)大
- 支持各種Internet網(wǎng)絡(luò)協(xié)議
- 支持ext2夸赫、fat、yaffs咖城、romfs等多種文件系統(tǒng)
- 廣泛的硬件支持
- RISC or CISC茬腿,32位 or 64位,無(wú)MMU的處理器
- 缺點(diǎn)
- 對(duì)資源要求較高宜雀,一般要幾個(gè)MB的ROM切平,十 幾MB的RAM
- 缺乏一站式的文檔和傻瓜式的開(kāi)發(fā)工具,對(duì)開(kāi)發(fā) 者要求較高
- 本身不是RTOS ? 可以通過(guò)RT Linux方式解決
嵌入式軟件開(kāi)發(fā)和運(yùn)行的幾個(gè)技術(shù)
- EOS裁剪:目的: 減少操作系統(tǒng)所占的存儲(chǔ)空間
任務(wù)劃分的一些原則
- 原則1: 盡量將對(duì)同一個(gè)外設(shè)的訪問(wèn)放在一個(gè)任務(wù)中 –
- 對(duì)每個(gè)獨(dú)立的硬件(例如串行通信端口)進(jìn)行操作的驅(qū)動(dòng)程序 段放在一個(gè)任務(wù)中辐董。
- 原則2:避免長(zhǎng)任務(wù) –
- 優(yōu)先級(jí)低:執(zhí)行中被頻繁打斷悴品;現(xiàn)場(chǎng)保護(hù)占用資源 –
- 優(yōu)先級(jí)高:長(zhǎng)時(shí)間占用CPU,其它任務(wù)得不到執(zhí)行 – 方法:任務(wù)分割简烘;選擇硬件指令執(zhí)行
- 原則3:任務(wù)之間盡量不相關(guān)
- 通過(guò)信號(hào)量苔严、郵箱聯(lián)系
嵌入式操作系統(tǒng)的發(fā)展歷史
1無(wú)操作系統(tǒng)的嵌入算法階段 2簡(jiǎn)單監(jiān)控的實(shí)時(shí)操作系統(tǒng)階段 3通用的嵌入式實(shí)時(shí)操作系統(tǒng)階段
嵌入式操作系統(tǒng)的特點(diǎn)
1小巧 2實(shí)時(shí)性 3可裝卸 4固化代碼 5弱交互性 6強(qiáng)穩(wěn)定性 7統(tǒng)一的接口
嵌入式實(shí)時(shí)操作系統(tǒng)的發(fā)展趨勢(shì)是什么?
1正向?qū)崟r(shí)超微內(nèi)核開(kāi)放發(fā)展 2開(kāi)放環(huán)境正向開(kāi)放的孤澎、集成化的方向發(fā)展届氢。
在進(jìn)行嵌入式操作系統(tǒng)選擇時(shí),主要考慮哪些因素覆旭?
1市場(chǎng)進(jìn)入時(shí)間 2可移植性 3可利用資源 4系統(tǒng)定制能力 5成本 6中文內(nèi)核支持悼沈。
uCLinux系統(tǒng)采用哪種小型化方法贱迟?
1內(nèi)核加載方式方面 2文件系統(tǒng)方面 3應(yīng)用程序方面
常用名詞
縮寫 | 英文 | 中文 | 備注 |
---|---|---|---|
ES | Embedded System | 嵌入式系統(tǒng) | |
MPU | Micro Processing Unit | 微處理器 | |
MCU | Micro Controller Unit | 微處理器 | |
EOS | Embedded Operation System | 嵌入式操作系統(tǒng) | |
RTOS | Real Time Operation System | 實(shí)時(shí)操作系統(tǒng) | |
WDT | Watch Dog Timer | 看門狗定時(shí)器 | |
DSP | Digital Signal Professor | 數(shù)字信號(hào)處理器 | |
Soc | System on Chip | 片上系統(tǒng) | |
ROM | Read Only Memory | 只讀存儲(chǔ)器 | |
EPROM | Eraserble Programmable ROM | 可擦寫可編程 | |
SRAM | Static Random Access Memory | 靜態(tài)隨機(jī)存取存儲(chǔ)器 | |
DRAM | Dynamic Random Access Memory | 動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器 | |
BSP | Board Surport Package | 板載支持包 | |
API | Application Programming Interface | 應(yīng)用編程接口 | |
IDE | Integrated Development Environment | 集成開(kāi)發(fā)環(huán)境 | |
ICE | In-Circuit Emulator | 在線仿真器 | |
ICD | In-Circuit Debugger | 在線調(diào)試器 | |
OCD | On-Chip Debugger | 片上調(diào)試器 | |
CSC | Contactless Smartcard | 公共交通無(wú)接觸智能卡 | |
IoT | Internet of Things | 物聯(lián)網(wǎng) | |
CISC | Complex Instruction Set Computer | 復(fù)雜指令集系統(tǒng) | |
RISC | Reduced Instruction Set computer | 精簡(jiǎn)指令集系統(tǒng) | |
SCM | Single Chip Microcomputer | 單片微型計(jì)算機(jī) | |
JTAG | Joint Test Action Group | 聯(lián)合測(cè)試工作組 | |
USB | Universal Serial Bus | 通用串行總線 | |
UART | Universal Asynchronous Receiver/Transmitter | 通用異步收發(fā)傳輸器 | |
SDK | Software Development Kit | 軟件開(kāi)發(fā)工具包 | |
DMA | Direct Memory Access | 直接內(nèi)存存取 | |
UML | Unified Modeling Language | 統(tǒng)一建模語(yǔ)言 | |
CPI | Cycles Per Instruction | 指令平均周期數(shù) | |
MTBF | Mean Time Between Failures | 平均故障間隔時(shí)間 | |
FPGA | Field Programmable Gate Array | 現(xiàn)場(chǎng)可編程門陣列 | |
CPLD | Complex PLD | 復(fù)雜PLD | |
ASIC | Application Specific Integrated Circuit | 專用集成電路 | |
LED | Light-Emitting-Diode | 發(fā)光二極管 | |
LCD | Liquid Crystal Display | 液晶顯示屏 | |
PCMCIA | Personal Computer Memory Card International Association | 組織 | |
CF | Compact Flash Card | CF擴(kuò)充設(shè)備 | |
SD | Secure Digital Card | SD擴(kuò)充設(shè)備 | |
MS | Memory Stick | MS擴(kuò)充卡 | |
IC | Integrated Circuit | 集成電路 | |
PLD | Programmable Logic Device | 可編程邏輯器件 | |
I2C | Inter-Integrated Circuit | 內(nèi)置集成電路 | 100-400kbit/s |
I2S | Intel-IC Sound | 一種串行總線接口標(biāo)準(zhǔn) | |
CAN | Controller Area Network | 控制區(qū)域網(wǎng) | 1Mbit/s串行 |
GPRS | General Packet Radio Service | 通用分組無(wú)線業(yè)務(wù) | |
CDMA | Code Division Multiple Access | 碼分多址 | |
IP | Intellectual Property | 知識(shí)產(chǎn)權(quán) | |
ARM | Advanced RISC Machines | RISC微處理器 | |
FIQ | Fast Interrupt Request | 快速中斷響應(yīng) | |
LAB | Logic Array Block | 邏輯陣列塊 | |
CMP | Chi Multi-Processor | 多核處理器 | |
SMP | Symmetric Multiprocessing | 對(duì)稱多處理器 | |
AMP | Asymmetric Multiprocessing | 非對(duì)稱多處理器 |