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

正文內(nèi)容

arm體系結(jié)構(gòu)與編程-第六章-展示頁(yè)

2025-03-15 12:58本頁(yè)面
  

【正文】 可以管理多達(dá) 64個(gè)任務(wù),其優(yōu)先級(jí)可以從 0開(kāi)始,優(yōu)先級(jí)號(hào)越低,其任務(wù)的優(yōu)先級(jí)就越高。故返回參數(shù)必須定義成 void,例如: Void YoμrTask(void *pdata) { for(;; ){ / *用戶代碼 */ / *調(diào)用 181。C/ OSⅡ 中,一個(gè)任務(wù)通常是一個(gè)無(wú)限的循環(huán)。C/ OSⅡ 其實(shí)只有一個(gè)內(nèi)核 , 提供任務(wù)調(diào)度 、 任務(wù)間的通信與同步 、 任務(wù)管理 、 時(shí)間管理和內(nèi)存管理等基本功能 。 11 181??梢哉f(shuō), 181。 11.穩(wěn)定性與可靠性, 2023年 7月, 181。 10.中斷管理,中斷可使正在執(zhí)行的任務(wù)暫時(shí)掛起,如果優(yōu)先級(jí)更高的任務(wù)被中斷喚醒,則高優(yōu)先級(jí)的任務(wù)在中斷嵌套全部退出后立即執(zhí)行。C/ OSⅡ 的??臻g校驗(yàn)函數(shù)可確定每個(gè)任務(wù)到底需要多少??臻g。C/ OSⅡ 的每個(gè)任務(wù)都有自己?jiǎn)为?dú)的棧和??臻g。C/ OSⅡ 的函數(shù)調(diào)用與服務(wù)的執(zhí)行時(shí)間。C/ OSⅡ 的函數(shù)調(diào)用和服務(wù)的執(zhí)行時(shí)間具有確定性。C/OSⅡ 不支持時(shí)間片輪轉(zhuǎn)調(diào)度法 (Roundrobin Scheduling)。這樣,留給用戶應(yīng)用程序的任務(wù)最多可有 56個(gè)。一般情況下,建議用戶保留 8個(gè)任務(wù)給 181。 6.多任務(wù), 181。 5.可剝奪型 (Preemptive), 181。C/ OSⅡ 可根據(jù)實(shí)際用戶的應(yīng)用需要使用條件編譯來(lái)完成對(duì)操作系統(tǒng)的裁剪,這樣就可以減少 181。C/ OSⅡ 嵌入到產(chǎn)品中去,從而成為產(chǎn)品的一部分。C/ OSⅡ 系統(tǒng)的特點(diǎn) 9 3.可固化 (ROMable), 181。C/ OSⅡ 版,應(yīng)用的實(shí)例也進(jìn)一步說(shuō)明了該內(nèi)核的實(shí)用性和可靠性。從早期使用的 181。 ? 181。C/OSⅡ 不僅使用戶得到廉價(jià)的解決方案,而且由于 181。其中包含全部功能的核心部分代碼占用 KB,全部的源代碼約 5500行,結(jié)構(gòu)合理、清晰易懂,且注解詳盡,非常適合初學(xué)者進(jìn)行學(xué)習(xí)分析。C/OSII的各種商業(yè)應(yīng)用 ? 全世界有數(shù)百種產(chǎn)品在應(yīng)用 : – Avionics(航空電子設(shè)備) – Medical – Cell phones – Routers and switches – Highend audio equipment – Washing machines and dryers – UPS (uninterruptible Power Supplies) – Industrial controllers – GPS Navigation Systems – Microwave Radios – Instrumentation – Pointofsale terminals – 更多 7 ? 181。C/OSII圖籍 ? 描述了 181。很多高等院校將 μC/OS 用于實(shí)時(shí)系統(tǒng)教學(xué)。1 ? ? ? 第六章 μC/OS II程序設(shè)計(jì)基礎(chǔ) 2 RTOS在嵌入式系統(tǒng)中的位置 嵌入式硬件平臺(tái) BSP KERNEL FS TCP/IP 設(shè)備驅(qū)動(dòng) 設(shè)備 I/O 調(diào)試工具 其它組件 應(yīng)用 RTOS C/C++ 3 ?C/OS簡(jiǎn)介 4 ? μC/OS II意為“微控制器操作系統(tǒng)版本 2”。世界上已有數(shù)千人在各個(gè)領(lǐng)域使用 μC/OS ,例如,照相機(jī)行業(yè)、醫(yī)療器械、音響設(shè)施、發(fā)動(dòng)機(jī)控制、網(wǎng)絡(luò)設(shè)備、高速公路電話系統(tǒng)、自動(dòng)提款機(jī)、工業(yè)機(jī)器人等等。 5 181。C/OSII內(nèi)部的工作原理 ? 隨書(shū)的 CD中包含了源代碼 – 工業(yè)界最清晰的源代碼 ? 除英文版外,有中文和韓文版 Chinese Korean English ISBN 1578201039 美國(guó) CMP BOOK ISBN 7810772902 北京航空航天大學(xué)出版社 ISBN 8995154055 6 181。C/ OSⅡ 是一個(gè)免費(fèi)的、源代碼公開(kāi)的實(shí)時(shí)嵌入式內(nèi)核,其內(nèi)核提供了實(shí)時(shí)系統(tǒng)所需要的一些基本功能。 181。C/ OSⅡ 的開(kāi)放源代碼特性,還使用戶可針對(duì)自己的硬件優(yōu)化代碼,獲得更好的性能。C/ OSⅡ 是在 PC機(jī)上開(kāi)發(fā)的, C編輯器使用的是 Borland C/C++。COS到現(xiàn)在的 181。 ?C/OSII系統(tǒng)的特點(diǎn)及結(jié)構(gòu) 8 181。C/ OSⅡ 是為嵌入式應(yīng)用而設(shè)計(jì)的操作系統(tǒng),只要具備有合適的軟硬件工具,就可將 181。 4.可裁剪 (Scalable), 181。C/ OSⅡ?qū)Υa空間和數(shù)據(jù)空間的占用。C/ OSⅡ 是完全可剝奪型的實(shí)時(shí)內(nèi)核,運(yùn)行就緒條件下優(yōu)先級(jí)最高的任務(wù)。C/ OSⅡ 可管理 64個(gè)任務(wù)。C/ OSⅡ 。系統(tǒng)賦給每個(gè)任務(wù)的優(yōu)先級(jí)必須不同,這意味著 181。 7.可確定性,絕大多數(shù) 181。在任何時(shí)候用戶都能知道 181。 10 8.任務(wù)棧, 181。使用 181。 9.系統(tǒng)服務(wù),提供了例如信號(hào)量、互斥信號(hào)量、消息郵箱、事件標(biāo)志、數(shù)據(jù)隊(duì)列、塊大小固定的內(nèi)存的申請(qǐng)與釋放及時(shí)間管理函數(shù)等。中斷嵌套層數(shù)可達(dá) 255層。C/ OSⅡ 在一個(gè)航空項(xiàng)目中得到了美國(guó)聯(lián)邦航空管理局對(duì)商用飛機(jī)的符合 RTCA DO178B標(biāo)準(zhǔn)的認(rèn)證。C/ OSⅡ 的每一種功能、每一個(gè)函數(shù)及每一行代碼都經(jīng)過(guò)了考驗(yàn)與測(cè)試。C/ OSⅡ 系統(tǒng)的內(nèi)核結(jié)構(gòu) 與其他操作系統(tǒng)不同 , 181。 1) 任務(wù) 在 181。一個(gè)任務(wù)看起來(lái)像其他 c語(yǔ)言的函數(shù)一樣,有函數(shù)返回類型,有形式參數(shù)變量,但任務(wù)是決不會(huì)返回的。C/ OSII的某種系統(tǒng)服務(wù): */ / *用戶代碼 */ } } 12 2) 任務(wù)調(diào)度 181。但目前版本的 181。 OS_LOWEST_PRIO是作為常數(shù)在 define constant來(lái)定義的。 181。目前版本的 181。優(yōu)先級(jí)號(hào) (或任務(wù)的 ID號(hào) )也可以被一些內(nèi)核服務(wù)函數(shù)調(diào)用,比如改變優(yōu)先級(jí)函數(shù) OSTaskChangePrio()或者OSTaskDel()。C/ OSII能管理用戶任務(wù),用戶必須在建立一個(gè)任務(wù)的時(shí)候,將任務(wù)的起始地址與其他參數(shù)一起傳給 OSTaskCreate()或者 OSTaskCreateExt()這兩個(gè)函數(shù)中的任何一個(gè)函數(shù)。該函數(shù)只能在啟動(dòng)時(shí)調(diào)用一次 ? OSStart()運(yùn)行用戶初始化代碼中已經(jīng)建立的、進(jìn)入就緒態(tài)的優(yōu)先級(jí)最高的任務(wù) 17 等待狀態(tài)( task waiting) ? 正在運(yùn)行的任務(wù)可以通過(guò)下面的調(diào)用進(jìn)入等待狀態(tài)。 – OSTimeDly() – OSTimeDlyHMSM() ? 等待時(shí)間過(guò)去后,系統(tǒng)服務(wù)(內(nèi)部)函數(shù)OSTimeTick()使延遲了的任務(wù)進(jìn)入就緒態(tài) ? 用戶無(wú)需在應(yīng)用程序代碼中調(diào)用這個(gè)函數(shù) 18 等待狀態(tài)(續(xù)) ? 正在運(yùn)行的任務(wù)可能需要通過(guò)調(diào)用函數(shù)等待某一事件發(fā)生。被中斷的任務(wù)便進(jìn)入了中斷服務(wù)態(tài) ? 響應(yīng)中斷后,正在運(yùn)行的任務(wù)被掛起,中斷服務(wù)子程序控制了 CPu的使用權(quán) 20 中斷服務(wù)態(tài)( ISR running) ? 中斷服務(wù)子程序可能會(huì)報(bào)告一個(gè)或多個(gè)事件的發(fā)生,而使一個(gè)或多個(gè)任務(wù)進(jìn)入就緒態(tài) ? 上述情況下,從中斷服務(wù)子程序返回之前, ?C/OS –II 要判定: – 被中斷的任務(wù)是否還是就緒態(tài)任務(wù)中優(yōu)先級(jí)最高的 – 如果中斷服務(wù)子程序使另一個(gè)優(yōu)先級(jí)更高的任務(wù)進(jìn)入了就緒態(tài),則新進(jìn)入就緒態(tài)的這個(gè)優(yōu)先級(jí)更高的任務(wù)將得以運(yùn)行;否則,原來(lái)被中斷了的任務(wù)將繼續(xù)運(yùn)行。 為了消除多次動(dòng)態(tài)分配與釋放內(nèi)存所引起的內(nèi)存碎片和分配 、 釋放函數(shù)執(zhí)行時(shí)間的不確定性的現(xiàn)象 , 181。每個(gè)分區(qū)中都包含若干個(gè)存儲(chǔ)容量大小相同的內(nèi)存塊 , 但不同分區(qū)之間的內(nèi)存塊容量大小是可以不同的 。 在釋放內(nèi)存時(shí) , 將該塊放回它以前所屬的分區(qū) 。而且每次調(diào)用 malloc()和 free()分配和釋放的都是整數(shù)倍的固定內(nèi)存塊長(zhǎng) , 這樣執(zhí)行時(shí)間就是確定的了 。C/ OSII中使用內(nèi)存控制塊 (Memory Control Blocks)的數(shù)據(jù)結(jié)構(gòu)跟蹤每一個(gè)內(nèi)存分區(qū)系統(tǒng),每個(gè)分區(qū)都有屬于自己的內(nèi)存控制塊,系統(tǒng)是通過(guò)內(nèi)存控制塊數(shù)據(jù)結(jié)構(gòu) OS_MEM來(lái)管理內(nèi)存的。 該函數(shù)共有 4個(gè)參數(shù):內(nèi)存分區(qū)的起始地址 、 分區(qū)內(nèi)的內(nèi)存塊數(shù) 、 每個(gè)內(nèi)存塊的字節(jié)數(shù)和一個(gè)指向錯(cuò)誤信息代碼的指針 。 當(dāng)調(diào)度某任務(wù)執(zhí)行時(shí) , 必須先從已建立的內(nèi)存分區(qū)中為該任務(wù)申請(qǐng)一個(gè)內(nèi)存塊 。 當(dāng)某一任務(wù)不再使用一個(gè)內(nèi)存塊時(shí) ,必須及時(shí)地把它放回到相應(yīng)的內(nèi)存分區(qū)中 , 以便下一次的分配操作 。 如查詢某內(nèi)存分區(qū)中內(nèi)存塊的大小 、 可用內(nèi)存塊數(shù)和正在使用的內(nèi)存塊數(shù)等信息 。C/ OSⅡ 要求提供定時(shí)中斷 , 以實(shí)現(xiàn)延時(shí)與超時(shí)控制等功能 。 時(shí)鐘節(jié)拍函數(shù)的作用是用于通知 181。 ① 任務(wù)延時(shí)函數(shù) OSTimeDIy() 調(diào)用該函數(shù)會(huì)使 181。 任務(wù)調(diào)用 OSTimeDly()后 , 一旦規(guī)定的時(shí)間期滿或者有其他任務(wù)通過(guò)調(diào)用 OSTimeDlyResume()取消了延時(shí) , 它就會(huì)立即進(jìn)入就緒狀態(tài) 。 ② 恢復(fù)延時(shí)的任務(wù)函數(shù) OSTimeDlyResume() 181。 具體方法是通過(guò)調(diào)用 OSTimeDlyResume()和指定要恢復(fù)的任務(wù)的優(yōu)先級(jí)的方式 , 這樣延時(shí)的任務(wù)就可以不用等待延時(shí)期滿 , 而是通過(guò)其他任務(wù)取消延時(shí)來(lái)使自己處于就緒態(tài) 。 26 ③ 按時(shí) 、 分 、 秒 、 毫秒延時(shí)函數(shù) OSTimeDlyHMSM() OSTimeDly()是一個(gè)非常有用的函數(shù) , 但用戶的應(yīng)用程序須要知道延時(shí)時(shí)間所對(duì)應(yīng)的時(shí)鐘節(jié)拍的數(shù)目 。 與 OSTimeDly()一樣 , 調(diào)用OSTimeDIyHMSM()函數(shù)也會(huì)使 181。 任務(wù)調(diào)用 OSTimeDlyHMSM()后 , 一旦規(guī)定的時(shí)間期滿或有其他任務(wù)通過(guò)調(diào)用 OSTimeDlyResμme() 取消了延時(shí) , 它就會(huì)立即處于就緒態(tài) 。 ④ 系統(tǒng)時(shí)間函數(shù) OSTimeGet()和 OSTimeSet() 無(wú)論時(shí)鐘節(jié)拍何時(shí)發(fā)生 , 181。 這個(gè)計(jì)數(shù)器在調(diào)用 OSStart()初始化多任務(wù)和 4294967295個(gè)節(jié)拍執(zhí)行完一遍后 , 從 0開(kāi)始計(jì)數(shù) 。 在執(zhí)行的過(guò)程中可以通過(guò)調(diào)用 OSTimeGet()函數(shù)來(lái)獲得該計(jì)數(shù)器的當(dāng)前值 , 也可以通過(guò)調(diào)用 OSTimeSet()函數(shù)來(lái)改變?cè)撚?jì)數(shù)器的值 。C/ OSII提過(guò)大量的 API函數(shù)實(shí)現(xiàn)對(duì)任務(wù)的管理,主要的任務(wù)有: ( 1)建立任務(wù) 181。通過(guò)將任務(wù)的地址和其他參數(shù)傳遞給以下兩個(gè)函數(shù)來(lái)建立任務(wù)。在 main()函數(shù)內(nèi)開(kāi)始多任務(wù)調(diào)度( OSStart()前,必須至少建立一個(gè)任務(wù),而且任務(wù)不能由中斷服務(wù)程序( ISR)建立。還有使剛創(chuàng)建的任務(wù)進(jìn)入就緒狀態(tài),并引發(fā)一次任務(wù)調(diào)度(取決于任務(wù)是否處于多多任務(wù)工作狀態(tài))。 /
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1