ARM Cortex-M3嵌入式開發及應用教與學 課件 第01章 嵌入式系統概述_第1頁
ARM Cortex-M3嵌入式開發及應用教與學 課件 第01章 嵌入式系統概述_第2頁
ARM Cortex-M3嵌入式開發及應用教與學 課件 第01章 嵌入式系統概述_第3頁
ARM Cortex-M3嵌入式開發及應用教與學 課件 第01章 嵌入式系統概述_第4頁
ARM Cortex-M3嵌入式開發及應用教與學 課件 第01章 嵌入式系統概述_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

ARMCortex-M3嵌入式控制技術

——基于STM32F103RCT6

STM32F103硬件系統與KEILMDK工程第一章

嵌入式系統概述1嵌入式系統范例2嵌入式系統概念3ARM發展歷程及應用領域4嵌入式操作系統5μC/OS-II與μC/OS-III6

小結1.1嵌入式系統范例普遍認可的嵌入式系統的定義是:“以應用為中心,以計算機技術為基礎,軟硬件可裁剪,滿足應用系統對功能、可靠性、成本、體積和功耗等嚴格要求的專用計算機系統”4實例:飯水機的整個控制系統是一種典型的嵌入式系統,其核心是STM32F103RCT6等微控制器芯片,這里用STM32F103表示,通過各種外部設備和傳感器實現飲水機的智能控制,如右圖所示1.2嵌入式系統概念數字技術和軟件技術是嵌入式系統的核心技術,其中,數字技術包括數字信號處理技術和數字化芯片技術,軟件技術包括芯片級的程序設計技術和操作系統級的程序設計技術。嵌入式系統與ARM的關系廣義上,凡是嵌入到應用系統中的電子系統都可以統稱為嵌入式系統,即使是通用的計算機系統,如果被嵌入在特定的應用系統中,也可被稱為嵌入式系統狹義上,嵌入式系統除了具有硬件和軟件之外,還要求硬件系統具有體積小、重量輕、功耗低、成本低、可靠性高、可升級等特點,要求軟件系統具有體積小、可裁剪性、健壯性、專用性、實時性等特點從狹義上講,嵌入式系統硬件往往是以ARM芯片為核心的硬件平臺,嵌入式系統軟件為基于芯片級開發的無操作系統匯編或C語言實時性軟件,或者是基于嵌入式實時操作系統開發的圖形界面應用程序6嵌入式系統與ARM的關系ARM是指ARM公司設計的基于RISC(精簡指令集計算機)架構的32位高性能微處理器,一般采用哈佛總線結構,具有高速指令緩存和數據緩存,指令長度固定且多級流水執行,具有MMU(存儲器管理單元)和AMBA(高級微處理器總線結構)總線接口等狹義上,嵌入式系統除了具有硬件和軟件之外,還要求硬件系統具有體積小、重量輕、功耗低、成本低、可靠性高、可升級等特點,要求軟件系統具有體積小、可裁剪性、健壯性、專用性、實時性等特點7嵌入式系統與嵌入式操作系統的關系嵌入式操作系統也具有桌面操作系統的特點,即管理硬件資源、調度軟件進程、處理軟件中斷等,嵌入式操作系統通常包括硬件驅動軟件、系統內核、設備驅動接口、文件系統、圖形界面、網絡通信協議、USB驅動協議等。流行的嵌入式操作系統有:WindowsCE嵌入式LinuxμC/OS-IIVxWorks嵌入式系統是面向特定應用和環境、集成硬件和軟件的單板機,嵌入式系統的硬件資源有限,突出地表現在其具有較小容量的RAM和ROM空間,通過外擴SD卡等存儲介質擴展存儲空間;直接基于ARM芯片開發的匯編或C語言實時性程序為嵌入式系統定制多任務、實時的嵌入式操作系統8嵌入式系統=ARM硬件系統+嵌入式操作系統+操作系統級應用軟件系統嵌入式系統=ARM硬件系統+芯片級應用軟件系統嵌入式系統研發特點9嵌入式系統研發需要具備電子類和軟件類兩方面的專門知識,是一門交叉組合型學科。嵌入式系統研發可分為四類:嵌入式系統的硬件平臺設計,需要根據應用環境選擇合適的ARM芯片,滿足處理速度和存儲深度的要求,同時,需要兼顧性價比和芯片特點與生存周期等因素基于ARM芯片的芯片級匯編或C語言程序設計,要求設計者對ARM芯片工作原理和內部結構有較好的認識和理解,這類程序包括系統初始化程序和特定功能的算法程序,需要對匯編語言和指令以及C語言編程有一定的基礎嵌入式操作系統的定制和驅動程序的開發,這類研發已經完全商業化基于嵌入式操作系統開發用戶應用程序,特別是開發具有良好圖形界面的用戶應用程序,是對設計者的一個挑戰。基于不同的嵌入式操作系統,開發應用程序的方式有很大的不同1.3ARM發展歷程及應用領域版本典型微處理器類型特點ARMv1~ARMv4(1990年ARM公司成立)已退市早期的版本中只有ARMv4,目前在某些ARM7和StrongARM處理器中可見,可以被視為32位尋址的32位指令集體系結構ARMv4T(1995年)ARM7TDMI、ARM7TDMI-S、ARM920T、ARM922T支持16位的Thumb指令集,比32位的ARM指令集節省約35%的存儲空間ARMv5TE(1999年)ARM946E-S、ARM966E-S、ARM968E-S、ARM996HS增加了ARM與Thumb狀態切換的指令,增強了DSP類型指令,尤其是在語音數字信號處理方面提高了70%以上的性能ARMv5TEJ(2000年)ARM7EJ-S、ARM926EJ-S、ARM1026EJ-S添加了Java加速技術ARMv6(2001年)ARM1176JZ(F)-S改進了異常處理,更好地支持多處理器指令,增加了支持SIMD(單指令多數據)的多媒體指令,對視頻和音頻解碼性能提高近4倍ARMv6T2ARM1156T2(F)-S支持Thumb-2技術ARMv7Cortex-A8、Cortex-A9、Cortex-R4(F)支持NEON技術,使得DSP和多媒體處理性能提高4倍,支持向量浮點運算,為下一代3D圖像和游戲硬件服務ARMv7-MCortex-M3優化了微控制器,低功耗ARM7TDMI內核結構ARM9微處理器系列ARM9E內核結構ARM10E微處理器系列ARM11內核結構1.4嵌入式操作系統14嵌入式操作系統是嵌入式系統的操作系統,通常被設計得非常緊湊有效,拋棄了運行在它們之上的特定應用程序所不需要的各種功能。嵌入式操作系統負責嵌入式系統的全部軟、硬件資源的分配和調度工作,控制協調并發活動,且能通過裝卸某些軟件模塊以實現系統所要求的功能。實時系統是對邏輯和時序要求非常嚴格的系統,如果邏輯和時序出現偏差,將會引起嚴重后果。即實時系統是必須能在確定的時間內執行特定功能,并能對外部的異步事件做出響應的計算機系統,實時系統對響應時間有嚴格要求。實時多任務操作系統是指具有多任務調度和資源管理功能的實時系統,即所謂的嵌入式操作系統,它往往具有以下特點:實時性,即在確定的時間內執行特定功能和對中斷做出響應。體積小,一般為幾KB到幾百KB。可裁剪,即嵌入式操作系統采用模塊化設計,可根據需要選擇特定的功能模塊。健壯性,即具有極強的運行穩定性。可移植性,即可以運行于多種嵌入式系統平臺上。可固化性,即嵌入式操作系統可固化在嵌入式系統的Flash芯片內。提供設備驅動和應用程序接口,即用戶可以借助嵌入式操作系統使用和管理系統資源。提供圖形用戶界面和網絡功能。有些嵌入式操作系統提供了友好的圖形用戶界面(GUI)和網絡支持。WindowsCE優點:15具有美觀的圖形用戶界面,而且該界面與桌面Windows系統一脈相承,使得操作直觀簡單。開發基于WindowsCE的應用程序相對簡單,因為WindowsCE的API函數集是桌面Windows系統API函數的子集,熟悉桌面Windows程序設計的程序員可以很快地掌握WindowsCE應用程序的設計方法,所以,WindowsCE應用程序的開發成本較低。WindowsCE的文件管理功能非常強大,支持桌面Windows系統下的FAT、FAT32等文件系統。WindowsCE的可移植性較好。WindowsCE下的設備驅動程序開發相對容易。WindowsCE的電源管理功能較好,主要體現在WindowsPhone上。WindowsCE的進程管理和中斷處理機制較好。WindowsCE支持桌面Windows系統的眾多文檔格式,例如Word和Excel等,這種兼容性方便桌面Windows用戶在WindowsCE設備上處理文檔和數據。VxWorks特點:16可靠性極高。VxWorks通過了Do-178B、ARINC653和IEC61508等平臺嚴格的安全性驗證,因而它主要應用于軍事、航空、航天等對安全性和實時性要求極高的場合。穩定性和可靠性高是VxWorks最受歡迎的特點。實時性好。實時性是指能夠在限定時間內執行完規定功能并對外部異步事件做出響應的能力。VxWorks系統實時性極好,系統本身開銷很少,進程調度、進程間通信、中斷處理等系統程序精煉有效,造成的任務切換延時很短,提供了優先級搶先式和時間片輪換方式多任務調度,使硬件系統發揮最好的實時性。例如,美國的F-16戰斗機、B-2隱形轟炸機和愛國者導彈,甚至1997年的火星探測器上也使用了VxWorks系統。可裁剪性好。VxWorks內核只有8KB,其他系統模塊可根據需要定制,使得VxWorks系統具有靈活的可裁剪性能,既可用于極小型單片系統,也可用于大規模網絡系統。VxWorks的存儲腳本(MemoryFootprint)可以指定系統運行內存空間大小(這里的存儲腳本可理解為基于VxWorks的應用程序可執行代碼)。開發環境友好。基于圖形化的集成開發環境WindRiverStudio,可開展基于VxWorks和WindRiverLinux系統應用的工程開發。WindRiverStudio是一個完備的設計、調試、仿真和工程集成解決方案。嵌入式Linux特點:17嵌入式Linux是完全開源的,因此它廣泛應用于高校教學。研究嵌入式Linux代碼的專家、學者遠比其他操作系統都多,而且Internet上的資源豐富,也有大量的圖書、資料,使得學習Linux系統的代價最小。嵌入式Linux是免費的,不涉及任何版權和專利。這一點被商界所看重。因此,大部分嵌入式產品在初期都使用過嵌入式Linux版本。嵌入式Linux被很多團體和組織二次開發后,形成具有獨立知識產權的嵌入式操作系統,所以,嵌入式Linux變種系統非常多,如WindRiverLinux和μCLinux等。嵌入式Linux與QT相結合,使嵌入式Linux具有良好的圖形人機界面,甚至可以和WindowsCE相媲美,而且QT目前也是開源的。嵌入式Linux的移植能力強,不需要微控制器具有MMU功能,其變種形式幾乎可應用于所有主流嵌入式系統中。嵌入式Linux對外設的驅動能力很強,驅動接口程序設計相對容易,網絡上有大量常用設備的驅動代碼可供參考借鑒。嵌入式Linux在內核、文件系統、網絡支持等方面均有突出的特點。最新的Linux內核,具有200多萬行源代碼,可支持32個CPU,實時性顯著提高(但嚴格意義上不是實時操作系統),采用了更有效的任務調度器,增加了對多種嵌入式處理器的支持,在多媒體和網絡通信方面也有很大提高。1.5μC/OS-II特點:18μC/OS-II具有優秀的可移植性。μC/OS-II的絕大部分源代碼由C語言寫成,只有一小部分與處理器相關的移植代碼使用匯編語言編寫,匯編語言代碼量壓縮到最低限度。μC/OS-II系統可固化在嵌入式系統的Flash中。μC/OS-II系統可裁剪。通過μC/OS-II系統的OS_CFG.H配置文件可以有選擇地使用μC/OS-II系統功能組件,μC/OS-II的可裁剪性是靠條件編譯實現的。μC/OS-II系統是可搶先型的實時內核,即μC/OS-II總是執行所有處于就緒狀態下優先級最高的任務。μC/OS-II系統提供了信號量、互斥信號量、事件標志組、消息郵箱、消息隊列等多種服務組件,提供了用于時間管理和內存管理的函數,使用這些組件可方便地在任務間進行通信和同步。μC/OS-II系統具有很高的安全性和可靠性。1.5μC/OS-III特點:19μC/OS-III支持ARM7、ARM9、Cortex-M、Nios-II、PowerPC、Coldfire、Microblaze、SHx、M16C、M32C和Blackfin等微處理器。μC/OS-III支持無限多個任務,支持時間片輪換調度,不同任務的優先級可以相同,優先級號取值不受限制。由于μC/OS-I

溫馨提示

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

評論

0/150

提交評論