freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ucos2嵌入式實(shí)時(shí)操作系統(tǒng)-閱讀頁

2025-06-04 00:56本頁面
  

【正文】 Slide 82 ?C/OS簡介 ? ?C/OS Micro Controller OS, 微控制器操作系統(tǒng) 。 ? 應(yīng)用面覆蓋了諸多領(lǐng)域 , 如照相機(jī) 、 醫(yī)療器械、 音響設(shè)備 、 發(fā)動機(jī)控制 、 高速公路電話系統(tǒng)、 自動提款機(jī)等 。 ? 可移植性 ( Portable) 絕大部分是用移植性很強(qiáng)的 ANSI C寫的 ,與微處理器硬件相關(guān)的部分是用匯編語言寫的 。 ?C/OSⅡ 可以在絕大多數(shù) 8位 、 16位 、 32位以至 64位微處理器 、 微控制器 、 數(shù)字信號處理器( DSP) 上運(yùn)行 。 A Free sample background from Slide 85 ? 可裁剪 ( Scalable) 可以只使用 ?C/OSⅡ 中應(yīng)用程序需要的系統(tǒng)服務(wù) 。 可剪裁性是靠條件編譯實(shí)現(xiàn)的 。 A Free sample background from Slide 86 ? 多任務(wù) ?C/OSⅡ 可以管理 64個(gè)任務(wù) , 然而 , 目前這一版本保留 8個(gè)給系統(tǒng) 。 ? 可確定性 全部 ?C/OSⅡ 的函數(shù)調(diào)用與服務(wù)的執(zhí)行時(shí)間具有可確定性 。 ?C/OSⅡ 允許每個(gè)任務(wù)有不同的??臻g , 以便壓低應(yīng)用程序?qū)AM的需求 。 ? 中斷管理 中斷可以使正在執(zhí)行的任務(wù)暫時(shí)掛起 , 如果優(yōu)先級更高的任務(wù)被該中斷喚醒 , 則高優(yōu)先級的任務(wù)在中斷嵌套全部退出后立即執(zhí)行 , 中斷嵌套層數(shù)可達(dá) 255層 。 A Free sample background from Slide 88 181。C/GUI 嵌入式用戶界面 ? 用 ANSI C書寫; ? 支持任何 1 32bits CPU; ? 彩色 , 灰度 , 等級或黑白顯示; ? 代碼尺寸小 。C/FS 嵌入式文件系統(tǒng) ? 用 ANSI C書寫; ? 支持任何 1 32bits CPU; ? 支持 SMC, MMC, SD, CF, IDE, Flash, RAM其他介質(zhì) 。C/OSⅡ 的各種商業(yè)應(yīng)用 A Free sample background from Slide 91 1 3 2 5 4 7 6 嵌入式 實(shí)時(shí)操作系統(tǒng) 概念 ?C/OSⅡ 簡介 ?C/OSⅡ 時(shí)間管理 ?C/OSⅡ 內(nèi)核結(jié)構(gòu) ?C/OSⅡ 任務(wù)管理 ?C/OSⅡ 任務(wù)通信與同步 ?C/OSⅡ 移植 A Free sample background from Slide 92 ?C/OSⅡ 的文件結(jié)構(gòu) μC/0S_Ⅱ ( 與處理器無關(guān)的代碼) μ C/0S_Ⅱ 設(shè)置 (與應(yīng)用相關(guān)的代碼 ) μ C/0S_Ⅱ 移植 (與處理器相關(guān)的代碼) 軟件 硬件 CPU 時(shí)鐘 應(yīng)用程序軟件 uCOS_Ⅱ.C uCOS_Ⅱ.H A Free sample background from Slide 93 臨界段( Critical Sections) ? μC/OS Ⅱ 為了處理臨界段代碼須關(guān)中斷 , 處理完畢后再開中斷 。 關(guān)中斷的時(shí)間是實(shí)時(shí)內(nèi)核開發(fā)商應(yīng)提供的最重要的指標(biāo)之一 , 因?yàn)檫@個(gè)指標(biāo)影響用戶系統(tǒng)對實(shí)時(shí)事件的響應(yīng)性 。 A Free sample background from Slide 94 ? μC/OS Ⅱ 定義兩個(gè)宏 (macros)來關(guān)中斷和開中 斷 。 ? OS_CRITICAL_METHOD== 2 在堆棧中保存中斷的開 /關(guān)狀態(tài) , 然后再關(guān)中斷 。 ? OS_ENTER_CRITICAL( )和 OS_EXIT_CRITICAL( )可用 三種不同的方法來實(shí)現(xiàn)。 用定義(# define) 常數(shù) OS_CRITICAL_METHOD可 以選擇具體使用那種方法。 ? OS_CRITICAL_METHOD== 3 將能得到的當(dāng)前處理器的狀態(tài)字的值(一些編譯器)保存在 C的局部變量中。 開、關(guān)中斷各需一個(gè)局部變量。 /* μC/OS Ⅱ 臨界代碼段 */ OS_EXIT_CRITICAL( )。 ? 普通使用規(guī)則 ,調(diào)用 μC/OS Ⅱ 功能函數(shù)時(shí) ,中 斷總應(yīng)是開著的。 任務(wù)看起來像其它 C的函數(shù)一樣 , 有函數(shù)返回類型 , 有形式參數(shù)變量, 但是任務(wù)是絕不會返回的 。 ? 任務(wù)的兩種結(jié)構(gòu) ? 第一種形式:執(zhí)行無限循環(huán)的任務(wù) ? 第二種形式:任務(wù)完成后就自我刪除 A Free sample background from Slide 100 void YourTask (void *pdata) (1) { for (。 OSMboxPend()。 OSQPend()。 OSTaskDel(OS_PRIO_SELF)。 OSTimeDly()。 /* 用戶代碼 */ } } ? 第一種形式:執(zhí)行無限循環(huán)的任務(wù) A Free sample background from Slide 101 ? 第二種形式:任務(wù)完成后就自我刪除 void YourTask (void *pdata) { /* 用戶代碼 */ OSTaskDel(OS_PRIO_SELF)。不同點(diǎn):對于第二種形式,當(dāng)任務(wù)完成后,任務(wù)可以自我刪除。 ? 形式參數(shù)變量是由用戶代碼在第一次執(zhí)行的時(shí)候帶入的 。 這是為了允許用戶應(yīng)用程序傳遞任何類型的數(shù)據(jù)給任務(wù) 。 ? 就緒態(tài) ( Ready) 當(dāng)任務(wù)一旦建立,這個(gè)任務(wù)就進(jìn)入就緒態(tài)準(zhǔn)備運(yùn)行。 A Free sample background from Slide 105 ? 運(yùn)行態(tài)( Running) 準(zhǔn)備就緒的最高優(yōu)先級的任務(wù)獲得 CPU的控制權(quán),從而處在運(yùn)行態(tài)。任何時(shí)候只有一個(gè)任務(wù)處于運(yùn)行態(tài)。 ? 等待或掛起態(tài)( Pending) 正在運(yùn)行的任務(wù)由于調(diào)用延時(shí)函數(shù) OSTimeDly() 或等待事件信號量的來臨而將自身掛起,因而處于等待或掛起態(tài)。 A Free sample background from Slide 106 ? 中斷態(tài)( Interrupt) 正在運(yùn)行的任務(wù)可以被中斷。被中斷了任務(wù)進(jìn)入中斷服務(wù)態(tài)( ISR)。 A Free sample background from Slide 107 任務(wù)控制塊( OS_TCB ) ? 任務(wù)控制塊 OS_TCB是一個(gè)數(shù)據(jù)結(jié)構(gòu),保存該任務(wù)的相關(guān)參數(shù),包括任務(wù)堆棧指針、狀態(tài)、優(yōu)先級、任務(wù)表位置、任務(wù)鏈表指針等。 ? 一旦任務(wù)建立,一個(gè)任務(wù)控制塊 OS_TCB就被賦值 ,程序清單如下: A Free sample background from Slide 108 typedef struct os_tcb { OS_STK *OSTCBStkPtr。 OS_STK *OSTCBStkBottom。 INT16U OSTCBOpt。 endif struct os_tcb *OSTCBNext。 if (OS_Q_EN 0 amp。 (OS_MAX_QS 0)) || (OS_MBOX_EN 0) || (OS_SEM_EN 0) || (OS_MUTEX_EN 0) OS_EVENT *OSTCBEventPtr。amp。 endif if (OS_VERSION =251)amp。 (OS_FLAG_EN 0) amp。 (OS_MAX_FLAGS 0) if OS_TASK_DEL_EN 0 OS_FLAG_NODE *OSTCBFlagNode。 endif A Free sample background from Slide 110 INT16U OSTCBDly。 INT8U OSTCBPrio。 INT8U OSTCBY。 INT8U OSTCBBitY。 endif } OS_TCB。 OSTCBBitY = OSMapTbl[priority 3]。 0x07。 0x07]。 所有的任務(wù)控制塊都被放置在任務(wù)控制塊列表數(shù)組 OSTCBTbl[]中,系統(tǒng)初始化時(shí),所有任務(wù)控制塊被鏈接成空任務(wù)控制塊的單向鏈表,任務(wù)建立后,空任務(wù)控制塊指針 OSTCBFreeList指向的任務(wù)控制塊就賦給了該任務(wù),然后OSTCBFreeList的值調(diào)整為指向鏈表中的下一個(gè)空任務(wù)控制塊。 A Free sample background from Slide 113 L i s t o f f r e e O S _ T C B sO S T C BN e x t .O S T C BN e x t .O S T C BN e x t .O S T C BN e x t .O S T C B F r e e L i s tO S T C B T b l [ 0 ] O S T C B T b l [ 1 ]O S T C B T b l [ 2 ]0O S T C B T b l [ O S _ M A X _ T A S K + O S _ N _ S Y S _ T A S K 1 ]A Free sample background from Slide 114 ? 任務(wù)控制塊初始化 INT8U OS_TCBInit ( INT8U prio, OS_STK *ptos, OS_STK *pbos, INT16U id, INT32U stk_size, void *pext, INT16U opt ) { …… } A Free sample background from Slide 115 ? OS_TCBInit接收 7個(gè)參數(shù): ? prio 任務(wù)優(yōu)先級 , 保存在 OSTCBPrio中 。 ? pbos 指向棧底的指針 , 保存在 OSTCBStkBottom中 。 ? stk_size 棧的容量 , 保存在 OSTCBStkSize中 。 ? opt OS_TCB中的選擇項(xiàng) , 保存在 .OSTCBOpt中 。每個(gè)任務(wù)被賦予唯一的不同的優(yōu)先級 ,所以任務(wù)調(diào)度的工作就是:查找準(zhǔn)備就緒的最高優(yōu)先級的任務(wù)并進(jìn)行上下文切換。 當(dāng) μC/OS Ⅱ初始化的時(shí)候 , 最低優(yōu)先級 OS_LOWEST_PRIO總是被賦給空閑任務(wù) idle task。 ? 最多任務(wù)數(shù)目 OS_MAX_TASKS和最低優(yōu)先級數(shù)是沒有關(guān)系的 。 A Free sample background from Slide 118 7 6 5 4 3 2 1 07 6 5 4 3 2 1 01 5 1 4 1 3 1 2 1 1 1 0 9 82 3 2 2 2 1 2 0 1 9 1 8 1 7 1 63 1 3 0 2 9 2 8 2 7 2 6 2 5 2 43 9 3 8 3 7 3 6 3 5 3 4 3 3 3 24 7 4 6 4 5 4 4 4 3 4 2 4 1 4 05 5 5 4 5 3 5 2 5 1 5 0 4 9 4 86 3 6 2 6 1 6 0 5 9 5 8 5 7 5 6[ 0 ][ 1 ][ 2 ][ 3 ][ 4 ][ 5 ][ 6 ][ 7 ]O S R d y G r pO S R d y T b l [ O S _ L O W S E T _ P R I O / B + 1 ]XY最 高 優(yōu) 先 級 任 務(wù)最 低 優(yōu) 先 級 任 務(wù)( i d l e t a s k )任 務(wù) 優(yōu) 先 級 號0 0 Y Y Y X X X任 務(wù) 優(yōu) 先 級O S R d y T b l [ O S _ L O W S E T _ P R I O / B + 1 ] 中 的 位 置也 用 于 對 O S R d y T b l [ O S _ L O W S E T _ P R I O / B + 1 ] 的 索 引A Free sample background from Slide 119 ? 使任務(wù)進(jìn)入就緒態(tài) 根據(jù)任務(wù)的優(yōu)先級確定就緒表,即把任務(wù)在 就緒表中所對應(yīng)的位置置
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1