《嵌入式系統(tǒng)總結(jié)》PPT課件.ppt

上傳人:san****019 文檔編號:20442179 上傳時間:2021-03-21 格式:PPT 頁數(shù):45 大?。?13.60KB
收藏 版權(quán)申訴 舉報 下載
《嵌入式系統(tǒng)總結(jié)》PPT課件.ppt_第1頁
第1頁 / 共45頁
《嵌入式系統(tǒng)總結(jié)》PPT課件.ppt_第2頁
第2頁 / 共45頁
《嵌入式系統(tǒng)總結(jié)》PPT課件.ppt_第3頁
第3頁 / 共45頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《嵌入式系統(tǒng)總結(jié)》PPT課件.ppt》由會員分享,可在線閱讀,更多相關(guān)《《嵌入式系統(tǒng)總結(jié)》PPT課件.ppt(45頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 按照章節(jié)進行分類 嵌入式系統(tǒng)總結(jié) 嵌入式系統(tǒng)的概念及現(xiàn)實中的實例 兩種比較合理定義: 從 技術(shù)的角度 定義:以應(yīng)用為中心、以計算機 技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng) 對功能、可靠性、成本、體積、功耗嚴格要求 的專用計算機系統(tǒng)。 從 系統(tǒng)的角度 定義:嵌入式系統(tǒng)是設(shè)計完成復(fù) 雜功能的硬件和軟件,并使其緊密耦合在一起 的計算機系統(tǒng)。 第一章嵌入式系統(tǒng)概述 2.1 ARM簡介 ARM公司簡介 ARM是 Advanced RISC Machines的縮寫,它是 一家微處理器行業(yè)的知名企業(yè),該企業(yè)設(shè)計了大量 高性能、廉價、耗能低的 RISC (精簡指令集)處 理器。 公司的特點是只設(shè)計芯片,而

2、不生產(chǎn)。它 將技術(shù)授權(quán)給世界上許多著名的半導(dǎo)體、軟件和 OEM廠商,并提供服務(wù)。 ARM兩大處理器狀態(tài)特點及其關(guān)系 ARM7TDMI處理器內(nèi)核包含 2套指令系統(tǒng),分別為 ARM指令集和 Thumb指令,并且各自對應(yīng) 1種處理器的 狀態(tài): ARM狀態(tài): 32位,處理器執(zhí)行字方式的 ARM指令, 處理器默認為此狀態(tài); Thumb狀態(tài): 16位,處理器執(zhí)行半字方式的 Thumb 指令。 第 3章 ARM7TDMI(-S)指令系統(tǒng) 簡介 ARM處理器是基于精簡指令集計算機 (RISC)原 理設(shè)計的 , 指令集和相關(guān)譯碼機制較為簡單 。 ARM7TDMI(-S)具有 32位 ARM指令集 和 16位 T

3、humb 指令集 , ARM指令集效率高 , 但是代碼密度低 ;而 Thumb指令集具有較高的代碼密度 , 卻仍然保持 ARM的大多數(shù)性能上的優(yōu)勢 , 它是 ARM指令集的 子集 。 所有的 ARM指令都是可以有條件執(zhí)行的 , 而 Thumb指令僅有一條指令具備條件執(zhí)行功能 。 ARM 程序和 Thumb程序可相互調(diào)用 , 相互之間的狀態(tài)切 換開銷幾乎為零 。 第 3章 ARM7TDMI(-S)指令系統(tǒng) ARM指令集與 Thumb指令集的關(guān)系 Thumb指令集 具有靈活、小 巧的特點 ARM指令集支持 ARM核所有的特 性,具有高效、 快速的特點 3.1 ARM處理器尋址方式 尋址方式分類 尋

4、址方式是根據(jù)指令中給出的地址碼字段來實 現(xiàn)尋找真實操作數(shù)地址的方式 。 ARM處理器具有 8種 基本尋址方式 。 1.寄存器尋址; 2.立即尋址; 3.寄存器移位尋址; 4.寄存器間接尋址; 5.基址尋址; 6.多寄存器尋址; 7.堆棧尋址; 8.相對尋址 。 3.2 指令集 常用指令的使用 3.2 指令集介紹 ARM存儲器訪問指令 單寄存器存取 裝載指令: LDR 目標(biāo)寄存器 ,源地址 存儲指令: STR 源寄存器 ,目標(biāo)地址 存儲器 源地址 目標(biāo)寄存器 存儲器 目標(biāo)地址 源寄存器 思考與練習(xí) ? 1.MOV指令與 LDR指令都是往目標(biāo)寄存器中 傳送數(shù)據(jù) , 但是它們有什么區(qū)別嗎 ? MOV

5、指令用于將數(shù)據(jù)從一個寄存器傳送 到另一個寄存器中 , 或者將一個常數(shù)傳送到 一個寄存器中 , 但是不能訪問內(nèi)存 。 LDR指 令用于從內(nèi)存中讀取數(shù)據(jù)放入寄存器中 。 3.2 指令集介紹 算術(shù)邏輯運算指令 算術(shù)邏輯運算指令包括 “ 加 /減 ” 以及 “ 與 / 或 /異或 ” 等指令 , 它們的格式如下: OpCode 結(jié)果寄存器,運算寄存器,第二操作數(shù) 運算寄存器 第二操作數(shù) 運算符 結(jié)果寄存器 1.LPC2000系列簡介 2.引腳描述 3.存儲器尋址 4.系統(tǒng)控制模塊 5.存儲器加速模塊 ( MAM) 6.外部存儲器控制器 ( EMC) 7.引腳連接模塊 8.GPIO 第四章 LPC200

6、0系列 ARM硬件結(jié)構(gòu) 9.向量中斷控制器 10.外部中斷輸入 11.定時器 0和定時器 1 12.SPI接口 13.I2C接口 14.UART(0、 1) 15.A/D轉(zhuǎn)換器 16.看門狗 17.脈寬調(diào)制器 (PWM) 18.實時時鐘 4.3.1 片內(nèi)存儲器 片內(nèi) Flash編程方法 1. 使用 JTAG仿真 /調(diào)試器,通過芯片的 JTAG接口下載程序; 2 使用在系統(tǒng)編程技術(shù)(即 ISP),通過 U RT0接口下載程 序; 3.使用在應(yīng)用編程技術(shù)(即 IAP),在用戶程序運行時 對 Flash進行擦除和 /或編程操作,實現(xiàn)數(shù)據(jù)的存儲和固 件的現(xiàn)場升級。 ARM7 處理器核 外設(shè) 控制器 R

7、AM Boot Block FLASH JTAG UART0 串口 并口 JTAG 4.3.1 片內(nèi)存儲器 片內(nèi) Flash編程方法 2. 使用在系統(tǒng)編程技術(shù)(即 ISP),通過 UART0接口下載程 序; 3. 使用在應(yīng)用編程技術(shù)(即 IAP),在用戶程序運行時對 Flash進行擦除和 /或編程操作,實現(xiàn)數(shù)據(jù)的存儲和固件的現(xiàn) 場升級。 1. 使用 JTAG仿真 /調(diào)試器,通過芯片的 JTAG接口下載 程序; 4.3.2 片外存儲器 片外 Flash編程方法 Flash的擦寫操作需要配合一段符合 Flash編程時序 的代碼,這段代碼稱為 裝載程序 ,一般由用戶編寫。 程序代碼(源) 程序代碼(

8、目標(biāo)) Loader 目標(biāo)板 CPU BUS Flash 串口 下載用戶代碼時,首先得在 CPU內(nèi)運行裝載程序, 通過它把從串口(或其它接口)接收的代碼寫到片外 Flash中。 概述 4.3.3 存儲器映射 ARM芯片可以存在片內(nèi)和片外存儲器,這些存儲 器本身不具有地址信息,它們在芯片中的地址是由芯 片廠家或用戶分配的,那么 給物理存儲器分配邏輯地 址的過程稱為存儲器映射 。通過這些邏輯地址就可以 訪問到相應(yīng)存儲器的物理存儲單元。 4.3.5 存儲器重映射及引導(dǎo)塊 存儲器重映射 將已經(jīng)過映射的存儲器再次映射的過程稱為 存儲 器重映射 ,它使同一物理存儲單元出現(xiàn)多個不同的邏 輯地址。這些存儲單元

9、主要包括 引導(dǎo)塊 “ Boot Block” 和用于保存異常向量表的少量存儲單元。 Addr1 程序所見存儲器 . Addr2 Addr1 存儲器管理部件 0 x1234 0 x1234 實際物理存儲器 0 x1234 注意: 存儲器重映射并不是對映射單元的內(nèi)容進 行了復(fù)制,而只是將多個地址指向了同一個存儲單元, 這種效果是通過芯片內(nèi)部的 “ 存儲器管理部件 ” 實現(xiàn) 的。 實際物理存儲單元通過 存儲器管理部件進行存儲器 映射,獲得邏輯地址 Addr1。 1 實際物理存儲單元通過 存儲器管理部件進行存儲器 重映射,獲得邏輯地址 Addr2。此時,邏輯地址 Addr1和 Addr2可以訪問同一

10、實際物理存儲單元。 2 4.4.2 時鐘系統(tǒng) 時鐘系統(tǒng)結(jié)構(gòu) LPC2000系列微控制器的時鐘系統(tǒng)包括四個部分: 晶體振蕩器、喚醒定時器、鎖相環(huán)( PLL)和 VPB分頻器。 外接晶體或 外接時鐘源 產(chǎn)生穩(wěn)定的 時鐘信號 將 Fosc提升到 合適的頻率 PLL 晶體 振蕩器 VPB 分頻器 FCCLK FPCLK fOSC FOSC CPU內(nèi)核 芯片外設(shè) 喚醒 定時器 ON/OFF 1 3 4 2 為系統(tǒng)提供基本的時鐘信號 (Fosc) 。 1 在復(fù)位或處理器從掉電模式被喚醒時,為輸入的時鐘信號做計數(shù)延時,使芯片內(nèi)部部件有時間進行初始化。 2 把 Fosc信號提高到一個符合用戶需要的頻率 (Fc

11、clk) 其中 Fcclk用于 CPU內(nèi)核。 3 用于把 Fcclk信號降低到一個合適的 Fpclk值(也可以不降低),該信號用于外設(shè)部件 。 4 4.5 存儲器加速模塊( MAM) 概述 LPC2000微控制器擴展了器件內(nèi)部 Flash總線寬 度為 128位,用于提高處理器的指令執(zhí)行速度。這個 接口通過存儲器加速模塊 (MAM)來控制。 Flash組 2 Flash組 1 CPU 執(zhí)行指令 取指階段 等待 指令 提供指令 1 提供指令 3 . . 取指階段 提供指令 4 取指階段 等待 3 等待 取指階段 提供指令 2 取指階段 等待 1 2 4 關(guān)閉 MAM指令執(zhí)行情況 從 Flash組

12、1中讀取指令, CPU處于等待狀態(tài)。 1 CPU從 1組指令緩存區(qū)中獲取指令并執(zhí)行。 2 從 組 2中讀取指令, 處于等待狀態(tài)。 3 從 2組指令緩存區(qū)中獲取指令并執(zhí)行。 4 所有存儲器操作請求都會直接對 Flash操作,由此產(chǎn)生了 CPU停止,等待若干周期的情況。 Flash組 2 Flash組 1 CPU 執(zhí)行指令 開啟 MAM指令執(zhí)行情況 . 14 13 提供指令 13 14 15 16 取指階段 12 11 10 9 取指階段 提供指令 9 10 11 12 8 7 6 5 取指階段 提供指令 5 6 7 8 4 3 2 1 提供指令 1 2 3 4 5 6 7 8 取指階段 取指階段

13、 等待 指令 . . 兩組指令緩存區(qū)中不存在指令,啟動 Flash存儲器 指令讀取周期, CPU停止,等待若干周期。 1 CPU執(zhí)行 Flash組 1指令緩存區(qū)中的指令。 2 執(zhí)行 組 2指令緩存區(qū)中的指令,同時從 Flash組 1中讀取指令。 3 只要指令存在兩個組的指令緩存區(qū)中, CPU的 指令執(zhí)行是連續(xù)的,由此大大提高了指令執(zhí)行效率。 4.9 向量中斷控制器 概述 ARM7TDMI內(nèi)核具有兩個中斷輸入,分別為 IRQ中斷和 FIQ中斷。向量中斷控制器( VIC)負責(zé) 管理芯片的中斷源,最多可以管理 32個中斷輸入請 求。 CPU 內(nèi)核 ARM7TDMI-S 4.9 向量中斷控制器 FIQ

14、中斷硬件處理流程 將當(dāng)前的程序狀態(tài)寄存器的內(nèi)容備份 即, SPSR_fiq = CPSR 處理器切換到 FIQ模式 禁止 IRQ和 FIQ中斷,即, I = F = 1 保存返回地址 LR_fiq = PC 設(shè)置 FIQ異常入口地址 PC = 0 x1C 發(fā)生 FIQ異常事件 說明: ARM7不支持 FIQ中斷嵌套 4.9 向量中斷控制器 IRQ中斷相應(yīng)流程 將當(dāng)前的程序狀態(tài)寄存器的內(nèi)容備份 即, SPSR_irq = CPSR 處理器切換到 IRQ模式 禁止 IRQ中斷,即, I = 1 保存返回地址 LR_irq = PC 設(shè)置 IRQ異常入口地址 PC = 0 x18 發(fā)生 IRQ異常事

15、件 說明: ARM7不支持 IRQ中斷嵌套 4.10 外部中斷輸入 概述 LPC2000系列 ARM具有 4路外部中斷,可以設(shè)置為 2種類型: 邊沿觸發(fā): 上升沿觸發(fā) 下降沿觸發(fā) 電平觸發(fā): 高電平觸發(fā) 低電平觸發(fā) 4.12 SPI接口 (Serial Peripheral Interface-串行外設(shè)接口 ) SPI總線系統(tǒng)是一種同步串行外設(shè)接口,它可以使 MCU 與各種外圍設(shè)備以串行方式進行通信以交換信息。外圍 設(shè)置 FLASHRAM、網(wǎng)絡(luò)控制器、 LCD顯示驅(qū)動器、 A/D轉(zhuǎn)換器和 MCU等。 SPI總線系統(tǒng)可直接與各個廠家 生產(chǎn)的多種標(biāo)準(zhǔn)外圍器件直接接口,該接口一般使用 4 條線:串行

16、時鐘線( SCK)、主機輸入 /從機輸出數(shù)據(jù) 線 MISO、主機輸出 /從機輸入數(shù)據(jù)線 MOSI和低電平有 效的從機選擇線 SS(有的 SPI接口芯片帶有中斷信號線 INT或 INT、有的 SPI接口芯片沒有主機輸出 /從機輸入 數(shù)據(jù)線 MOSI)。 SCL SDA CPU A CPU B LCD驅(qū)動器 E2PROM ADC 4.13 I2C接口 概述 I2C總線是 Philips推出的串行傳輸總線,它以 2根 連線實現(xiàn)了完善的全雙工同步數(shù)據(jù)傳送,可以極方 便地構(gòu)成多機系統(tǒng)和外圍器件擴展系統(tǒng)。 I2C總線采用了器件地址的硬件設(shè)置方法, 通過軟件尋址完全避免了期間的片選線 尋址方法,從而使硬件系

17、統(tǒng)具有最簡單 而靈活的擴展方法。 I2C總線的兩根線(串行數(shù)據(jù) SDA,串行 時鐘 SCL)連接到總線上的任何一個器 件,每個器件都應(yīng)有一個唯一的地址, 而且都可以作為一個發(fā)送器或接收器。 此外,器件在執(zhí)行數(shù)據(jù)傳輸時也可以被 看作是主機或者從機。 I2C總線規(guī)范 傳輸協(xié)議 主機發(fā)送數(shù)據(jù)到從機 主機 從機 主機發(fā)送起始信號,開始數(shù)據(jù)傳輸 對從機進行尋址,同時 R/W = 0 發(fā)送應(yīng)答信號 發(fā)送 1字節(jié)數(shù)據(jù) 發(fā)送應(yīng)答信號 發(fā)送 1字節(jié)數(shù)據(jù) 發(fā)送停止信號,結(jié)束數(shù)據(jù)通信 I2C總線規(guī)范 傳輸協(xié)議 主機讀取從機數(shù)據(jù) 主機 從機 發(fā)送停止信號,結(jié)束數(shù)據(jù)通信 主機發(fā)送起始信號,開始數(shù)據(jù)傳輸 對從機進行尋址,

18、同時 R/W = 1 發(fā)送應(yīng)答信號 發(fā)送 1字節(jié)數(shù)據(jù) 發(fā)送應(yīng)答信號 發(fā)送 1字節(jié)數(shù)據(jù) 發(fā)送應(yīng)答信號 發(fā)送非應(yīng)答信號 復(fù)合格式 發(fā)送停止信號,結(jié)束數(shù)據(jù)通信 再次發(fā)送起始信號 對從機進行尋址,同時 R/W = 1 發(fā)送應(yīng)答信號 發(fā)送應(yīng)答信號 發(fā)送 1字節(jié)數(shù)據(jù) 發(fā)送應(yīng)答信號 發(fā)送非應(yīng)答信號 主機發(fā)送起始信號,開始數(shù)據(jù)傳輸 對從機進行尋址,同時 R/W = 0 發(fā)送 1字節(jié)數(shù)據(jù) 主機 從機 發(fā)送應(yīng)答信號 發(fā)送應(yīng)答信號 發(fā)送應(yīng)答信號 發(fā)送 1字節(jié)數(shù)據(jù) 發(fā)送 1字節(jié)數(shù)據(jù) UART簡介 UART: Universal Asynchronous Receiver/Transmitter, 通用異步接收 /發(fā)送

19、裝置, UART是一個并行輸入成為 串行輸出的芯片,通常集成在主板上,多數(shù)是 16550AFN芯片。因為計算機內(nèi)部采用并行數(shù)據(jù),不能 直接把數(shù)據(jù)發(fā)到 Modem,必須經(jīng)過 UART整理才能進 行異步傳輸,其過程為: CPU先把準(zhǔn)備寫入串行設(shè)備 的數(shù)據(jù)放到 UART的寄存器(臨時內(nèi)存塊)中,再通過 FIFO( First Input First Output,先入先出隊列)傳送 到串行設(shè)備,若是沒有 FIFO,信息將變得雜亂無章, 不可能傳送到 Modem。 應(yīng)用示例 LPC2000的 I/O電壓為 3.3V,連接時須注意電平 的匹配。 LPC2000 其它 通信設(shè)備 TxD0 RxD0 TxD

20、0 RxD0 與 PC機相連時,由于 PC機 串口是 RS232電平,所以 連接時需要使用 RS232轉(zhuǎn) 換器。 LPC2000 PC機串口 232 電平轉(zhuǎn)換 TxD0 RxD0 TxD0 RxD0 RxD1 RTS CTS DSR1 DTR1 TxD1 LPC2000 Modem TxD RxD DCD RI1 RTS CTS DSR1 DTR1 DCD1 RI1 RS232 電平轉(zhuǎn)換 當(dāng)使用 Modem接口時,需 要一個 RS232轉(zhuǎn)換器將信 號轉(zhuǎn)換為 RS232電平后, 才能與 Modem連接 。 4.16 看門狗 看門狗簡介 在嵌入式應(yīng)用中, CPU必須可靠工作,即使因為 某種原因進入

21、了一個錯誤狀態(tài),系統(tǒng)也應(yīng)該可以自動 恢復(fù)??撮T狗的用途就是使微控制器在進入錯誤狀態(tài) 后的一定時間內(nèi)復(fù)位。 其原理是在系統(tǒng)正常工作時,用戶程序每隔一段 時間執(zhí)行喂狗動作(一些寄存器的特定操作),如果 系統(tǒng)出錯,喂狗間隔超過看門狗溢出時間,那么看門 狗將會產(chǎn)生復(fù)位信號,使微控制器復(fù)位。 4.16 看門狗 看門狗簡介 看門狗分 硬件看門狗和軟件看門狗 。硬件看門狗是利 用一個定時器電路,其定時輸出連接到電路的復(fù)位端, 程序在一定時間范圍內(nèi)對定時器清零 (俗稱“喂狗” ), 因此程序正常工作時,定時器總不能溢出,也就不能 產(chǎn)生復(fù)位信號。如果程序出現(xiàn)故障,不在定時周期內(nèi) 復(fù)位看門狗,就使得看門狗定時器溢

22、出產(chǎn)生復(fù)位信號 并重啟系統(tǒng)。 4.17 脈寬調(diào)制器 PWM簡介 LPC2000的 PWM基于標(biāo)準(zhǔn)的定時器模塊,具有 定時器的所有特性,它是定時器匹配功能的擴展。 使用 PWM功能,可以在指定引腳輸出需要的波形。 輸出波形可分為兩類: 單邊沿輸出; 雙邊沿輸出。 5.1 最小系統(tǒng) 框圖 嵌入式控制器 時鐘系統(tǒng) 調(diào)試測試接口 復(fù)位及其 配置系統(tǒng) 存儲器系統(tǒng) 供電系統(tǒng) (電源 ) 可選,因為許多面向嵌入 式領(lǐng)域的微控制器內(nèi)部集 成了程序和數(shù)據(jù)存儲器 可選,但是在樣 品階段通常都會 設(shè)計這部分電路 C/OS-II程序設(shè)計基礎(chǔ) September,2007 ww w. zlg mcu .co m 任務(wù)設(shè)

23、計 | C/OS-II程序設(shè)計基礎(chǔ) 任務(wù)的分類 任務(wù) 單次執(zhí)行 類 事件觸發(fā) 類 周期執(zhí)行 類 按 照 執(zhí) 行 方 式 分 類 一般的操作系統(tǒng)都提供時間管理的函數(shù) , 最基本的就是延時函數(shù) , C/OS-II也不 例外 , C/OS-II所具有的時間管理函數(shù)見下表 。 C/OS-II具有簡單的動態(tài)內(nèi)存管理能力 。 C/OS-II的動態(tài)內(nèi)存管理函數(shù)見下表 。 任務(wù)管理函數(shù)是操作與任務(wù)相關(guān)功能的函數(shù) , 詳見下表 。 系統(tǒng)管理函數(shù)是一些與 C/OS-II內(nèi)核或功能相關(guān)的一些函數(shù),詳見下表。 C/OS-II的初始化函數(shù)有 2個: OSInit()和 OSStart(), 它們不能在任何任務(wù)和中斷 服

24、務(wù)程序中使用 , 僅在 main()函數(shù)中按照一定的規(guī)范被調(diào)用 , 其中 OSInit()函數(shù)初 始化 C/OS-II內(nèi)部變量 , OSStart()函數(shù)啟動多任務(wù)環(huán)境 。 C 把信號量等都稱為事件 , 管理它們的就是事件管理函數(shù) 。 C/OS-II V2.52 具有的事件有普通信號量 、 互斥信號量 、 事件標(biāo)志組 、 消息郵箱和消息隊列 , 這 些都是 C/OS-II用于同步與通訊的工具 , 本章后述的內(nèi)容將會詳細介紹 。 系統(tǒng)函數(shù)概述 | C/OS-II程序設(shè)計基礎(chǔ) 系統(tǒng)函數(shù)的分類 初始化 任務(wù)管理 時間管理 內(nèi)存管理 根 據(jù) 功 能 分 類 事件管理 函數(shù)名 功能 備注 OSStatI

25、nit() 使能任務(wù)統(tǒng)計功能 復(fù)位一次只能調(diào)用一次,并且必須在任務(wù)中調(diào)用,在調(diào)用時其它用戶任務(wù)不能處于就緒狀態(tài) OSIntEnter() 進入中斷處理 必須由中斷服務(wù)程序按照規(guī)范調(diào)用,使用本公司的模版 就不需要調(diào)用它們 OSIntExit() 退出中斷處理 OSSchedLock() 鎖調(diào)度器 必須配對使用,一般情況不需要使用。事實上, C/OS-II不推薦使用它們 OSSchedUnlock() 解鎖調(diào)度器 OS_ENTER_CRITICAL() 進入臨界區(qū) 必須配對使用,一般通過禁止中斷和允許中斷來實現(xiàn)的。 對于一些移植代碼來說,不能嵌套調(diào)用 OS_EXIT_CRITICAL() 退出臨界

26、區(qū) 函數(shù)名 功能 函數(shù)名 功能 OSTaskChangePrio() 改變?nèi)蝿?wù)優(yōu)先級 OSTaskSuspend() 掛起任務(wù) OSTaskCreate() 建立任務(wù) OSTaskResume() 恢復(fù)任務(wù) OSTaskCreateExt() 建立任務(wù),比 OSTaskCreate() 控制任務(wù)屬性更多 OSTaskStkChk() 檢查堆棧 OSTaskDel() 刪除任務(wù) OSTaskQuery() 獲得任務(wù)信息 OSTaskDelReq() 請求刪除任務(wù),有特殊用途 系統(tǒng)管理 函數(shù)名 功能 備注 OSTimeDly() 以時鐘節(jié)拍為單位延時 OSTimeDlyHMSM() 以鐘時分秒毫秒

27、為單位延時 OSTimeDlyResume() 恢復(fù)延時的任務(wù) OSTimeDlyHMSM()可能需要多次才能恢復(fù) OSTimeGet() 獲得系統(tǒng)時間 以時鐘節(jié)拍為單位 OSTimeSet() 設(shè)置系統(tǒng)時間 以時鐘節(jié)拍為單位 OSTimeTick() 時鐘節(jié)拍處理函數(shù) 由時鐘節(jié)拍中斷處理程序調(diào)用,用戶很少使用 函數(shù)名 功能 OSMemCreate() 初始化一個堆 OSMemGet() 從指定堆中獲得一個內(nèi)存塊 OSMemPut() 從指定堆中釋放一個內(nèi)存塊 OSMemQuery() 查詢指定堆的狀態(tài) C/OS-II程序設(shè)計基礎(chǔ) 互斥信號量 簡介 資源同步 函數(shù)列表 1 2 3 互斥信號量

28、| C/OS-II程序設(shè)計基礎(chǔ) 簡介 互斥信號量也稱為 mutex, 專用于資源同步 。 互斥信號量具有一些特 性:占用一個空閑優(yōu)先級 , 以便解決優(yōu)先級反轉(zhuǎn)問題 。 在日常生活中 , 出租車是一種常用的共享資源 , 當(dāng)出租車載客 時 , 從外面可以看到標(biāo)識為載客;當(dāng)空閑時 , 標(biāo)識為空車 。 這樣 等車的人就可以根據(jù)標(biāo)識知道出租車的當(dāng)前狀態(tài) , 判斷是否能夠 座上這輛車 。 這個標(biāo)識牌就是一個二值信號量 。 由于這種二值信 號量可以實現(xiàn)對共享資源的獨占式處理 , 所以叫做互斥信號量 。 載客 空車 二值信號量 可以實現(xiàn)對共享資源 的獨占式處理 互斥信號量 互斥信號量 | C/OS-II程序設(shè)

29、計基礎(chǔ) 簡介 優(yōu) 先 級 列 表 任務(wù) 1 任務(wù) 2 任務(wù) 3 高 低 共享資源 假設(shè)任務(wù) 1和任務(wù) 3共享一個資源 , 任務(wù) 2為優(yōu)先級介于任務(wù) 1 和任務(wù) 3之間的一個與該共享資源無關(guān)任務(wù) , 分析優(yōu)先級反轉(zhuǎn)問 題 。 任務(wù) 2優(yōu)先級高于任務(wù) 3而進入運行狀態(tài) 任務(wù) 1申請共享資源而處于等待狀態(tài) 此時 , 雖然任務(wù) 1比任務(wù) 2優(yōu)先級更高 , 但卻在任務(wù) 2之后運行 , 這種現(xiàn)象就是優(yōu)先級 反轉(zhuǎn) 。 任務(wù) 3得到共享資源而處于運行狀態(tài) 互斥信號量 | C/OS-II程序設(shè)計基礎(chǔ) 簡介 綜上所述,可以說能防止優(yōu)先級反轉(zhuǎn)現(xiàn)象的信號就是互斥信號 量。 優(yōu) 先 級 列 表 互斥信號量 任務(wù) 1 任務(wù) 2 任務(wù) 3 高 低 互斥信號量 任務(wù) 3 互斥信號量 假設(shè)任務(wù) 1和任務(wù) 3共享一個資源 , 使用互斥信號量進行資源同 步 , 任務(wù) 2為優(yōu)先級介于任務(wù) 1和任務(wù) 3之間的一個與該共享資源無 關(guān)任務(wù) , 通過互斥信號量解決優(yōu)先級反轉(zhuǎn)問題 。 任務(wù) 2優(yōu)先級不夠高無法獲得 CPU 任務(wù) 1申請互斥信號量而處于等待狀態(tài) 此時 , 任務(wù) 2無法在任務(wù) 1之前得到運行 , 不發(fā)生優(yōu)先級反轉(zhuǎn) 互斥信號量 任務(wù) 1 任務(wù) 3獲得 CPU, 且優(yōu)先級升到互斥信號量優(yōu)先級 1獲得 , 且優(yōu)先級升到互斥信號量優(yōu)先級 祝大家考試順利!

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!