嵌入式系統(tǒng)總結(jié)_第1頁(yè)
嵌入式系統(tǒng)總結(jié)_第2頁(yè)
嵌入式系統(tǒng)總結(jié)_第3頁(yè)
嵌入式系統(tǒng)總結(jié)_第4頁(yè)
嵌入式系統(tǒng)總結(jié)_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

2、、軟件和OEM廠商,并提供服務(wù)。ARM兩大處理器狀態(tài)特點(diǎn)及其關(guān)系 ARM7TDMI處理器內(nèi)核包含2套指令系統(tǒng),分別為ARM指令集和Thumb指令,并且各自對(duì)應(yīng)1種處理器的狀態(tài):ARM狀態(tài):32位,處理器執(zhí)行字方式的ARM指令,處理器默認(rèn)為此狀態(tài);Thumb狀態(tài):16位,處理器執(zhí)行半字方式的Thumb指令。第3章 ARM7TDMI(-S)指令系統(tǒng)簡(jiǎn)介 ARM處理器是基于精簡(jiǎn)指令集計(jì)算機(jī)(RISC)原理設(shè)計(jì)的,指令集和相關(guān)譯碼機(jī)制較為簡(jiǎn)單。ARM7TDMI(-S)具有32位ARM指令集和16位Thumb指令集,ARM指令集效率高,但是代碼密度低;而Thumb指令集具有較高的代碼密度,卻仍然保持AR

3、M的大多數(shù)性能上的優(yōu)勢(shì),它是ARM指令集的子集。所有的ARM指令都是可以有條件執(zhí)行的,而Thumb指令僅有一條指令具備條件執(zhí)行功能。ARM程序和Thumb程序可相互調(diào)用,相互之間的狀態(tài)切換開(kāi)銷(xiāo)幾乎為零。 第3章 ARM7TDMI(-S)指令系統(tǒng)ARM指令集與Thumb指令集的關(guān)系Thumb指令集具有靈活、小巧的特點(diǎn)ARM指令集支持ARM核所有的特性,具有高效、快速的特點(diǎn)3.1 ARM處理器尋址方式尋址方式分類(lèi) 尋址方式是根據(jù)指令中給出的地址碼字段來(lái)實(shí)現(xiàn)尋找真實(shí)操作數(shù)地址的方式。ARM處理器具有8種基本尋址方式。1.寄存器尋址;2.立即尋址;3.寄存器移位尋址;4.寄存器間接尋址;5.基址尋址;

4、6.多寄存器尋址;7.堆棧尋址;8.相對(duì)尋址。3.2 指令集常用指令的使用3.2 指令集介紹ARM存儲(chǔ)器訪問(wèn)指令單寄存器存取裝載指令:LDR 目標(biāo)寄存器,源地址存儲(chǔ)指令:STR 源寄存器,目標(biāo)地址存儲(chǔ)器源地址目標(biāo)寄存器存儲(chǔ)器目標(biāo)地址源寄存器 思考與練習(xí)?1.MOV指令與LDR指令都是往目標(biāo)寄存器中傳送數(shù)據(jù),但是它們有什么區(qū)別嗎? MOV指令用于將數(shù)據(jù)從一個(gè)寄存器傳送到另一個(gè)寄存器中,或者將一個(gè)常數(shù)傳送到一個(gè)寄存器中,但是不能訪問(wèn)內(nèi)存。LDR指令用于從內(nèi)存中讀取數(shù)據(jù)放入寄存器中。3.2 指令集介紹算術(shù)邏輯運(yùn)算指令 算術(shù)邏輯運(yùn)算指令包括“加/減”以及“與/或/異或”等指令,它們的格式如下:OpCo

5、de 結(jié)果寄存器,運(yùn)算寄存器,第二操作數(shù)運(yùn)算寄存器第二操作數(shù)運(yùn)算符結(jié)果寄存器系列簡(jiǎn)介2.引腳描述3.存儲(chǔ)器尋址4.系統(tǒng)控制模塊5.存儲(chǔ)器加速模塊 (MAM)6.外部存儲(chǔ)器控制器(EMC)7.引腳連接模塊第四章LPC2000系列ARM硬件結(jié)構(gòu)9.向量中斷控制器10.外部中斷輸入11.定時(shí)器0和定時(shí)器1接口2C接口14.UART(0、1)轉(zhuǎn)換器16.看門(mén)狗17.脈寬調(diào)制器(PWM)18.實(shí)時(shí)時(shí)鐘4.3.1 片內(nèi)存儲(chǔ)器片內(nèi)Flash編程方法1. 使用JTAG仿真/調(diào)試器,通過(guò)芯片的JTAG接口下載程序;2. 使用在系統(tǒng)編程技術(shù)(即ISP),通過(guò)UART0接口下載程序;3.使用在應(yīng)用編程技術(shù)(即IAP

6、),在用戶程序運(yùn)行時(shí)對(duì)Flash進(jìn)行擦除和/或編程操作,實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)和固件的現(xiàn)場(chǎng)升級(jí)。ARM7處理器核外設(shè)控制器RAMBootBlockFLASHJTAGUART0串口并口JTAGJTAGUART04.3.1 片內(nèi)存儲(chǔ)器片內(nèi)Flash編程方法2. 使用在系統(tǒng)編程技術(shù)(即ISP),通過(guò)UART0接口下載程序;3. 使用在應(yīng)用編程技術(shù)(即IAP),在用戶程序運(yùn)行時(shí)對(duì)Flash進(jìn)行擦除和/或編程操作,實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)和固件的現(xiàn)場(chǎng)升級(jí)。1. 使用JTAG仿真/調(diào)試器,通過(guò)芯片的JTAG接口下載程序;4.3.2 片外存儲(chǔ)器片外Flash編程方法 Flash的擦寫(xiě)操作需要配合一段符合Flash編程時(shí)序的代

7、碼,這段代碼稱(chēng)為裝載程序,一般由用戶編寫(xiě)。程序代碼(源)程序代碼(目標(biāo))Loader目標(biāo)板CPUBUSFlash串口 下載用戶代碼時(shí),首先得在CPU內(nèi)運(yùn)行裝載程序,通過(guò)它把從串口(或其它接口)接收的代碼寫(xiě)到片外Flash中。概述4.3.3 存儲(chǔ)器映射 ARM芯片可以存在片內(nèi)和片外存儲(chǔ)器,這些存儲(chǔ)器本身不具有地址信息,它們?cè)谛酒械牡刂肥怯尚酒瑥S家或用戶分配的,那么給物理存儲(chǔ)器分配邏輯地址的過(guò)程稱(chēng)為存儲(chǔ)器映射。通過(guò)這些邏輯地址就可以訪問(wèn)到相應(yīng)存儲(chǔ)器的物理存儲(chǔ)單元。4.3.5 存儲(chǔ)器重映射及引導(dǎo)塊存儲(chǔ)器重映射 將已經(jīng)過(guò)映射的存儲(chǔ)器再次映射的過(guò)程稱(chēng)為存儲(chǔ)器重映射,它使同一物理存儲(chǔ)單元出現(xiàn)多個(gè)不同的邏

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

9、系統(tǒng)結(jié)構(gòu) LPC2000系列微控制器的時(shí)鐘系統(tǒng)包括四個(gè)部分:晶體振蕩器、喚醒定時(shí)器、鎖相環(huán)(PLL)和VPB分頻器。外接晶體或外接時(shí)鐘源產(chǎn)生穩(wěn)定的時(shí)鐘信號(hào)將Fosc提升到合適的頻率PLL晶體振蕩器VPB分頻器FCCLKFPCLKfOSCFOSCCPU內(nèi)核芯片外設(shè)喚醒定時(shí)器ON/OFF1342 為系統(tǒng)提供基本的時(shí)鐘信號(hào)(Fosc) 。1 在復(fù)位或處理器從掉電模式被喚醒時(shí),為輸入的時(shí)鐘信號(hào)做計(jì)數(shù)延時(shí),使芯片內(nèi)部部件有時(shí)間進(jìn)行初始化。 2 把Fosc信號(hào)提高到一個(gè)符合用戶需要的頻率(Fcclk) 其中Fcclk用于CPU內(nèi)核。3 用于把Fcclk信號(hào)降低到一個(gè)合適的Fpclk值(也可以不降低),該信

10、號(hào)用于外設(shè)部件 。44.5 存儲(chǔ)器加速模塊(MAM)概述 LPC2000微控制器擴(kuò)展了器件內(nèi)部Flash總線寬度為128位,用于提高處理器的指令執(zhí)行速度。這個(gè)接口通過(guò)存儲(chǔ)器加速模塊(MAM)來(lái)控制。Flash組2Flash組1CPU 執(zhí)行指令取指階段 等待 指令提供指令1提供指令3.取指階段提供指令4取指階段 等待3 等待取指階段提供指令2取指階段 等待124關(guān)閉MAM指令執(zhí)行情況 從Flash組1中讀取指令,CPU處于等待狀態(tài)。1 CPU從1組指令緩存區(qū)中獲取指令并執(zhí)行。2 從Flash組2中讀取指令,CPU處于等待狀態(tài)。3 CPU從2組指令緩存區(qū)中獲取指令并執(zhí)行。4 所有存儲(chǔ)器操作請(qǐng)求都會(huì)

11、直接對(duì)Flash操作,由此產(chǎn)生了CPU停止,等待若干周期的情況。Flash組2Flash組1CPU 執(zhí)行指令開(kāi)啟MAM指令執(zhí)行情況.1413提供指令13141516取指階段1211109取指階段提供指令91011128765取指階段提供指令56784321提供指令12345678取指階段取指階段 等待 指令. 兩組指令緩存區(qū)中不存在指令,啟動(dòng)Flash存儲(chǔ)器指令讀取周期,CPU停止,等待若干周期。1 CPU執(zhí)行Flash組1指令緩存區(qū)中的指令。2 CPU執(zhí)行Flash組2指令緩存區(qū)中的指令,同時(shí)從Flash組1中讀取指令。3 只要指令存在兩個(gè)組的指令緩存區(qū)中,CPU的指令執(zhí)行是連續(xù)的,由此大大

12、提高了指令執(zhí)行效率。4.9 向量中斷控制器概述 ARM7TDMI內(nèi)核具有兩個(gè)中斷輸入,分別為IRQ中斷和FIQ中斷。向量中斷控制器(VIC)負(fù)責(zé)管理芯片的中斷源,最多可以管理32個(gè)中斷輸入請(qǐng)求。CPU 內(nèi)核ARM7TDMI-S4.9 向量中斷控制器FIQ中斷硬件處理流程將當(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異常事件說(shuō)明:ARM7不支持FIQ中斷嵌套4.9 向量中斷控制器IRQ中斷相應(yīng)流程將當(dāng)前的程序狀態(tài)寄存器的內(nèi)容

13、備份即,SPSR_irq = CPSR處理器切換到IRQ模式禁止IRQ中斷,即,I = 1保存返回地址LR_irq = PC設(shè)置IRQ異常入口地址PC = 0 x18發(fā)生IRQ異常事件說(shuō)明:ARM7不支持IRQ中斷嵌套4.10 外部中斷輸入概述LPC2000系列ARM具有4路外部中斷,可以設(shè)置為2種類(lèi)型: 邊沿觸發(fā): 上升沿觸發(fā) 下降沿觸發(fā) 電平觸發(fā): 高電平觸發(fā) 低電平觸發(fā)4.12 SPI接口(Serial Peripheral Interface-串行外設(shè)接口) SPI總線系統(tǒng)是一種同步串行外設(shè)接口,它可以使MCU與各種外圍設(shè)備以串行方式進(jìn)行通信以交換信息。外圍設(shè)置FLASHRAM、網(wǎng)絡(luò)控

14、制器、LCD顯示驅(qū)動(dòng)器、A/D轉(zhuǎn)換器和MCU等。SPI總線系統(tǒng)可直接與各個(gè)廠家生產(chǎn)的多種標(biāo)準(zhǔn)外圍器件直接接口,該接口一般使用4條線:串行時(shí)鐘線(SCK)、主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線MISO、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI和低電平有效的從機(jī)選擇線SS(有的SPI接口芯片帶有中斷信號(hào)線INT或INT、有的SPI接口芯片沒(méi)有主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI)。 SCLSDACPU ACPU BLCD驅(qū)動(dòng)器E2PROMADC4.13 I2C接口概述 I2C總線是Philips推出的串行傳輸總線,它以2根連線實(shí)現(xiàn)了完善的全雙工同步數(shù)據(jù)傳送,可以極方便地構(gòu)成多機(jī)系統(tǒng)和外圍器件擴(kuò)展系統(tǒng)。 I2C總線采用了器

15、件地址的硬件設(shè)置方法,通過(guò)軟件尋址完全避免了期間的片選線尋址方法,從而使硬件系統(tǒng)具有最簡(jiǎn)單而靈活的擴(kuò)展方法。I2C總線的兩根線(串行數(shù)據(jù)SDA,串行時(shí)鐘SCL)連接到總線上的任何一個(gè)器件,每個(gè)器件都應(yīng)有一個(gè)唯一的地址,而且都可以作為一個(gè)發(fā)送器或接收器。此外,器件在執(zhí)行數(shù)據(jù)傳輸時(shí)也可以被看作是主機(jī)或者從機(jī)。I2C總線規(guī)范傳輸協(xié)議主機(jī)發(fā)送數(shù)據(jù)到從機(jī) 主機(jī)從機(jī)主機(jī)發(fā)送起始信號(hào),開(kāi)始數(shù)據(jù)傳輸對(duì)從機(jī)進(jìn)行尋址,同時(shí)R/W = 0發(fā)送應(yīng)答信號(hào)發(fā)送1字節(jié)數(shù)據(jù)發(fā)送應(yīng)答信號(hào)發(fā)送1字節(jié)數(shù)據(jù)發(fā)送停止信號(hào),結(jié)束數(shù)據(jù)通信I2C總線規(guī)范傳輸協(xié)議主機(jī)讀取從機(jī)數(shù)據(jù)主機(jī)從機(jī)發(fā)送停止信號(hào),結(jié)束數(shù)據(jù)通信主機(jī)發(fā)送起始信號(hào),開(kāi)始數(shù)據(jù)傳輸

16、對(duì)從機(jī)進(jìn)行尋址,同時(shí)R/W = 1發(fā)送應(yīng)答信號(hào)發(fā)送1字節(jié)數(shù)據(jù)發(fā)送應(yīng)答信號(hào)發(fā)送1字節(jié)數(shù)據(jù)發(fā)送應(yīng)答信號(hào)發(fā)送非應(yīng)答信號(hào)復(fù)合格式發(fā)送停止信號(hào),結(jié)束數(shù)據(jù)通信再次發(fā)送起始信號(hào)對(duì)從機(jī)進(jìn)行尋址,同時(shí)R/W = 1發(fā)送應(yīng)答信號(hào)發(fā)送應(yīng)答信號(hào)發(fā)送1字節(jié)數(shù)據(jù)發(fā)送應(yīng)答信號(hào)發(fā)送非應(yīng)答信號(hào)主機(jī)發(fā)送起始信號(hào),開(kāi)始數(shù)據(jù)傳輸對(duì)從機(jī)進(jìn)行尋址,同時(shí)R/W = 0發(fā)送1字節(jié)數(shù)據(jù)主機(jī)從機(jī)發(fā)送應(yīng)答信號(hào)發(fā)送應(yīng)答信號(hào)發(fā)送應(yīng)答信號(hào)發(fā)送1字節(jié)數(shù)據(jù)發(fā)送1字節(jié)數(shù)據(jù)UART簡(jiǎn)介UART: Universal Asynchronous Receiver/Transmitter,通用異步接收/發(fā)送裝置,UART是一個(gè)并行輸入成為串行輸出的芯片,通常集成在主

17、板上,多數(shù)是16550AFN芯片。因?yàn)橛?jì)算機(jī)內(nèi)部采用并行數(shù)據(jù),不能直接把數(shù)據(jù)發(fā)到Modem,必須經(jīng)過(guò)UART整理才能進(jìn)行異步傳輸,其過(guò)程為:CPU先把準(zhǔn)備寫(xiě)入串行設(shè)備的數(shù)據(jù)放到UART的寄存器(臨時(shí)內(nèi)存塊)中,再通過(guò)FIFO(First Input First Output,先入先出隊(duì)列)傳送到串行設(shè)備,若是沒(méi)有FIFO,信息將變得雜亂無(wú)章,不可能傳送到Modem。應(yīng)用示例LPC2000的I/O電壓為3.3V,連接時(shí)須注意電平的匹配。LPC2000其它通信設(shè)備TxD0RxD0TxD0RxD0與PC機(jī)相連時(shí),由于PC機(jī)串口是RS232電平,所以連接時(shí)需要使用RS232轉(zhuǎn)換器。LPC2000PC機(jī)

18、串口232電平轉(zhuǎn)換TxD0RxD0TxD0RxD0RxD1RTSCTSDSR1DTR1TxD1LPC2000ModemTxDRxDDCDRI1RTSCTSDSR1DTR1DCD1RI1RS232電平轉(zhuǎn)換當(dāng)使用Modem接口時(shí),需要一個(gè)RS232轉(zhuǎn)換器將信號(hào)轉(zhuǎn)換為RS232電平后,才能與Modem連接 。4.16 看門(mén)狗看門(mén)狗簡(jiǎn)介 在嵌入式應(yīng)用中,CPU必須可靠工作,即使因?yàn)槟撤N原因進(jìn)入了一個(gè)錯(cuò)誤狀態(tài),系統(tǒng)也應(yīng)該可以自動(dòng)恢復(fù)。看門(mén)狗的用途就是使微控制器在進(jìn)入錯(cuò)誤狀態(tài)后的一定時(shí)間內(nèi)復(fù)位。 其原理是在系統(tǒng)正常工作時(shí),用戶程序每隔一段時(shí)間執(zhí)行喂狗動(dòng)作(一些寄存器的特定操作),如果系統(tǒng)出錯(cuò),喂狗間隔超過(guò)

19、看門(mén)狗溢出時(shí)間,那么看門(mén)狗將會(huì)產(chǎn)生復(fù)位信號(hào),使微控制器復(fù)位。4.16 看門(mén)狗看門(mén)狗簡(jiǎn)介看門(mén)狗分硬件看門(mén)狗和軟件看門(mén)狗。硬件看門(mén)狗是利用一個(gè)定時(shí)器電路,其定時(shí)輸出連接到電路的復(fù)位端,程序在一定時(shí)間范圍內(nèi)對(duì)定時(shí)器清零(俗稱(chēng)“喂狗”),因此程序正常工作時(shí),定時(shí)器總不能溢出,也就不能產(chǎn)生復(fù)位信號(hào)。如果程序出現(xiàn)故障,不在定時(shí)周期內(nèi)復(fù)位看門(mén)狗,就使得看門(mén)狗定時(shí)器溢出產(chǎn)生復(fù)位信號(hào)并重啟系統(tǒng)。4.17 脈寬調(diào)制器PWM簡(jiǎn)介 LPC2000的PWM基于標(biāo)準(zhǔn)的定時(shí)器模塊,具有定時(shí)器的所有特性,它是定時(shí)器匹配功能的擴(kuò)展。使用PWM功能,可以在指定引腳輸出需要的波形。輸出波形可分為兩類(lèi): 單邊沿輸出; 雙邊沿輸出。5

20、.1 最小系統(tǒng)框圖嵌入式控制器時(shí)鐘系統(tǒng)調(diào)試測(cè)試接口復(fù)位及其配置系統(tǒng)存儲(chǔ)器系統(tǒng)供電系統(tǒng)(電源)可選,因?yàn)樵S多面向嵌入式領(lǐng)域的微控制器內(nèi)部集成了程序和數(shù)據(jù)存儲(chǔ)器可選,但是在樣品階段通常都會(huì)設(shè)計(jì)這部分電路C/OS-II程序設(shè)計(jì)基礎(chǔ)September,2007任務(wù)設(shè)計(jì)| C/OS-II程序設(shè)計(jì)基礎(chǔ)任務(wù)的分類(lèi)任務(wù)單次執(zhí)行類(lèi)事件觸發(fā)類(lèi) 周期執(zhí)行類(lèi)按照?qǐng)?zhí)行方式分類(lèi)一般的操作系統(tǒng)都提供時(shí)間管理的函數(shù),最基本的就是延時(shí)函數(shù),C/OS-II也不例外,C/OS-II所具有的時(shí)間管理函數(shù)見(jiàn)下表。C/OS-II具有簡(jiǎn)單的動(dòng)態(tài)內(nèi)存管理能力。C/OS-II的動(dòng)態(tài)內(nèi)存管理函數(shù)見(jiàn)下表。任務(wù)管理函數(shù)是操作與任務(wù)相關(guān)功能的函數(shù),詳

21、見(jiàn)下表。系統(tǒng)管理函數(shù)是一些與C/OS-II內(nèi)核或功能相關(guān)的一些函數(shù),詳見(jiàn)下表。C/OS-II的初始化函數(shù)有2個(gè):OSInit()和OSStart(),它們不能在任何任務(wù)和中斷服務(wù)程序中使用,僅在main()函數(shù)中按照一定的規(guī)范被調(diào)用,其中OSInit()函數(shù)初始化C/OS-II內(nèi)部變量,OSStart()函數(shù)啟動(dòng)多任務(wù)環(huán)境。 C/OS-II把信號(hào)量等都稱(chēng)為事件,管理它們的就是事件管理函數(shù)。具有的事件有普通信號(hào)量、互斥信號(hào)量、事件標(biāo)志組、消息郵箱和消息隊(duì)列,這些都是C/OS-II用于同步與通訊的工具,本章后述的內(nèi)容將會(huì)詳細(xì)介紹。系統(tǒng)函數(shù)概述| C/OS-II程序設(shè)計(jì)基礎(chǔ)系統(tǒng)函數(shù)的分類(lèi)初始化任務(wù)管

22、理時(shí)間管理內(nèi)存管理根據(jù)功能分類(lèi)事件管理函數(shù)名功能備注OSStatInit()使能任務(wù)統(tǒng)計(jì)功能復(fù)位一次只能調(diào)用一次,并且必須在任務(wù)中調(diào)用,在調(diào)用時(shí)其它用戶任務(wù)不能處于就緒狀態(tài)OSIntEnter()進(jìn)入中斷處理必須由中斷服務(wù)程序按照規(guī)范調(diào)用,使用本公司的模版就不需要調(diào)用它們OSIntExit()退出中斷處理OSSchedLock()鎖調(diào)度器必須配對(duì)使用,一般情況不需要使用。事實(shí)上,C/OS-II不推薦使用它們OSSchedUnlock()解鎖調(diào)度器OS_ENTER_CRITICAL()進(jìn)入臨界區(qū)必須配對(duì)使用,一般通過(guò)禁止中斷和允許中斷來(lái)實(shí)現(xiàn)的。對(duì)于一些移植代碼來(lái)說(shuō),不能嵌套調(diào)用OS_EXIT_CRITICAL()退出臨界區(qū)函數(shù)名功能函數(shù)名功能OSTaskChangePrio()改變?nèi)蝿?wù)優(yōu)先級(jí)OSTaskSuspend()掛起任務(wù)OSTaskCreate()建立任務(wù)OSTaskResume()恢復(fù)任務(wù)OSTaskCreateExt()建立任務(wù),比OSTaskCreate()控制任務(wù)屬性更多OSTaskStkChk()檢查堆棧OSTaskDel()刪除任務(wù)OSTaskQuery()獲得任務(wù)信息OSTaskDelReq()請(qǐng)求刪除任務(wù),有特殊用途系統(tǒng)管理函數(shù)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論