




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、系統(tǒng)原理與設計(實時)操作系統(tǒng)及驅動設計2011.03qhfengRTOS內容提要RTOS定義主要功能及實現方法簡介RTOS中的驅動BSP一般外設1、系統(tǒng)中OS的引入軟硬件 方便移植 硬件設計與應用軟件設計并行(simulator)方便建立多進程的復雜軟件系統(tǒng) 統(tǒng)一高效的任務管理和通信 高效的使用硬件操作系統(tǒng)OS的主要功能 為應用程序提供硬件的接口如何使用硬件管理何時/由何應用來使用某 提供工具集 簡化開發(fā)OS實現對硬件的管理 應用程序設計者不需要關注硬件細節(jié) 硬件如何使用由OS管理 不同硬件平臺上OS提供相同接口,甚至可以用軟件模擬接口應用程序實用工具/協(xié)議棧操作系統(tǒng)硬件OS-多進程的處理簡
2、單應用可以由單段實現 例如大部分單片機程序(主循環(huán)+中斷)復雜的應用難以用單個實現及管理 例如:1.2. 通話3. 查找音樂本4. 按鍵輸入5. 顯示操作系統(tǒng)是應用程序運行的程序OS的功能基本功能 處理器 內存管理管理(主要為中斷管理) 進程管理(調度/通信) 設備驅動高級功能 文件系統(tǒng) 各種協(xié)議棧( 安全功能庫)操作系統(tǒng)EOS(Embedded Operating System)在ROM等介質中)體積?。ㄗ銐蚓喴钥煽啃愿撸ㄩL期不間斷運行)功耗低(很多設備用電池供電)可配置性擴充性 新的硬件/新的服務EOS-體積小內核足夠小/可配置單內核或宏內核 (monolithic kernel, Ma
3、cro kernel ) 宏內核被分為若干模塊,運行一個的二進制大映像。模塊間通過函數調用實現micro kernel微內核 微內核是一個消息轉發(fā)站,把系統(tǒng)調用轉發(fā)給相應的模塊。 內核本身不提供操作系統(tǒng)的相關服務,而是提供實現這些服務的機制(地址空間管理,進程調度及通信)(分層)單內核與微內核EOS-可靠性安全可靠的編碼詳盡的測試/認證應用軟件具有與操作系統(tǒng)同樣的可靠性:ROM/備份恢復/看門狗EOS-內核裁剪裁剪 預編譯命令 模塊 運行時配置不同內核實現的缺點 單內核不容易作出修改 微內核效率不高 *均可改進EOS-功耗電源管理模塊 在不需要的時候關閉/休眠硬件讓CPU空閑時進入低功耗狀態(tài)定
4、時關閉時鐘*功耗降低需要應用程序配合 優(yōu)化的代碼設計,快速完成任務 通知OS關閉不需要的硬件eOS-擴充性靜態(tài)擴展 重新編譯/需要源碼/良好的模塊性動態(tài)擴展微內核內核加載/LKM操作系統(tǒng)經常性的變化對它的設計提出一定的要求。一個非常明確的觀點是,在構造系統(tǒng)時應該采用模塊化的結構,清楚地定義模塊間的接口,并備有說明文檔。對于像現代操作系統(tǒng)這樣的大型程序,簡單的模塊化是不夠的。實時操作系統(tǒng)RTOS(real time OS)系統(tǒng)能夠在限定的響應時間內提供所需水平的服務(POSIX 1003.b) POSIX Portable Operationg System Interface(for UNIX
5、) ,IEEE制定的OS標準接口(類UNIX的OS,以及WindowNT均適用)實時性 快速響應外部 快速切換的使用 (實時任務調度) 確保任務按時完成實時系統(tǒng)實時計算:系統(tǒng)的正確性取決于計算的邏輯結果及產生結果的時間。硬實時 硬實時任務必須滿足最后期限的限制,否則會給系統(tǒng)帶來不可接受的破壞或致命錯誤。軟實時 軟實時任務期望滿足最后期限的要求;但即使操作最后期限,完成這個任務仍然是有意義的。周期性實時任務 每隔周期T一次的任務 如果系統(tǒng)中均為周期性實時任務,則實時要求容易達到RTOS的要求可確定性 中斷發(fā)生到響應中斷的延遲可響應性 處理中斷的時間用戶 用戶完成非常詳細的設計(優(yōu)先級/可靠性和故
6、障弱化等)RTOS-可確定性按照固定的、預先確定的時間或時間間隔執(zhí)行操作。幾乎沒有完全可確定的系統(tǒng) 因為外部不是可以完全預先確定的中斷發(fā)生開始處理中斷的延遲 非實時:幾十到幾百ms 實時:幾到幾百usRTOS-可響應性從最初處理中斷到中斷處理完成的時間 ISR是否需要進程切換 Interrupt Service Routine. 中斷服務例程 執(zhí)行ISR所需要的時間 是否可能被其它中斷打斷快速的任務(進程/線程)切換*中斷響應時間 包括中斷發(fā)生到開始處理的延遲 處理中斷的時間RTOS-用戶非實時OS:不實時OS: 仔細區(qū)分每個任務的優(yōu)先級 制定調度方式(例如是否可搶占) 內存的使用方式,進程的
7、權限等或者簡單任務調度RTOS-可靠性及故障弱化盡可能詳盡的設計和測試預留充足的出問題時能改進或降低影響 重啟進程 備份機制性能不足時首先滿足最重要的任務完成關機/重啟/異常關閉時 保證數據的完整通用OS/eRTOS簡單比較通用OSeRTOS/弱交互一般用戶體積一般較大實時性要求不高可靠性要求不高系統(tǒng)開發(fā)體積小/可裁剪實時性可靠性要求高(標準)總結:RTOS的典型功能/特點體積小高效的中斷管理高效的內存管理高效的進程管理/通信/調度2、RTOS主要功能及實現簡介OS的通用功能中斷管理內存管理進程管理及實時的要求小體積、靈活配置高效-實時RTOS-中斷管理中斷類別 硬件中斷 軟件中斷中斷向量表建
8、立中斷的使能中斷與實時處理RTOS-中斷中斷響應時間 RTOS中關閉中斷的時間盡可能短 中斷時的上下文切換中斷響應過程 中斷函數->進程中斷嵌套時鐘中斷 一般作為RTOS的時間片 時間片短/中斷次數多 時間片長/中斷次數少RTOS-內存管理物理內存-虛擬內存 應用程序使用的內存地址需要經過翻譯,轉換成最終的硬件地址 轉換由OS和硬件共同完成MMU 硬件提供的內存管理單元,通常由OS進行配置內核空間與用戶空間 OS應保護緩存數據只能由OS自身 提高器的速度RTOS-進程串行處理與并行處理 (單)處理器某個時刻只能完成一個任務 并行處理是宏觀特性進程塊 標志符/狀態(tài)/優(yōu)先級/程序計數器/內存
9、指針(堆棧等)/上下文(CPU寄存器)/IO狀態(tài)信息(設備/文件等)進程的狀態(tài)及狀態(tài)轉換 新建/就緒/運行/阻塞/進程與線程 進程:;線程:調度/執(zhí)行;RTOS-進程管理互斥 并發(fā)進程競爭使用同一個中斷/降低實時性;多處理器不可用 原子操作 死鎖/饑餓同步 多個進程通過共享機制:信號量交互RTOS-進程調度進程調度 優(yōu)先級搶占每個進程一個優(yōu)先級優(yōu)先級預先分配/是否可改變搶占:高優(yōu)先級的進程打斷低優(yōu)先級進程的執(zhí)行 時間片輪轉按固定時間間隔調度任務間片/變長時間片)時間片是否固定(何時調度/切換進程 時鐘中斷/IO中斷/系統(tǒng)調用RTOS-調度RTOS一般采用時間片輪轉+優(yōu)先級搶占 優(yōu)先級最高的進程
10、先執(zhí)行 同一優(yōu)先級的進程按時間片輪轉執(zhí)行搶占方式: 當前任務結束/非實時 在搶占點搶占/實時性不好 立即搶占優(yōu)先級逆轉搶占式操作系統(tǒng)的競爭 高優(yōu)先級任務需要的占用著名的探路者號任務解決方案:,正被低優(yōu)先級任務 優(yōu)先級繼承(在高優(yōu)先級任務需要改低優(yōu)先級任務的優(yōu)先級)時,更時間限定的進程調度-RMS速率單調調度 rate monotonic scheduling周期性任務 周期最短的任務優(yōu)先級最高 周期T 執(zhí)行時間C 處理器使用率 U=C/T U1+Un <= n(21/n 1) (極限0.693) 最壞情況;實際可以到90%以上實例 20/100 40/150100/3500.753<
11、;0.779 2/43/63/1215>12時間限定的進程調度-EDF截止時間最近者優(yōu)先調度 Earliest Deadline First動態(tài)優(yōu)先級 截止時限最近的進程擁有最高優(yōu)先級RTOS-進程間通信小數據量的通信 信號大數據量的通信 消息隊列 共享內存 管道主流eRTOS及特點Linux VxWorks WinCE uCOSNucleus PlusLinux簡介應用最廣開源/豐富單內核+微內核(可加載內核模塊)分支: 普通Linux裁剪 精簡內核 實時性差(10ms,2.4內核不可搶占) RTLinux 添加實時內核模塊 ucLinux不支持MMU Monta Vista Linu
12、xVxWorks簡介高實時性/高可靠性行業(yè)特點: 優(yōu)先級搶占+時間片輪轉(可關閉) uS級的響應時間 完備的工具/協(xié)議棧 標準接口,通過多項測試WinCE簡介調度:可搶占+時間片輪轉(默認100ms) 優(yōu)先級 0-256 0-96 高于Driver 97-152 Driver 153-247 低于Driver 248-255 普通應用中斷:不可嵌套 /降低實時性 ISR(中斷服務例程)+IST(中斷服務線程)豐富的接口/工具及方便的變成方式 WIN32API.NET3、RTOS中的基本驅動/BSP驅動的作用 讓RTOS能正常的運行 讓應用程序能使用硬件設備驅動設計的基本目標硬件的實現細節(jié),提供
13、方便的接口方式驅動分類按功能驅動系統(tǒng) 處理器 中斷器驅動外設 網絡設備驅動 總線驅動 輸入輸出設備驅動器件配置 其他設備驅動OS與硬件的關系層次圖應用程序實用工具/協(xié)議棧操作系統(tǒng)驅動硬件板級支持包BSP建立讓OS運行的最基本環(huán)境 初始化CPU內部寄存器 設定RAM工作時序 時鐘驅動及中斷器驅動 *串口驅動(簡單有效的調試完善OS運行的環(huán)境 CACHE/MMU ROM 完善中斷管理 系統(tǒng)總線驅動)一般啟動流程復位從指置開始運行程序(ROM) 與CPU相關初始化CPU寄存器/關中斷/配置時鐘/RAM 初始化OS內核開中斷/開MMU啟動用戶進程系統(tǒng)啟動IIROM->RAMBootLoader開
14、發(fā)階段的啟動/最終發(fā)布階段的啟動RTOS的基本系統(tǒng)硬件接口CPU地址空間/寄存器外部器BSP-CPU初始化 讓CPU處于最精簡的可控狀態(tài)關中斷 (其他硬件的干擾)關緩存,關閉MMU設置時鐘頻率(由硬件設置配合完成)設置CPU關鍵寄存器(清零某些寄存器,設置堆棧等寄存器)正常運行 中斷相關寄存器處理 模式轉換 進程切換(PC及堆棧切換)CPU的模式 CPU硬件設計至少兩種模式(模式和用戶模式),由CPU內特殊寄存器來指示。 OS的內核態(tài)和用戶態(tài)和CPU硬件的模式對應模式能所有有限 用戶模式只能發(fā)中斷)(超出范圍則會觸BSP-地址空間OS在內核態(tài)下能 所有寄存器 所有地址空間 (典型4G)所有OS
15、在用戶態(tài)下只能有限 有限地址空間(典型0-3G)BSP-地址空間態(tài)的RTOS只工作在 OS系統(tǒng)代碼和應用程序具有同等權限 程序編寫簡單,用戶程序可直接硬件 可靠性差:OS系統(tǒng)代碼及硬件寄存器不受保護區(qū)分內核態(tài)和用戶態(tài)的RTOS 用戶應用代碼均運行在用戶態(tài) 無法直接配合) 可靠性好大部分硬件(需要操作系統(tǒng)BSP-OS狀態(tài)切換內核態(tài)?用戶態(tài) 直接完成用戶態(tài)?內核態(tài) 中斷外部中斷/內部中斷(實現系統(tǒng)調用)BSP-器DRAM 需要配置特定的時序才能正常讀寫 是否啟用Burst模式、工作時鐘ROM 普通EEPROM / NOR FLASH直接可讀數據需要特殊命令序列來實現如何入手BSP編寫透徹的了解硬件
16、結構 熟悉相關的硬件文檔是基礎方便易用的開發(fā)環(huán)境 調試器/開發(fā)軟件 交叉編譯參考代碼 熟悉好的參考代碼能達到事半功倍的效果BSP的開發(fā)及調試硬件調試器 JTAG直接LED指示CPU內部寄存器 最直觀/快速/簡單的調試 使用最簡單的設備(GPIO)串口信息 方便的輸出調試信息BSP開發(fā)一般步驟1驗證硬件 硬件準備 連接調試器(上電后的電壓電流)讀寫CPU內部寄存器處理器的輸出端口(GPIO)觀察輸出配置CPU中斷/CACHE/Endian 設置時鐘 設置cache為棧(以使用C編寫的代碼)BSP開發(fā)配置RAM初始化RAM 填寫與RAM相關的CPU內寄存器 時序/時鐘/方式:片選 刷新時序/等待時
17、序/讀寫時序 通過調試器逐個寄存器填寫 部分調試器支持,填寫多個寄存器 部分調試軟件支持配置文件,測試RAM填寫多個寄存器單元測試整體測試噪聲測試單地址讀寫測試整塊讀寫測試讀寫測試數據(特殊數據,如逐位置一)BSP開發(fā)-階段驗證確保CPU和RAM工作正常編寫初始化CPU和RAM的代碼并設置堆棧(一般是匯編代碼)編寫簡單程序驗證(C代碼) 如編寫一段簡單的代碼,用軟件延遲周期性去點亮和關閉某一個LED C代碼運行正常,則操作系統(tǒng)的用以被調BSP開發(fā) 內存管理內存的使用方式 多少內存供OS使用 是否使用MMU 外設的內存MMU 設置虛擬地址到物理地址的轉換方式塊段頁BSP開發(fā)中斷處理中斷類型 直接
18、連接到CPU的中斷 通過中斷中斷向量表器連接到CPU 為每個中斷源的編寫簡單處理代碼(一般是計算出一個中斷向量)將每個中斷源和OS的中斷處理 匯編代碼直接連接 使用OS提供的連接函數連接BSP開發(fā)內存與中斷開中斷和開MMU 不同的OS有不同的處理時鐘中斷 OS按時間片處理的依據,應重點處理BSP開發(fā)集成OS確保前述基本硬件工作正常按照OS的要求編寫接口API比照參考代碼進行整合BSP開發(fā)集成OS添加ROM驅動 最終系統(tǒng)需要燒寫到ROM中 系統(tǒng)啟動方式 Bootloader/Rom->Ram的copy添加串口驅動 方便調試Cache和MMU 打開Cache和MMU時,可能會出現問題(調試變
19、得困難)多核 AMP與SMP4、RTOS的驅動設計定義 OS(或應用程序)與硬件設備的接口功能 數據傳輸驅動的接口接口 按照應用設計的接口 必要時可繞過OS,由應用直接 簡單/效率較好通用接口 按照OS所要求的通用接口來設計 一般是類文件操作的接口硬件設備 標準化的、初始化、卸載設備通用 內存方式:設備被到一段內存空間 基本操作:寄存器的讀寫 各種總線接口:總線的最終由寄存器實現和中斷 由OS或應用發(fā)起中斷/實時性差 硬件設備在必要時,以硬件中斷通知CPU 結構相對復雜 實時性好數據傳輸通用讀寫 通過IO端口逐個數據讀寫(效率低)DMA 設備和內存(設備和設備)之間直接傳輸數據,CPU只需發(fā)起
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年農村電商服務站信息化建設與發(fā)展趨勢報告
- 2025年農產品追溯體系在農業(yè)供應鏈管理中的應用與優(yōu)化報告
- 政協(xié)考試試題及答案
- 雜交水稻材料題目及答案
- 高一下學期期末考模擬卷(第一、二冊綜合)(提升)- 《溫故知新》2025-2026學年高一數學下學期復習課(人教A版2029必修第二冊)(原卷版)
- 六年級畢業(yè)升學測試題及答案
- 2025至2030年中國箱包零售行業(yè)市場競爭現狀及發(fā)展前景研判報告
- 考駕照科一測試題及答案
- 2025至2030年中國窗軌行業(yè)競爭戰(zhàn)略分析及市場需求預測報告
- 2021-2023北京重點校高二(上)期末歷史匯編:晚清時期的內憂外患與救亡圖存章節(jié)綜合
- 鼻息肉護理教學查房
- 四川省安全員《B證》考試題庫及答案
- 單值-移動極差X-MR控制圖-模板
- 江蘇省戲劇學校輔導員招聘考試真題2022
- 軍隊保密協(xié)議書模板(標準版)
- Python語言編程基礎PPT完整全套教學課件
- 2023年杭州中考科學(word版及詳細答案)
- 安徽諾全藥業(yè)有限公司年產105噸醫(yī)藥中間體及原料藥項目環(huán)境影響報告書
- 2022年鹽城市大豐區(qū)事業(yè)單位考試真題及答案
- 2017年福州市初中畢業(yè)班質量檢測英語試卷及答案
- 性科學與生殖健康智慧樹知到答案章節(jié)測試2023年武漢科技大學
評論
0/150
提交評論