第一章 嵌入式系統基礎_第1頁
第一章 嵌入式系統基礎_第2頁
第一章 嵌入式系統基礎_第3頁
第一章 嵌入式系統基礎_第4頁
第一章 嵌入式系統基礎_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 嵌入式系統設計與應用學時:40學時(實驗12學時)學分:2.5學分主講教師:王新春 EMAIL:內蒙古科技大學信息工程學院主要內容n嵌入式硬件平臺n微處理器、存儲器、I/OnARM和XScale的指令系統和體系結構n嵌入式操作系統n特點、進程調度、存儲管理nC/OS, Linux的移植、設備驅動和應用開發(fā)n嵌入式應用開發(fā)n基于C/OS, Linux, WinCE等使用教材 ARM9嵌入式系統設計與開發(fā)應用 熊茂華 楊震倫 主編 清華大學出版社主要講授內容n嵌入式系統的基本知識嵌入式系統的基本知識nARM微處理器體系結構與指令集微處理器體系結構與指令集nARM ADS集成開發(fā)環(huán)境集成開發(fā)環(huán)境n

2、嵌入式實時操作系統嵌入式實時操作系統n嵌入式系統硬件平臺與接口設計嵌入式系統硬件平臺與接口設計n基于基于C/OS-II的軟件體系結構設計的軟件體系結構設計課程考核標準n平時成績10n大作業(yè)20n實驗30n考試40第一章 嵌入式系統基礎n嵌入式系統簡介n嵌入式處理器n嵌入式操作系統n嵌入式系統開發(fā)過程1.1 嵌入式系統簡介嵌入式系統簡介從從使用使用角度,計算機可分為角度,計算機可分為兩類兩類:一類是一類是獨立使用的計算機系統,如個人計算機、工作站等;獨立使用的計算機系統,如個人計算機、工作站等;手持的手持的MP3PCPC機機, ,通用計算機通用計算機1、什么是嵌入式系統?、什么是嵌入式系統?一類

3、是一類是嵌入式計算機系統,它是作為其他系統的組成部分使用的。嵌入式計算機系統,它是作為其他系統的組成部分使用的。(1)根據根據IEEE(國際電氣和電子工程師協會)的定義:國際電氣和電子工程師協會)的定義: devices used to control, monitor, or assist the operation of equipment, machinery or plants(嵌入式系統是嵌入式系統是“用于控制、用于控制、監(jiān)視或者輔助操作機器和設備的裝置監(jiān)視或者輔助操作機器和設備的裝置” )。)。 可以看出此定義是從應用上考慮的,嵌入式系統是軟件和硬件可以看出此定義是從應用上考慮的,

4、嵌入式系統是軟件和硬件的綜合體,還可以涵蓋機電等附屬裝置。的綜合體,還可以涵蓋機電等附屬裝置。(2)一般定義)一般定義(國內定義國內定義) “以以應用為中心應用為中心、以、以計算機技術為基礎計算機技術為基礎、軟件硬件可裁剪軟件硬件可裁剪、功能、功能、可靠性、成本、體積、功耗嚴格要求可靠性、成本、體積、功耗嚴格要求的專用計算機系統。的專用計算機系統?!?2 2、幾種定義、幾種定義一般有以下四個部分組成一般有以下四個部分組成嵌入式微處理器嵌入式微處理器外圍硬件設備外圍硬件設備硬件硬件軟件軟件實現對其它設備的控制、實現對其它設備的控制、監(jiān)視、管理等功能監(jiān)視、管理等功能嵌入式操作系統嵌入式操作系統應用

5、程序應用程序3、嵌入式系統的組成、嵌入式系統的組成4、嵌入式系統的幾個重要特征、嵌入式系統的幾個重要特征(1)系統內核?。┫到y內核小 由于嵌入式系統一般是應用于小型電子裝置的,系統由于嵌入式系統一般是應用于小型電子裝置的,系統資源相對有限,所以內核較之傳統的操作系統要小得多。資源相對有限,所以內核較之傳統的操作系統要小得多。()專用性強()專用性強 嵌入式系統的個性化很強,其中的軟件系統和硬件的結嵌入式系統的個性化很強,其中的軟件系統和硬件的結合非常緊密,一般要針對硬件進行系統的移植。合非常緊密,一般要針對硬件進行系統的移植。()系統精簡()系統精簡嵌入式系統一般沒有系統軟件和應用軟件的明顯區(qū)

6、嵌入式系統一般沒有系統軟件和應用軟件的明顯區(qū)分,不要求其功能設計及實現上過于復雜,這樣一分,不要求其功能設計及實現上過于復雜,這樣一方面利于控制系統成本,同時也利于實現系統安全。方面利于控制系統成本,同時也利于實現系統安全。()高實時性()高實時性OS 是是嵌入式軟件的基本要求,軟件固態(tài)存儲,以提嵌入式軟件的基本要求,軟件固態(tài)存儲,以提高速度。軟件代碼要求高質量和高可靠性、實時性。高速度。軟件代碼要求高質量和高可靠性、實時性。 (5)嵌入式軟件開發(fā)走向標準化)嵌入式軟件開發(fā)走向標準化 嵌入式系統的應用程序可以沒有操作系統直接在芯片上運行。嵌入式系統的應用程序可以沒有操作系統直接在芯片上運行。5

7、、嵌入式系統應用領域嵌入式應用嵌入式應用信息家電信息家電智能玩具智能玩具軍事電子軍事電子通信設備通信設備移動存貯移動存貯工控設備工控設備智能儀表智能儀表汽車電子汽車電子網絡設備網絡設備工業(yè)工業(yè)消費電子消費電子軍事國防軍事國防電子商務電子商務網絡網絡6 6、嵌入式系統的發(fā)展、嵌入式系統的發(fā)展 嵌入式系統已經有了近嵌入式系統已經有了近3030年的發(fā)展歷史,它是硬件年的發(fā)展歷史,它是硬件和軟件交替發(fā)展的雙螺旋式發(fā)展。和軟件交替發(fā)展的雙螺旋式發(fā)展。 嵌入式處理器嵌入式處理器l19711971年,單片機是年,單片機是IntelIntel公司的公司的40444044,l同時期,同時期,MotorolaMo

8、torola:6868HC05HC05,ZilogZilog公司:公司:Z80Z80系列系列,均含有,均含有256256字節(jié)的字節(jié)的RAMRAM、4K4K的的ROMROM、4 4個個8 8位并口、位并口、1 1個全雙工串行口、兩個個全雙工串行口、兩個1616位定位定 時時 器。器。l8080年代初,年代初,IntelIntel80488048,80518051。 l9090年代,年代,ARM7TDMI ARM7TDMI 處理器,處理器,3232位位1.2 嵌入式處理器.1嵌入式系統分類嵌入式系統分類l按表現形式分:(硬件范疇)按表現形式分:(硬件范疇)n芯片級嵌入(含程序或算法

9、的處理器)芯片級嵌入(含程序或算法的處理器)n模塊級嵌入(系統中的某個核心模塊)模塊級嵌入(系統中的某個核心模塊)n系統級嵌入系統級嵌入SOC(System on a chip) l按實時性要求分按實時性要求分:(軟件范疇):(軟件范疇)l非實時系統(非實時系統(PDAPDA,Personal Digital Assistant 個人數字助理個人數字助理)l軟實時系統(消費類產品)軟實時系統(消費類產品)l硬實時系統(導引頭等工業(yè)和軍工系統)硬實時系統(導引頭等工業(yè)和軍工系統)1.2.2嵌入式處理器分類與現狀n嵌入式微處理器嵌入式微處理器(Embedded Microprocessor Uni

10、t, EMPU) 嵌入式處理器目前主要有嵌入式處理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM系列等。系列等。n嵌入式微控制器嵌入式微控制器(Microcontroller Unit, MCU)n嵌入式嵌入式DSP處理器處理器(Embedded Digital Signal Processor, EDSP) 嵌入式嵌入式DSP處理器比較有代表性的產品是處理器比較有代表性的產品是TexasInstruments的的TMS320系列和系列和Motorola的的DSP56000系列系列 1.2.2嵌入式處理器分類與現狀n嵌入式片上系統嵌入式片

11、上系統(System On Chip) ARM微處理器的特點(1)低功耗、低成本、高性能(2)采用RISC體系結構(3)高效的指令系統(4)其它技術1.2.3 ARM處理器ARMARM的應用的應用lARM7ARM7、ARM9ARM9、ARM9EARM9E、ARM10ARM10、ARM11ARM11。l其中其中ARM7ARM7是低功耗的是低功耗的3232位核,最適合應用于對價位和功耗敏感位核,最適合應用于對價位和功耗敏感的產品,它又分為應用于實時環(huán)境的的產品,它又分為應用于實時環(huán)境的ARM7TDMIARM7TDMI、ARM7TDMI-SARM7TDMI-S,以及適用于開放平臺的以及適用于開放平臺

12、的ARM720TARM720T和適用于和適用于DSPDSP運算及支持運算及支持JavaJava的的ARM7EJARM7EJ等。等。lARM7ARM7主要在主要在PDAPDA、手持儀器儀表,手持儀器儀表,ARM9ARM9、ARM10ARM10主要在主要在NCNC、TFTTFT。1.3 嵌入式操作系統n基本概念 前后臺系統 對基于芯片的開發(fā)來說,應用程序一般是一個無限的循環(huán),可稱為前后臺系統或超循環(huán)系統。很多基于微處理器的產品采用前后臺系統設計,例如微波爐、電話機、玩具等。在另外一些基于微處理器應用中,從省電的角度出發(fā),平時微處理器處在停機狀態(tài),所有事都靠中斷服務來完成。n基本概念 中斷服務程序處

13、理異步事件,這部分可以看成前臺行為,前臺也叫中斷級。時間相關性很強的關鍵操作一定是靠中斷服務程序來保證的。 循環(huán)中調用相應的函數完成相應的操作,這部分可以看成后臺行為,后臺也可以叫做任務級。這種系統在處理的及時性上比實際可以做到的要差。 ISRISRISRISR后臺前臺中斷服務程序時間前后臺系統1.3 嵌入式操作系統n基本概念 操作系統操作系統是計算機中最基本的程序。操作系統負責計算機系統中全部軟硬資源的分配與回收、控制與協調等并發(fā)的活動;操作系統提供用戶接口,使用戶獲得良好的工作環(huán)境;操作系統為用戶擴展新的系統功能提供軟件平臺。硬件硬件驅動操作系統用戶程序1.3 嵌入式操作系統n基本概念 實

14、時操作系統(RTOS) 實時操作系統是一段在嵌入式系統啟動后首先執(zhí)行的背景程序,用戶的應用程序是運行于RTOS之上的各個任務,RTOS根據各個任務的要求,進行資源(包括存儲器、外設等)管理、消息管理、任務調度、異常處理等工作。在RTOS支持的系統中, 每個任務均有一個優(yōu)先級,RTOS根據各個任務的優(yōu)先級,動態(tài)地切換各個任務,保證對實時性的要求。使用嵌入式操作系統的優(yōu)缺點n優(yōu)點n使程序的設計和擴展變得容易,大大提高了開發(fā)效率。n充分發(fā)揮32位CPU多任務的潛力,實現多任務設計,能夠充分利用硬件資源和實現資源共享。n實時性和健壯性能夠得到更好的保證。n缺點n嵌入式操作系統增加ROM/RAM等額外開

15、銷,510的CPU額外負荷。嵌入式操作系統分類n按收費模式劃分n商用型nVxworks, Nucleux ,PlamOS, Symbian, WinCE, QNX, pSOS,VRTX,Lynx OS, Hopen, Delta OSn免費型nLinux, CLinux,C/OS-,eCos,uITRONn按實時性劃分n硬實時nVxworksn軟實時nWinCE,RTLinuxn無實時nEmbedded Linux nLinux是開放源碼和免費使用的,遍布全球的眾多Linux愛好者又是Linux開發(fā)的強大技術后盾。n嵌入式Linux(Embedded Linux)是指對Linux經過小型化裁剪

16、后,能夠固化在容量只有幾百K字節(jié)或幾兆字節(jié)的存儲器芯片或單片機中,應用于特定嵌入式場合的專用Linux操作系統。嵌入式Linux的開發(fā)和研究是目前操作系統領域的一個熱點。主要有RTLinux和CLinuxnLinux的內核小、功能強大、API豐富,系統健壯、效率高,易于定制剪裁,在價格上極具競爭力。nLinux不僅支持x86 CPU,還可以支持其他數十種CPU芯片。n近幾年Linux在嵌入式領域異軍突起,過去的一年中有13%的用戶已經開始使用嵌入式Linux系統進行開發(fā)工作;有52%的用戶決定在未來24個月內開始使用Linux作為嵌入式操作系統的開發(fā)原型。 嵌入式Linux及應用Windows

17、 EmbeddednWindows CE:一種針對小容量、移動式、智能化、32位、連接設備的模塊化實時嵌入式操作系統(縮減的Win95)。n針對掌上設備、無線設備的動態(tài)應用程序和服務提供了一種功能豐富的操作系統平臺,屬于軟實時操作系統,n由于其Windows背景,界面比較統一認可??梢允褂么蠖鄶礧indows開發(fā)工具(如VB,VC等),大多數Windows應用程序經過移植后就可以運行在WinCE平臺上。n操作系統的基本內核需要至少200K的ROM。 VxWorksnVxWorks操作系統是美國WindRiver公司于1983年設計開發(fā)的一種嵌入式實時操作系統(RTOS),具有良好的持續(xù)發(fā)展能力

18、、高性能的內核以及友好的用戶開發(fā)環(huán)境,在嵌入式實時操作系統領域牢牢占據著一席之地。nVxWorks所具有的顯著特點是: 可靠性、實時性和可裁減性。 它支持多種處理器,如x86、i960、Sun Sparc、Motorola MC68xxx、MIPS 、POWER PC等等。n以其良好的可靠性和卓越的實時性被廣泛地應用在通信、軍事、航空航天等高精尖技術及實時性要求極高的領域中,如火星探測器(1997年7月4日登陸火星表面)。Symbian OSnSymbian由諾基亞、西門子、索尼愛立信等幾家大型移動通訊設備商共同出資組建的一個合資公司,專門研發(fā)手機操作系統。Symbian操作系統的前身是EPO

19、C。n針對PDA及智能手機的,能夠提供良好的軟實時的操作系統n與之競爭的有Windows Mobile、PalmOS以及Linuxn主要版本nSeries 60/90/80/40nUIQAndroidnAndroid是一個開源的智能手機操作系統nAndroid操作系統的內核屬于Linux內核的一個分支,具有典型的Linux周期和功能nAndroid的內核基于Linux,除了內核之外,則是中介層、數據庫元和用C/C+編寫的API以及應用程式框架nAndroid的應用程序通常以Java數據庫元為基礎編寫iosniOSiOS是由蘋果公司開發(fā)的操作系統niOS的系統架構分為四個層次:核心操作系統層(t

20、he Core OS layer),核心服務層(the Core Services layer),媒體層(the Media layer),可輕觸層(the Cocoa Touch layer)。n系統操作占用大概240MB的內存空間QNXn 加拿大QNX公司的產品。n QNX是在X86體系上面開發(fā)出來的,這和別的RTOS不一樣,別的好多RTOS都是從68K的CPU上面開發(fā)成熟,然后再移植到X86體系上面來的。n QNX是一個實時的、可擴充的操作系統,它部分遵循POSIX相關標準,由于QNX具有強大的圖形界面功能,因此很適合作為機頂盒、手持設備(手掌電腦、手機)、GPS設備的實時操作系統使用。

21、C/OS及C/OS-IInC/OSMicro Controller O SnC/OS簡介簡介n美國人Jean Labrosse 1992年完成,已應用于數百種產品中。n應用面覆蓋了諸多領域,如照相機、醫(yī)療器械、音響設備、發(fā)動機控制、高速公路電話系統、自動提款機等 n1998年C/OS-II,目前的版本C/OS -II V2.72n2000年,得到美國航空管理局(FAA)的認證,可以用于飛行器中n是一個源碼公開、可移植、可裁減、占用資源少、搶先式的實時多任務操作系統。其絕大部分源碼采用ANSI C寫的,移植性好。高校教學可免費使用。n網站www.ucos-II.com()嵌入式系統與嵌入式系統與

22、PCPC之間的區(qū)別之間的區(qū)別l嵌入式系統一般是專用系統,而嵌入式系統一般是專用系統,而PC是通用計算平臺是通用計算平臺l嵌入式系統的資源比嵌入式系統的資源比PC少得多少得多l(xiāng)嵌入式系統軟件故障帶來的后果比嵌入式系統軟件故障帶來的后果比PC機大得多機大得多l(xiāng)嵌入式系統一般采用實時操作系統嵌入式系統一般采用實時操作系統l嵌入式系統大都有成本、功耗的要求嵌入式系統大都有成本、功耗的要求l嵌入式系統得到多種微處理體系的支持嵌入式系統得到多種微處理體系的支持l嵌入式系統需要專用的開發(fā)工具嵌入式系統需要專用的開發(fā)工具1.4 嵌入式系統開發(fā)過程1.4.1嵌入式系統的總體結構嵌入式嵌入式微處理器微處理器SDR

23、AMSDRAMROMROMI/OI/OA/DA/DD/AD/A人機交互接口人機交互接口通用接口通用接口實時操作系統(實時操作系統(RTOS)RTOS)圖形用戶圖形用戶接口接口BSP/HAL 硬件抽象層/板極支持包BSP/HAL 硬件抽象層/板極支持包任務管理任務管理文件系統文件系統應用程序應用程序嵌入式計算機系統嵌入式計算機系統硬件層硬件層軟件層軟件層中間層中間層功能層功能層典型嵌入式系統的基本組成典型嵌入式系統的基本組成MPU微處理器微處理器電源電源模塊模塊時鐘時鐘復位復位FlashRAMROMUSBLCDKeyboard外圍電路外圍電路Other外設外設 1.硬件層2. 中間層 硬件層與軟

24、件層之間為中間層,也稱為硬件層與軟件層之間為中間層,也稱為板級支持包板級支持包( (Board Support Package)Board Support Package)。 板級支持包是操作系統與目標應用硬件環(huán)境的中間接口,板級支持包是操作系統與目標應用硬件環(huán)境的中間接口,它是軟件包中具有平臺依賴性的那一部分。它是軟件包中具有平臺依賴性的那一部分。 板級支持包的主要功能包括兩部分:板級支持包的主要功能包括兩部分:在系統啟動時,對硬件進行初始化在系統啟動時,對硬件進行初始化 為驅動程序提供訪問硬件的手段為驅動程序提供訪問硬件的手段 BSP BSP為系統的移植提供了方便。為系統的移植提供了方便。

25、3.軟件層 軟件層主要是操作系統,有的還包括文件系統、GUI、網絡系統等。操作系統是一個標準的內核,將CPU的中斷、I/O、定時器等都封裝起來,提供給一個標準的API函數接口。4.功能層 功能層是基于操作系統開發(fā)的應用程序組成,用來完成對被控對象的控制功能。 包括:控制部分、應用算法、用戶界面、通信程序 1.4.2 嵌入式系統的開發(fā)特點n采用宿主機/目標機方式n為了保證穩(wěn)定性和實時性,選用RTOS開發(fā)平臺n生成代碼需要固態(tài)化存儲n軟件代碼具有高質量、高可靠性1.采用宿主機/目標機方式由于其本身不具備自主開發(fā)能力,即使設計完成由于其本身不具備自主開發(fā)能力,即使設計完成以后,用戶通常也是不能對其中

26、的程序功能進行修改以后,用戶通常也是不能對其中的程序功能進行修改,必須有一套,必須有一套開發(fā)工具開發(fā)工具和和環(huán)境環(huán)境才能進行開發(fā)。才能進行開發(fā)。宿主機宿主機( (Host)Host)是一臺通用計算機,一般是是一臺通用計算機,一般是PCPC機。機。它通過串口或網絡連接與目標機通信。它通過串口或網絡連接與目標機通信。 目標機目標機( (Target)Target) 可以是嵌入式應用軟件的實際運可以是嵌入式應用軟件的實際運行環(huán)境,也可以是能替代實際環(huán)境的仿真系統。行環(huán)境,也可以是能替代實際環(huán)境的仿真系統。2.為了保證穩(wěn)定性和實時性,選用RTOS開發(fā)平臺n對簡單的嵌入式系統,應用程序可以沒有操作系統直

27、接在芯片上運行;n對于那些復雜的嵌入式系統,為了合理地調度多任務、利用系統資源、系統函數以及和專家?guī)旌瘮到涌?,用戶必須自行選配RTOS開發(fā)平臺,這樣才能保證程序執(zhí)行的實時性、可靠性,并減少開發(fā)時間,保障軟件質量。3.生成代碼需要固態(tài)化存儲n應用程序在目標環(huán)境下必須儲存在非易失性存儲器中,保證系統在掉電重啟后仍能正常使用。所以,應用軟件在開發(fā)完成以后,應生成固化版本,都固化在單片機本身或燒寫到目標環(huán)境FLASH中運行。4.軟件代碼具有高質量、高可靠性n在大多數應用中,存儲空間仍然是寶貴的,還存在實時性的要求。為此要求程序編寫和編譯工具的質量要高,以減少程序二進制代碼長度、提高執(zhí)行速度。n各行業(yè)的

28、嵌入式應用系統的工作環(huán)境可能非常惡劣,這就要求設計時考慮目標系統的工作環(huán)境,也要求對突發(fā)因素進行考慮,以提高其軟件代碼的可靠性。1.4.3 嵌入式系統的開發(fā)流程n設計流程需需求求分分析析體體系系結結構構設設計計執(zhí)執(zhí)行行裝裝置置設設計計硬硬件件設設計計軟軟件件設設計計系系統統集集成成系系統統測測試試產產品品1.4.3 嵌入式系統的開發(fā)流程n需求設計n確定任務、和設計目標n功能性 輸入輸出信號、操作方式n非功能性 性能、成本、功耗、體積、重量等n體系結構設計n軟硬件功能劃分、軟硬件選型n軟硬件設計n詳細的軟硬件設計n系統集成、系統測試1.4.4 嵌入式系統的調試嵌入式系統的調試有多種方法,可分為:n源程序模擬器(Simulator)方式n實時在線仿真系統(In-Circuit Emulator,ICE)方式n監(jiān)控器方式n在線調

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論