


版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、什么是操作系統(tǒng)?它應(yīng)具備什么功能?治理電腦硬件與軟件資源的程序,同時(shí)也是計(jì)算機(jī)系統(tǒng)的內(nèi)核與基石. 1.2.操作系統(tǒng)是計(jì)算機(jī)資源的治理者,包括處理器治理、存儲(chǔ)器存儲(chǔ)空間治理、外部輸入輸出(I/O)設(shè)備治理、文件治理、網(wǎng)絡(luò)和通信治理、供給用戶(hù)接口。嵌入式操作系統(tǒng)與一般操作系統(tǒng)區(qū)分軟件固態(tài)化以及應(yīng)用的專(zhuān)用性等方面具有較為突出的特點(diǎn)什么是實(shí)時(shí)系統(tǒng)?對(duì)實(shí)時(shí)系統(tǒng)有什么要求?假設(shè)一個(gè)系統(tǒng)能準(zhǔn)時(shí)響應(yīng)外部大事的懇求,并能在規(guī)定的時(shí)間內(nèi)完成對(duì)大事的處理,這種系統(tǒng)稱(chēng)為實(shí)時(shí)系統(tǒng).2.實(shí)時(shí)系統(tǒng)的計(jì)算必需在預(yù)定的時(shí)間內(nèi)完成.稱(chēng)為時(shí)間正確.正在運(yùn)行進(jìn)程的處理器使用權(quán),而使自己獲得處理器使用權(quán)并得以運(yùn)行一個(gè)應(yīng)用程序?yàn)槭裁纯隙?/p>
2、要使用空閑任務(wù)CPU可作,供給空閑任務(wù)。空閑任務(wù)是不能被軟件刪除的統(tǒng)計(jì)任務(wù)是必需使用的嗎?簡(jiǎn)述它的功能用戶(hù)應(yīng)用程序可依據(jù)實(shí)際需要來(lái)選擇是否使用統(tǒng)計(jì)任務(wù)。每秒計(jì)算一次CPU 在單位時(shí)間內(nèi)被使用的時(shí)間,并把計(jì)算結(jié)果以百分比的形式存放在變量OSCPUsageCPU什么是任務(wù)的優(yōu)先權(quán)?UC/OS-II 是用什么來(lái)描述任務(wù)的優(yōu)先權(quán)的。cpuuC/OS-II一個(gè)任務(wù)都必需具有唯一的優(yōu)先級(jí)別,用來(lái)表示該任務(wù)在搶奪處理器時(shí)所具有的優(yōu)先權(quán)力,共有 64 個(gè)優(yōu)先級(jí)別,用數(shù)字“0”“63”表示,數(shù)字“0”所表示的優(yōu)先級(jí)最高在 UC/OS-II 中任務(wù)有哪 5 種狀態(tài)?分別簡(jiǎn)述 5 個(gè)狀態(tài)的特征:睡眠狀態(tài):任務(wù)只是以
3、代碼的形式駐留在內(nèi)存,還沒(méi)有交給操作系統(tǒng)治理.就緒狀態(tài):任務(wù)配備了任務(wù)把握塊且在任務(wù)就緒表中登記,具備了任務(wù)運(yùn)行的充分條件.運(yùn)行狀態(tài):處于就緒狀態(tài)的任務(wù)獲得了CPU 的使用權(quán),任何時(shí)候只有一個(gè)任務(wù)處于運(yùn)行.等待狀態(tài):正在運(yùn)行的任務(wù),把 CPU 的使用權(quán)讓給其他任務(wù).中斷效勞狀態(tài):正在運(yùn)行的任務(wù)一旦響應(yīng)中斷申請(qǐng),就會(huì)中止運(yùn)行而去執(zhí)行中斷效勞程序.任務(wù)把握塊記錄了任務(wù)的那些信息包括任務(wù)堆棧的各種指針及數(shù)目,任務(wù)優(yōu)先級(jí),任務(wù)的狀態(tài)標(biāo)志參數(shù)等。什么是空任務(wù)把握塊鏈表?什么是任務(wù)把握塊鏈表?空任務(wù)塊鏈表,其中全部任務(wù)把握塊還沒(méi)有安排給任務(wù);任務(wù)把握塊鏈表,其中全部任務(wù)塊已經(jīng)安排給任務(wù)16UC/OS-II
4、 的中斷響應(yīng)過(guò)程: 系統(tǒng)接收到中斷懇求后,假設(shè)這是CPU 處于中斷允許狀態(tài),系統(tǒng)會(huì)中止正在運(yùn)行的當(dāng)前任務(wù),而依據(jù)中斷向量的指向轉(zhuǎn)而去運(yùn)行中斷效勞子程序;當(dāng)中斷效勞子程序的運(yùn)行完畢后,系統(tǒng)會(huì)依據(jù)狀況返回到被中止的任務(wù),或轉(zhuǎn)向更高優(yōu)先級(jí)的任全局變量 OSIntNesting 的作用: 記錄中斷嵌套的層數(shù)。操作系統(tǒng)的時(shí)鐘:操作系統(tǒng)中特定的周期性中斷為系統(tǒng)供給時(shí)間依據(jù)。在 UC/OS-II 拍以及當(dāng)任務(wù)等待大事發(fā)生時(shí)供給等待超時(shí)依據(jù)。說(shuō)明延時(shí)函數(shù) OSTimeDly與 OSTimeDlyHMSM的區(qū)分: OSTimeDly:時(shí)鐘節(jié)拍數(shù);OSTimeDlyHMSM:依據(jù)時(shí) 分 秒的設(shè)置延時(shí)使用信號(hào)量可在
5、應(yīng)用程序中完成哪些工作?什么叫優(yōu)先級(jí)反轉(zhuǎn)?這種現(xiàn)象什么狀況下發(fā)生?有什么危害? 在可剝奪型內(nèi)核中,當(dāng)任務(wù)以獨(dú)占方式使用共享資源時(shí),會(huì)消滅低優(yōu)先級(jí)任務(wù)先于高優(yōu)先級(jí)任務(wù)而被運(yùn)行的狀況。稱(chēng)優(yōu)先級(jí)反轉(zhuǎn)。一個(gè)低優(yōu)先級(jí)任務(wù)在獲得信號(hào)量使用共享資源期間,被高優(yōu)先級(jí)任務(wù)所打斷而不能釋放信號(hào)量,從而使號(hào)量的低優(yōu)先級(jí)任務(wù)先運(yùn)行假設(shè)這種狀況發(fā)生較多,則會(huì)極大地惡化優(yōu)先級(jí)任務(wù)地運(yùn)行環(huán)境。互斥型信號(hào)量是如何防止優(yōu)先級(jí)反轉(zhuǎn)的?可能使用該共享資源的任務(wù)優(yōu)先級(jí),使用完共享資源后在講其優(yōu)先級(jí)恢復(fù)到原值。1.UC/OS-II式。信號(hào)量集就是實(shí)現(xiàn)這種功能的數(shù)據(jù)構(gòu)造。信號(hào)量集所治理的是什么信號(hào)?信號(hào)量集所治理的信號(hào)量都是二值信號(hào)。它
6、實(shí)質(zhì)上是一種可以對(duì)多個(gè)輸 入的規(guī)律信號(hào)進(jìn)展根本規(guī)律運(yùn)算“與”運(yùn)算AND),“或”運(yùn)算(OR)的組合規(guī)律。使用信號(hào)量集可以在程序中完成哪些工作?信號(hào)量集 用一個(gè)雙向鏈表來(lái)組織等待任務(wù),每一個(gè)等待任務(wù)都是該鏈表中的一個(gè)節(jié)點(diǎn)什么叫內(nèi)存分區(qū)?什么叫內(nèi)存塊??jī)?nèi)存分區(qū)與內(nèi)存塊之間有什么關(guān)系? 內(nèi)存分區(qū)與內(nèi)存塊:操作系統(tǒng)將大片連續(xù)的內(nèi)存分區(qū)治理,每個(gè)分區(qū)內(nèi)含有整數(shù)個(gè)大小一樣的內(nèi)存塊在同一個(gè)內(nèi)存分區(qū)中內(nèi)存塊是按什么方式組織起來(lái)的? 每個(gè)分區(qū)又分成假設(shè)干大小相等的內(nèi)存塊來(lái)進(jìn)展治理什么叫內(nèi)存把握塊?它記錄了一些什么信息??jī)?nèi)存把握塊是由 uC/OSII 為每個(gè)內(nèi)存分區(qū)定義的一個(gè)數(shù)據(jù)構(gòu)造。系統(tǒng)用它來(lái)記錄和跟蹤每一個(gè)內(nèi)
7、存分區(qū)的狀態(tài)。是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為根底,且軟硬件可裁減,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、牢靠性、本錢(qián)、體積、功耗有嚴(yán)格要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)。它一般由以下幾局部組成 : 嵌入式微處理器 外圍硬件設(shè)備 嵌入式操作系統(tǒng) 特定的應(yīng)用程序特點(diǎn): 應(yīng)用的特定性和廣泛性 技術(shù)、學(xué)問(wèn)、資金的密集性 高效性 較長(zhǎng)的生命周期 高牢靠性軟硬一體,軟件為主 無(wú)自舉開(kāi)發(fā)力量C/OS-簡(jiǎn)介8.3KC/OS-是可裁剪的,2.7K完成系統(tǒng)功能和對(duì)外部或內(nèi)部、同步或異步大事做出響應(yīng)的系統(tǒng)”。特點(diǎn)之三是:C/OS-實(shí)際上是一個(gè)實(shí)時(shí)操作系統(tǒng)內(nèi)核,只包含了任務(wù)調(diào)度、任務(wù)治理、時(shí)間治理、內(nèi)存治理和任務(wù)間的通信與同步等根本功能。12、簡(jiǎn)述
8、 C/OS-II ANSI C語(yǔ)言使用量壓縮到最低的限度,以使 C/OS-II可剪裁: C/OS-II占先式: C/OS-II 64856可確定性: C/OS-II任務(wù)棧: C/OS-II 25513、簡(jiǎn)述 C/OS-II C/OS-IIOSUnMapTblOSRdyGrp3+OSUnMapTblOSRdyTblOSRdyGrp。OSRdyGrpOSRdyTbl14、說(shuō)明函數(shù) OSTimeTick、OSTimeDly的主要任務(wù)。OSTimeTickOSTCBDly1,0。OSTimeDlyOSTCBDlyOSTimeDly0。153常用的解決互斥的 3 種方法包括:這是實(shí)現(xiàn)互斥最簡(jiǎn)潔的方法。缺
9、點(diǎn):把制止中斷的權(quán)利交給用戶(hù)進(jìn)程很危急,假設(shè)一個(gè)進(jìn)程制止中斷后不再翻開(kāi)中斷,整個(gè)系統(tǒng)會(huì)因此而中止。0CPU信號(hào)量法,設(shè)置一個(gè)初值為 1 的信號(hào)量便能很好的解決互斥問(wèn)題。這種方法是迄今最完全的解決方案。16、信號(hào)量是如何實(shí)現(xiàn)同步的?信號(hào)量能很好的解決同步問(wèn)題,為此,必需進(jìn)展如下設(shè)置這樣的安排是保證進(jìn)程同步的關(guān)鍵0PBYV中斷:任務(wù)在運(yùn)行過(guò)程中,應(yīng)內(nèi)部或外部異步大事的懇求中止當(dāng)前任務(wù),而去處理異步大事所要求的任務(wù)的過(guò)程叫做中斷。:應(yīng)中斷懇求而運(yùn)行的程序叫中斷效勞子程序(ISR)。中斷向量:中斷效勞子程序的入口地址叫中斷向量。CPU:至少有一個(gè)中斷源向 CPU 發(fā)出中斷信號(hào)系統(tǒng)允許中斷,且對(duì)此中斷信
10、號(hào)未予屏蔽任務(wù)間的同步依靠于任務(wù)間的通信。在uC/OS-II 中,使用信號(hào)量、郵箱和消息隊(duì)列這些被稱(chēng)作大事的中間環(huán)節(jié)來(lái)實(shí)現(xiàn)任務(wù)間的通信。使用信號(hào)量的目的:為共享資源設(shè)立一個(gè)表示該共享資源被占用狀況的標(biāo)志。信號(hào)量集所能治理的信號(hào)量一般都是二值信號(hào)。懇求信號(hào)量集的任務(wù)得以連續(xù)運(yùn)行的條件與所懇求的信號(hào)量之間有兩種規(guī)律關(guān)系:AND 和 OR。uc/os-ii5uc/os還沒(méi)有被創(chuàng)立。就緒態(tài)(READY):運(yùn)行態(tài)(RUNNING):CPU等待態(tài)(WAITING):等待一段時(shí)間或某大事發(fā)生再運(yùn)行的狀態(tài)。中斷效勞態(tài)(ISR):正在運(yùn)行的任務(wù)被中斷時(shí)就進(jìn)入了中斷效勞態(tài)ISR。任務(wù)把握塊 Task Contro
11、l Blocks, OS_TCBs是 ucos-ii任務(wù)鏈表指針等屬性的一個(gè)數(shù)據(jù)構(gòu)造。創(chuàng)立任務(wù)時(shí),必需創(chuàng)立任務(wù)把握塊,通過(guò)把握塊初始化函數(shù)OSTCBInit完成,其做三件事:從空任務(wù)把握塊鏈表獵取一個(gè)任務(wù)把握塊;把這個(gè)任務(wù)把握塊鏈入到任務(wù)把握塊鏈表。1、任務(wù)的存儲(chǔ)構(gòu)造主要由哪三局部組成?答:任務(wù)程序代碼,任務(wù)堆棧,任務(wù)把握塊。uc/os-ii 預(yù)定義了兩個(gè)為應(yīng)用程序效勞的系統(tǒng)任務(wù):空閑任務(wù)和統(tǒng)計(jì)任務(wù),其中空閑任務(wù)是每個(gè)程序必需使用的,而統(tǒng)計(jì)任務(wù)是應(yīng)用程序可依據(jù)實(shí)際狀況需要選擇使用。任務(wù)刪除函數(shù):OSTaskDel#if OS_task_del_enINT8U OSTaskDel(INT8U p
12、rio);時(shí)鐘:任務(wù)操作系統(tǒng)都要供給一個(gè)周期性的信號(hào)源,以供系統(tǒng)供給處理諸如任務(wù)的等待,延時(shí)等與時(shí)間有時(shí)鐘單位叫著時(shí)鐘節(jié)拍time tick大事把握塊:為了把描述的大事的數(shù)據(jù)構(gòu)造統(tǒng)一起來(lái),uc/os-ii 把大事等待任務(wù)表和與大事相關(guān)的其他信ECB什么是任務(wù)切換?任務(wù)切換時(shí)主要完成哪些工作?答:中止正在運(yùn)行的任務(wù),轉(zhuǎn)而去運(yùn)行另外的一個(gè)任務(wù)的工作。也就是暫?,F(xiàn)行任務(wù),去完成另一個(gè)任務(wù)。與共享資源打交道時(shí),使之滿(mǎn)足互斥條件最一般的方法包括哪些?答:包括:關(guān)中斷、使用測(cè)試并置位指令、制止做任務(wù)切換、利用信號(hào)量等。描述利用 C/OS_ 宏調(diào)用關(guān)中斷和開(kāi)中斷處理共享數(shù)據(jù)的示意性代碼程序。OS_ENTER
13、_CRITICAL;/*/OS_EXIT_CRITICAL;信號(hào)量的典型應(yīng)用包括哪些?答:信號(hào)量(Semaphores) 是一種商定機(jī)制,在多任務(wù)內(nèi)核中的典型應(yīng)用包括:把握共享資源的使用權(quán)(滿(mǎn)足互斥條件);標(biāo)志某大事的發(fā)生使兩個(gè)任務(wù)的行為同步對(duì)信號(hào)量只能實(shí)施哪三種操作?答:一般地說(shuō),對(duì)信號(hào)量只能實(shí)施三種操作:初始化(INITIALIZE),也可稱(chēng)作建立(CREATE);等信號(hào)(WAIT)也可稱(chēng)作掛起(PEND);給信號(hào)(SIGNAL)或發(fā)信號(hào)(POST)。4OS_ENTER_CRITICAL 和 OS_EXIT_CRITICAL的含義及作用?答:OS_ENTER_CRITICAL :關(guān)中斷;O
14、S_EXIT_CRITICAL:開(kāi)中斷。關(guān)中斷和開(kāi)中斷是為了保護(hù)臨界段代碼。留神。用戶(hù)還可以用信號(hào)量來(lái)保護(hù)臨界段代碼。4基于 PC 的效勞中如何測(cè)量 PC_DisplayChar的執(zhí)行時(shí)間?PC_DisplayChar的執(zhí)行時(shí)間的代碼如下:INT16Utime; /定義時(shí)間變量PC_ElapsedInit; /時(shí)鐘初始化PC_ElapsedStart; /開(kāi)頭計(jì)時(shí)PC_DispChar(40, 24, A, DISP_FGND_WHITE);/執(zhí)行代碼timePC_ElapsedStop;/完畢計(jì)時(shí)5uC/OS-II答:void task_xxx(void *pData)/* 該任務(wù)的初始化工
15、作 */*/while(1)大事驅(qū)動(dòng)模型也涵蓋了中斷驅(qū)動(dòng)模型,uC/OS-II 大事歸根結(jié)底來(lái)自三個(gè)方面:(1)中斷效勞函數(shù)發(fā)送的大事(2)系統(tǒng)延時(shí)時(shí)間到所引起的(3)其它任務(wù)發(fā)送的大事。填空題uC/OS-II任務(wù)是一個(gè)無(wú)返回的無(wú)窮循環(huán)。uc/os-ii 最高優(yōu)先級(jí) 】的任務(wù) 。個(gè)任務(wù)運(yùn)行,這個(gè)工作就是由【調(diào)度器scheduler】來(lái)完成的。OSSched完成的,而【 中斷級(jí) 】的調(diào)度是由函數(shù)OSIntExt 完成。對(duì)OSSchedOS_TASK_SWOSIntExtOSCtxSw實(shí)現(xiàn)調(diào)度。任務(wù)切換其實(shí)很簡(jiǎn)潔,由如下 2 步完成:然后將進(jìn)入就緒狀態(tài)的最高優(yōu)先級(jí)的任務(wù)的存放器值從堆棧中恢復(fù)到【存
16、放器 】中。5【睡眠態(tài)(task dormat)romramucos-ii【就緒態(tài)taskready】:任務(wù)一旦建立,這個(gè)任務(wù)就進(jìn)入了就緒態(tài)。 OSStart可以啟動(dòng)多任務(wù)。OSStart函數(shù)只能調(diào)用一次,一旦調(diào)用,系統(tǒng)將運(yùn)行進(jìn)入就緒態(tài)并且優(yōu)先級(jí)最高的任務(wù)。 pend掛起相關(guān)函數(shù)后,將進(jìn)入等待狀態(tài)。 ucos-ii中斷關(guān)閉。CPUCPU。CPU把握權(quán)。 9使用可剝奪型內(nèi)核時(shí),應(yīng)用程序不應(yīng)直接使用不行重入型函數(shù)。調(diào)用不行重入型函數(shù)時(shí),要滿(mǎn)足互斥條件,這一點(diǎn)可以用【 互斥型信號(hào)量 】來(lái)實(shí)現(xiàn)。【 可重入型 】函數(shù)可以被一個(gè)以上的任務(wù)調(diào)用,而不必?fù)?dān)憂(yōu)數(shù)據(jù)的破壞。CPU量予以【 保護(hù) 】。每個(gè)任務(wù)都有其
17、優(yōu)先級(jí)。任務(wù)越重要,賜予的優(yōu)先級(jí)應(yīng)【 越高 】。 C/OS-初始化是通過(guò)調(diào)用系統(tǒng)函數(shù)【OSIint C/OS-全部的變量和數(shù)據(jù)構(gòu)造的初始化。多任務(wù)的啟動(dòng)是用戶(hù)通過(guò)調(diào)用【OSStart C/OS-之前,用戶(hù)至少要建立一 C/OS-的參數(shù)配置文件名為【OS_CFG.H】。C/OS-調(diào)用。C/OS-要求用戶(hù)供給【定時(shí)中斷】來(lái)實(shí)現(xiàn)延時(shí)與超時(shí)把握等功能。定時(shí)中斷也叫做【時(shí)鐘節(jié)拍】,它應(yīng)當(dāng)每秒發(fā)生 10 至 100 次。時(shí)鐘節(jié)拍的實(shí)際頻率是由用戶(hù)的應(yīng)用程序打算的。時(shí)鐘節(jié)拍的頻率越高,系統(tǒng)的負(fù)荷就【越重】。160 到65,535OS_CFG.H開(kāi)關(guān)量常數(shù)置成【 1C/OS-II21. C/OS-IIOSTa
18、skCtr 】。 OSRunning 】。二 名詞解釋代碼的臨界段代碼的臨界段也稱(chēng)為臨界區(qū),指處理時(shí)不行分割的代碼。資源任務(wù)所占用的實(shí)體都可稱(chēng)為資源。資源可以是輸入輸出設(shè)備;資源也可以是一個(gè)變量,一個(gè)構(gòu)造或一個(gè)數(shù)組等。共享資源 可以被一個(gè)以上任務(wù)使用的資源叫做共享資源。任務(wù) 一個(gè)任務(wù),也稱(chēng)作一個(gè)線(xiàn)程,是一個(gè)簡(jiǎn)潔的程序,該程序可以認(rèn)為CPU型地、每個(gè)任務(wù)都是一個(gè)無(wú)限的循環(huán)。 CPU它保存正在運(yùn)行任務(wù)的當(dāng)前狀態(tài)ContextCPU內(nèi)核 多任務(wù)系統(tǒng)中,內(nèi)核負(fù)責(zé)治理各個(gè)任務(wù),或者說(shuō)為每個(gè)任務(wù)安排CPU通訊。內(nèi)核供給的根本效勞是任務(wù)切換。調(diào)度Scheduler 內(nèi)核的主要職責(zé)之一,就是要打算該輪到哪個(gè)任
19、務(wù)運(yùn)行了。多數(shù)實(shí)時(shí)內(nèi)核是基于優(yōu)先級(jí)調(diào)度法的。CPUCPUCPU斷了的任務(wù)被掛起,優(yōu)先級(jí)高的那個(gè)任務(wù)開(kāi)頭運(yùn)行。OS_TASK_SW函數(shù)需要用戶(hù)移植實(shí)現(xiàn),主要內(nèi)容如下:PC2. 調(diào)用 OSTaskSwHook函數(shù); 3. OSPrioCur = OSPrioHighRdy; 4. OSTCBCur = OSTCBHighRdy; 5. 設(shè)置處理器的堆棧指針存放器為 OSTCBHighRdy-OSTCBStkPtr6. 恢復(fù)全部處理器的存放器內(nèi)容(不包括堆棧指針存放器和 PC7.PC 存放器并開(kāi)頭執(zhí)行 PC 指向的指令。三簡(jiǎn)答題舉例說(shuō)明 COS-II 可移植型數(shù)據(jù)類(lèi)型的定義方式答:由于不同的微處理器
20、有不同的字長(zhǎng),C/OS-II 的移植文件包括很多類(lèi)型定義以確??梢浦残浴OS-II 不使用 C 語(yǔ)言中的 short,int,long 等數(shù)據(jù)類(lèi)型的定義,由于它們與處理器類(lèi)型有關(guān),隱含著不行移植性。C/OS-II數(shù)據(jù)類(lèi)型不依靠于編譯),舉例如下:typedefunsignedcharBOOLEAN;typedefunsignedcharINT8U;typedefsignedcharINT8S;typedefunsignedintINT16U;typedefsignedintINT16S;typedefunsignedlongINT32U;typedefsignedlongINT32S;COS
21、-IICextern.C.HCOS-II需用在頭文件中定義一次。uC/OS_II.H 頭文件中包括以下定義全局宏定義:#ifdef#defineOS_EXT #else#defineOS_EXT extern#endifOS_EXTINT32UOSIdleCtr;同時(shí),uCOS_II.H#defineOS_GLOBALS#include “includes.h”當(dāng)編譯器處理 uCOS_II.C 時(shí),它使得頭文件變成如下所示,由于 如下的樣子由于OS_GLOBAL沒(méi)有定義所以O(shè)S_EXT被定義為externexternINT32UOSIdleCtr;在這種狀況下,不產(chǎn)生內(nèi)存安排,而任何 .C 文
22、件都可以使用這些變量。這樣的就只需在 .H 文件中定義一次就可以了。給出 C/OS-中如何用信號(hào)量處理共享數(shù)據(jù)的示意代碼?答:通過(guò)獲得信號(hào)量處理共享數(shù)據(jù)的示意代碼如下:OS_EVENT *SharedDataSem;void Function (void)INT8U err; OSSemPend(SharedDataSem,0,&err);共享數(shù)據(jù)的處理在此進(jìn)展,(中斷是開(kāi)著的)*/OSSemPost(SharedDataSem);給出初始化和啟動(dòng) C/OS-的示意代碼。答:void main (void)OSInit;/* 初始化uC/OS-II*/通過(guò)調(diào)用OSTaskCreate或OSTa
23、skCreateExt創(chuàng)立至少一個(gè)任務(wù); OSStart;/*開(kāi)頭多任務(wù)調(diào)度!OSStart永久不會(huì)返回*/描述建立任務(wù) OSTaskCreate的函數(shù)原型。OSTaskCreate的函數(shù)原型為:INT8U OSTaskCreate (void (*task)(void *pd), void *pdata, OS_STK *ptos, INT8U prio)其中,task: 任務(wù)代碼的指針;pdata:ptos: 安排給任務(wù)的堆棧的棧頂指針;prio: 安排給任務(wù)的優(yōu)先級(jí)。任務(wù)可以是一個(gè)無(wú)限的循環(huán),也可以是在一次執(zhí)行完畢后被刪除掉。 請(qǐng)給出示意代碼構(gòu)造。描述的任務(wù)示意代碼必需是以下兩種構(gòu)造之一
24、:void YourTask (void *pdata)for (;) /*/OSMboxPend;OSQPend;OSSemPend;OSTaskDel(OS_PRIO_SELF);OSTaskSuspend(OS_PRIO_SELF);OSTimeDly; OSTimeDlyHMSM;/*/或void YourTask (void *pdata)/* 用戶(hù)代碼 */ OSTaskDel(OS_PRIO_SELF); C/OS-任務(wù)治理供給哪些效勞? 答: C/OS-任務(wù)治理供給的效勞包括:建立任務(wù):OSTaskCreate或 OSTaskCreateExt;刪除任務(wù):OSTaskDel;懇
25、求刪除任務(wù):OSTaskDelReq;轉(zhuǎn)變?nèi)蝿?wù)的優(yōu)先級(jí):OSTaskChangePrio;掛起任務(wù):OSTaskSuspend;恢復(fù)任務(wù):OSTaskResume;獲得有關(guān)任務(wù)的信息:OSTaskQuery。 C/OS-時(shí)間任務(wù)治理供給哪些效勞? 答: C/OS-時(shí)間任務(wù)治理供給的效勞包括:任務(wù)延時(shí)函數(shù):OSTimeDly按時(shí)分秒延時(shí)函數(shù):OSTimeDlyHMSM讓處在延時(shí)期的任務(wù)完畢延時(shí):OSTimeDlyResume設(shè)置系統(tǒng)時(shí)間:OSTimeGet獲得系統(tǒng)時(shí)間:OSTimeSet C/OS-供給的數(shù)據(jù)共享和任務(wù)通訊的方法包括哪些?答: C/OS-供給的數(shù)據(jù)共享和任務(wù)通訊的方法包括五種方法
26、:利用宏 OS_ENTER_CRITICAL和 OS_EXIT_CRITICAL來(lái)關(guān)閉中斷和翻開(kāi)中斷。OSSchekUnlockC/OS-II開(kāi)鎖。信號(hào)量。郵箱。消息隊(duì)列。對(duì)于大事把握塊進(jìn)展的一些通用包括哪些操作? 答:對(duì)于大事把握塊進(jìn)展的一些通用操作包括:初始化一個(gè)大事把握塊: OSEventWaitListInit;使一個(gè)任務(wù)進(jìn)入就緒態(tài):OSEventTaskRdy;使一個(gè)任務(wù)進(jìn)入等待該大事的狀態(tài):OSEventTaskWait;由于等待超時(shí)而使一個(gè)任務(wù)進(jìn)入就緒態(tài):OSEventTO。 C/OS-信號(hào)量供給哪些效勞? 答: C/OS-信號(hào)量供給的效勞包括:建立一個(gè)信號(hào)量:OSSemCrea
27、te;等待一個(gè)信號(hào)量:OSSemPend;發(fā)送一個(gè)信號(hào)量:OSSemPost;無(wú)等待地懇求一個(gè)信號(hào)量:OSSemAccept;查詢(xún)一個(gè)信號(hào)量的當(dāng)前狀態(tài):OSSemQuery。 C/OS-郵箱供給哪些效勞?答: C/OS-郵箱供給的效勞包括:建立一個(gè)郵箱:OSMboxCreate;等待一個(gè)郵箱中的消息:OSMboxPend;發(fā)送一個(gè)消息到郵箱中:OSMboxPost;無(wú)等待地從郵箱中得到一個(gè)消息:OSMboxAccept;:OSMboxQuery20 C/OS-消息隊(duì)列供給哪些效勞?答: C/OS-消息隊(duì)列供給的效勞包括:建立一個(gè)消息隊(duì)列:OSQCreate;等待一個(gè)消息隊(duì)列中的消息:OSQPe
28、nd;向消息隊(duì)列發(fā)送一個(gè)消息FIFO:OSQPost;向消息隊(duì)列發(fā)送一個(gè)消息LIFO:OSQPostFront;無(wú)等待地從一個(gè)消息隊(duì)列中取得消息:OSQAccept;清空一個(gè)消息隊(duì)列:OSQFlush;查詢(xún)一個(gè)消息隊(duì)列的狀態(tài):OSQQuery。 C/OS-內(nèi)存治理供給哪些效勞? 答: C/OS-內(nèi)存治理供給的效勞包括:建立一個(gè)內(nèi)存分區(qū):OSMemCreate;安排一個(gè)內(nèi)存塊:OSMemGet;釋放一個(gè)內(nèi)存塊:OSMemPut;查詢(xún)一個(gè)內(nèi)存分區(qū)的狀態(tài):OSMemQuery。移植 C/OS-時(shí),要使 C/OS-正常運(yùn)行,處理器必需滿(mǎn)足哪些根本要求?C/OS-正常運(yùn)行,處理器必需滿(mǎn)足以下要求:處理器
29、的 C 編譯器能產(chǎn)生可重入代碼。C處理器支持中斷,并且能產(chǎn)生定時(shí)中斷(通常在 10 至 100Hz 之間)。處理器支持能夠容納肯定量數(shù)據(jù)(可能是幾千字節(jié))的硬件堆棧。處理器有將堆棧指針和其它 CPU 存放器讀出和存儲(chǔ)到堆棧或內(nèi)存中的指令。從任務(wù)Task中獲得傳入的字符參數(shù)值,請(qǐng)?jiān)谙旅妗尽刻钌线m宜的代碼。charTaskData=A;OSTaskCreate(Task,【(void*)&TaskData】, &TaskStk0TASK_STK_SIZE - 1, 1);voidTask (void *pdata)charvalue*(char*)pdata 】;for (;) OSSemPend
30、(RandomSem, 0, &err);y = (int) (*(char *)pdata - ”A”);OSSemPost(RandomSem);PC_DispChar(10, 25, value, DISP_FGND_WHITE + DISP_BGND_BLUE);OSTimeDly(1);字符, 請(qǐng)?jiān)谙旅妗尽刻钌线m宜的代碼。voidTask1 (void *data)charINT8Uerr;txmsg = ”A”;for (;) OSMboxPost(TxMbox, 【 (void *)&txmsg】);/* Send message to Task2*/OSMboxPend(Ack
31、Mbox, 0, &err);txmsg+;if (txmsg = ”Z”) txmsg = ”A”;voidTask5 (void *data)charINT8Uerr; data = data; for (;) rxmsg = 【(char *)】OSMboxPend(TxMbox, 0, &err); PC_DispChar(70,18,*rxmsg,DISP_FGND_YELLOWDISP_BGND_BLUE);OSMboxPost(AckMbox, (void *)1);函數(shù)接收消息“Hello World!”,而在Task2中使用消息隊(duì)列OSQPost函數(shù)發(fā)送消息“Hello Wo
32、rld!”, 請(qǐng)?jiān)谙旅妗尽刻钌线m宜的代碼.voidTask1 (void *pdata)char*msg; INT8Uerr; pdata = pdata;for (;) msg = 【(char *)】OSQPend(MsgQueue, 0, &err); PC_DispStr(70, 13, msg, DISP_FGND_YELLOW + DISP_BGND_BLUE);OSTimeDlyHMSM(0, 0, 0, 100);voidTask2 (void *pdata)charpdata=pdata;strcpy(&msg0, “ Hello World!“);for (;) OSQPost(MsgQueue,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)作物生產(chǎn)中的生態(tài)模式與管理策略試題及答案
- 2024年福建事業(yè)單位考試答題策略分析試題及答案
- 公租房商鋪出租合同標(biāo)準(zhǔn)文本
- 2024年農(nóng)業(yè)經(jīng)理人考試的創(chuàng)新試題及答案
- 山東地理中考試題及答案
- 農(nóng)藝師備考心理健康維護(hù)試題及答案
- 2025至2030年泡棉保溫管項(xiàng)目投資價(jià)值分析報(bào)告
- 2024年園藝師考試學(xué)習(xí)策略的結(jié)構(gòu)試題及答案
- 農(nóng)莊入駐合同樣本
- 各高校輔導(dǎo)員招聘課程設(shè)置試題及答案
- iso28000-2022供應(yīng)鏈安全管理手冊(cè)程序文件表單一整套
- 醫(yī)院腎臟病健康宣教
- 【MOOC】電動(dòng)力學(xué)-同濟(jì)大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 介入手術(shù)宣教
- 論持久戰(zhàn)全文(完整)
- 2022版ISO27001信息安全管理體系基礎(chǔ)培訓(xùn)課件
- 2023-2024學(xué)年廣東省深圳市羅湖區(qū)八年級(jí)(下)期中英語(yǔ)試卷
- 2024年教師資格考試高級(jí)中學(xué)面試生物試題與參考答案
- GB/T 27728.2-2024濕巾及類(lèi)似用途產(chǎn)品第2部分:嬰童濕巾專(zhuān)用要求
- 職業(yè)衛(wèi)生技術(shù)服務(wù)機(jī)構(gòu)檢測(cè)人員考試真題題庫(kù)
- 第4課《我們的公共生活》第1課時(shí)(教學(xué)設(shè)計(jì))-部編版道德與法治五年級(jí)下冊(cè)
評(píng)論
0/150
提交評(píng)論