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

正文內(nèi)容

基于單片機(jī)的嵌入式實(shí)時(shí)os平臺(tái)的研究與實(shí)現(xiàn)畢業(yè)論文-wenkub.com

2025-04-30 21:48 本頁(yè)面
   

【正文】 gTXRm 6X4NGpP$vSTTamp。 gTXRm 6X4NGpP$vSTTamp。 ksv*3t nGK8! z89Am YWv*3t nGK8!z89Am YWpazadNuKNamp。 ksv*3t nGK8! z89Am YWpazadNuKNamp。 ksv*3t nGK8! z89Am YWpazadNuKNamp。gTXRm 6X4NGpP$vSTTamp。 ksv* 3t nGK8! z89Am YWv*3tnGK8! z89Am YWpazadNuKNamp。ksv*3t nGK8!z89Am YWpazadNuKNamp。 ksv*3t nGK8!z89Am YWpazadNuKNamp。 ksv*3t nGK8! z89Am YWpazadNuGK8! z89Am YWpazadNuKNamp。 ksv*3t nGK8!z89Am YWv*3tnGK8! z89Am YWpazadNuKNamp。 ksv*3t nGK8! z89Am YWpazadNuKNamp。 ksv*3t nGK8! z89Am YWpazadNuKNamp。 ksv*3t nGK8! z89Am YWpazadNuKNamp。 ksv*3t nGK8! z89Am UE9aQGn8xp$Ramp。 ksv*3t nGK8!z89Am YWpazadNuKNamp。ksv*3t nGK8!z89Am YWpazadNuKNamp。 ksv*3t nGK8! z89Am YWpazadNuKNamp。 UE9aQGn8xp$Ramp。 gTXRm 6X4NGpP$vSTTamp。 gTXRm 6X4NGpP$vSTTamp。 gTXRm 6X4NGpP$vSTTamp。 gTXRm6X4NGpP$vSTTamp。 ksv*3t nGK8!z89Am YWpazadNuKNamp。 UE9aQGn8xp$Ramp。gTXRm 6X4NGpP$vSTTamp。 gTXRm6X4NGpP$vSTTamp。 gTXRm6X4NGpP$vSTTamp。 gTXRm 6X4NGpP$vSTTamp。 gTXRm 6X4NGpP$vSTTamp。gTXRm 6X4NGpP$vSTTamp。gTXRm 6X4NGpP$vSTTamp。 gTXRm 6X4NGpP$vSTTamp。 QA9wkxFyeQ^! djsXuyUP2kNXpRWXm Aamp。然后,當(dāng)應(yīng)用變得越來(lái)越復(fù)雜,小型快速專有內(nèi)核就越來(lái)越難以依靠這種利用將所有時(shí)間,計(jì)算時(shí)間,資源,優(yōu)先權(quán)和數(shù)值要求劃分為一個(gè)簡(jiǎn)單的優(yōu)先級(jí)給每個(gè)任務(wù)的優(yōu)先級(jí)調(diào)度方式去解決。不過(guò),許多實(shí)時(shí)系統(tǒng)的設(shè)計(jì)者使用這些功能作為基礎(chǔ)來(lái)建立實(shí)時(shí)系統(tǒng)。另一方面,集成內(nèi)核同時(shí)也減少了自編內(nèi)核的需求性。 小型快速專有內(nèi)核 小型快速專有內(nèi)核分為兩種類型:自編和商業(yè)辦公用。比如,關(guān)于實(shí)時(shí)同步和內(nèi)存管理的研究得出了很多令人激動(dòng)的成果。許多行業(yè)標(biāo)準(zhǔn)也受到了實(shí)時(shí)操作系統(tǒng)研究的影響,包括 POSIX的實(shí)時(shí)擴(kuò)展, Java的實(shí)時(shí)規(guī)范, OSEK(自適應(yīng)于實(shí)時(shí)操作系統(tǒng)的標(biāo)準(zhǔn) ), Ada83 和 Ada95。所謂的高可靠性保障包括為開放的實(shí)時(shí)系統(tǒng)提供質(zhì)量服務(wù)( QoS),盡可能的為多媒體應(yīng)用以及為復(fù)雜的分布式實(shí)時(shí)系統(tǒng)提供保障。 最后,我要感謝我的同學(xué),你們?cè)谏詈蛯W(xué)習(xí)中給我的幫助我將一生難忘,因?yàn)槟銈?,我的大學(xué)生活才變得豐富多彩。在這里,作者希望大家能花更多的時(shí)間去深入研究嵌入式實(shí)時(shí)操作系統(tǒng)的各個(gè)相關(guān)課題。通過(guò)有效的服務(wù),如信號(hào)量、郵箱、隊(duì)列、處理延時(shí)和超時(shí)等,使得資源得到更好的利用。 總結(jié) 本文以 STC89C52為嵌入式實(shí)時(shí)系統(tǒng)微處理器,以 μ C/OSⅡ?yàn)榍度胧綄?shí)時(shí)操作系統(tǒng)內(nèi)核,從理論上和技術(shù)方法上開展了 一系列研究,成功實(shí)現(xiàn)了一個(gè)嵌入式實(shí)時(shí)操作系統(tǒng)平臺(tái)的搭建。因?yàn)槭菍?shí)時(shí)溫度采集,所以在 OSTimeDly()中的數(shù)值應(yīng)該較小,若系統(tǒng)的時(shí)鐘節(jié)拍為 10 次 /秒,那么可以設(shè)定OSTimeDly()中的數(shù)值為 5 個(gè)時(shí)鐘節(jié)拍的大小,即每 秒讀取一次溫度數(shù)據(jù)。當(dāng)讀取完新的設(shè)定溫度后,該任務(wù)又將自己掛起。 ③用戶任務(wù)程序。此實(shí)時(shí)溫度控制系統(tǒng)的硬件模塊設(shè)計(jì)如圖 所示: 29 圖 硬件模塊設(shè)計(jì) 共有 5個(gè)模塊,分別對(duì)應(yīng)各自的硬件設(shè)備。 ④進(jìn)行實(shí)際溫度和設(shè)定溫度的比較。 實(shí)時(shí)溫度控制系統(tǒng)的設(shè)計(jì) 整體設(shè)計(jì) 在論文的最后,設(shè)計(jì)一個(gè)簡(jiǎn)單的實(shí)時(shí)溫度控制系統(tǒng)。用戶的應(yīng)用程序建立在系統(tǒng)的任務(wù)基礎(chǔ)之上。 ③操作系統(tǒng)的 API函數(shù)。外圍的硬件系統(tǒng)是保證整個(gè) RTOS 系統(tǒng)實(shí)現(xiàn)指定任務(wù)和指定功能的最底層 部件。 μ C/OSⅡ提供的僅僅是一個(gè)任務(wù)調(diào)度內(nèi)核,要想實(shí)現(xiàn)一個(gè)相對(duì)完整、使用的嵌入式操作系統(tǒng),還需要相當(dāng)多的擴(kuò)展性工作。證明了 μ C/OSⅡ內(nèi)核的正確運(yùn)行,移植的成功。再過(guò)去 1秒, Task3恢復(fù) ,點(diǎn)亮 Q3,延時(shí) 1秒。可以清晰的觀察到亮燈的順序?yàn)椋?Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q3.... 分析:系統(tǒng)啟動(dòng)后,內(nèi)核完成必要的初始化之后,開始任務(wù)調(diào)度,此時(shí) Task1是 4 個(gè)就緒態(tài)任務(wù)中優(yōu)先級(jí)最高的,得到 CPU開始執(zhí)行,點(diǎn)亮 Q1,延時(shí) 4 秒,轉(zhuǎn)入休眠;接著轉(zhuǎn)入 Task2,點(diǎn)亮 Q2,延時(shí) 2秒;最后 Task3 得到運(yùn)行,點(diǎn)亮 Q3,延時(shí) 1 秒。 OSTaskCreate(Task3,(void*)0,amp。 OSTaskCreate(Task1,(void*)0,amp。) { P1=0xDF。) { P1=0xBF。) 24 { P1=0x7F。 移植測(cè)試程序 為了證明 μ C/OSⅡ能在 STC89C52上成功的移植,可以編寫一個(gè)測(cè)試程序來(lái)證明。尤其 C編譯工具在產(chǎn)生代碼的準(zhǔn)確性和效率方面達(dá)到了較高的水平,而且刻意附加靈活的控制選項(xiàng),在開發(fā)大型項(xiàng)目時(shí)非常理想。OSIntCtxSw()的代碼大部分都與 OSCtxSw()相同,僅僅在以下兩點(diǎn)有所區(qū)別 :由于中斷已經(jīng)發(fā)生,此處不需要再保存寄存器; OSIntCtxSw()需要調(diào)整堆棧指針,去掉堆棧中一些不需要的內(nèi)容,以使堆棧中止包含任務(wù)的運(yùn)行環(huán)境。 ② 任務(wù)切換函數(shù) OSCtxSw()。因此,只需要寫 3 個(gè)匯編語(yǔ)言函數(shù)。 0xFF。 //R5 21 *stk++ = 0x06。 //R1 *stk++ = (INT16U)ppdata 8。 //DPL *stk++ = 0x00。 //任務(wù)地址高 8位 *stk++ = 0x0A。 //用戶堆棧最低有效地址 *stk++ = 15。其代碼如下: OS_STK *OSTaskStkInit (void (*task)(void *pd) reentrant, void *ppdata, OS_STK *ptos, INT16U opt) reentrant { OS_STK *stk。這表明堆棧 從下(低地址)往上(高地址)遞增。同時(shí),將任務(wù)堆棧的寬度定義為 8 位。 19 void InitHardware(void) reentrant。 typedef double FP64。 typedef signed int INT16S。 與移植相關(guān)代碼的修改 的修改 修改后的 : /******* 文件名: ********/ ifndef __OS_CPU_H define __OS_CPU_H ifdef OS_CPU_GLOBALS define OS_CPU_EXT else define OS_CPU_EXT extern endif /******* 數(shù)據(jù)類型 *********/ /******* (編譯器相關(guān) ) **********/ typedef unsigned char BOOLEAN。OSStartHighRdy()函數(shù)在多任務(wù)系統(tǒng)啟動(dòng)函數(shù) OSStart()中調(diào)用。 OSTaskStkInit()是在用戶建立任務(wù)時(shí)被函數(shù)OSTaskCreate()和 OSTaskCreateExt()調(diào)用,是系統(tǒng)內(nèi)部自己調(diào)用的,用來(lái)對(duì)用戶任務(wù)的堆棧進(jìn)行初始化,并使用建立好的進(jìn)入就緒態(tài)任務(wù)的堆棧 與系統(tǒng)發(fā)生中斷并且將環(huán)境變量保存完畢時(shí)的棧結(jié)構(gòu)一致。因?yàn)椴煌奶幚砥饔胁煌淖珠L(zhǎng),所以 μ C/OSⅡ的移植包括了一系列的類型定義以確保其可移植性。 與處理器相關(guān)代碼 這是移植中最關(guān)鍵的部分,內(nèi)核將應(yīng)用系統(tǒng)和底層硬件有機(jī)的結(jié)合成一個(gè)實(shí)時(shí)系統(tǒng),要使同一個(gè)內(nèi)核能適用于不同的硬件體系,就需要在內(nèi)核和硬件之間有一個(gè)中間層,這就是與處理器相關(guān)的代碼。 16 ② 文件是一個(gè)主頭文件,它出現(xiàn)在每個(gè) .C 文件的第一行。 與應(yīng)用相關(guān)代碼 與應(yīng)用相關(guān)的代碼主要是兩個(gè)文件 :、 。 ⑧ 3個(gè) 16 位定時(shí)器 /計(jì)數(shù)器,其中定時(shí)器 0 還刻意當(dāng)成 2個(gè) 8位 定時(shí)器; ⑨ 外部中斷 4 路,下降沿中斷或低電平出發(fā)中斷。它在指令系統(tǒng)、硬件結(jié)構(gòu)和片內(nèi)資源上與標(biāo)準(zhǔn)的 8051 單片機(jī)完全兼容。 3 μ C/OSⅡ在 STC89C52 單片機(jī)上的移植 STC89C52 單片機(jī)片簡(jiǎn)介 MCS51 系列單片機(jī)是美國(guó) Intel 公司在 1980年推出的高性能 8位單片機(jī)微型計(jì)算機(jī),較原來(lái)的 MCS48 系列結(jié)構(gòu)更為新進(jìn),功能增強(qiáng),它包括 51和 52 兩個(gè)系列。每個(gè)緩沖區(qū)都是單向鏈表,允許 μ C/OSⅡ從緩沖區(qū)中迅速得到或釋放一個(gè)緩沖區(qū)中的元素。 OSInit()將建立空閑任務(wù) OSTaskIdle(),這個(gè)任務(wù)總是處于就緒態(tài)的。用戶必須在多任務(wù)系統(tǒng)啟動(dòng)以后再啟動(dòng)時(shí)鐘節(jié)拍源 計(jì)時(shí)也就是在調(diào)用 OSStart()之后。 中斷和時(shí)鐘節(jié)拍 μ C/OSⅡ中,中斷服務(wù)子程序是用匯編來(lái)寫的,下面是中斷處理程序一般處理過(guò)程的示意代碼: 用戶中斷服務(wù)子程序: 保存全部 CPU 寄存器; 調(diào)用 OSIntEnter 或 OSIntNesting 直接加 1; 執(zhí)行用戶代碼做中斷服務(wù); 調(diào)用 OSIntExit(); 恢復(fù)所有 CPU 寄存器; 執(zhí)行中斷返回指令; 時(shí)鐘節(jié)拍是周期性發(fā)生的特殊中斷(時(shí)鐘中斷),這個(gè)中斷可視為系統(tǒng)心臟的跳動(dòng)。任務(wù)調(diào)度器的主要工作有兩項(xiàng):一是在任務(wù)就緒表中查找具有最高優(yōu)先級(jí)別的就緒任務(wù);二是實(shí)現(xiàn)任務(wù)的切換。 OSRdyGrp中的每一位表示 8組任務(wù)中每一組是否有進(jìn)入就緒態(tài)的任務(wù)。 INT8U OSTCBBitX。 INT8U OSTCBStat。amp。(OS_MAX_QS0))||(OS_MBOX_EN0) void *OSTCBMsg。amp。 INT16U OSTCBId。 if OS_TASK_CREATE_EXT_EN0 void *OSTCBExtPtr。一旦任務(wù)建立,系統(tǒng)就會(huì)分配一個(gè)任務(wù)控制塊 OS_TCB(task control blocks)給該任務(wù)。 ④等待狀態(tài) 等待除 CPU 以外的其它資源或條件(如信號(hào)量),不能運(yùn)行??雌饋?lái)就像其他 C函數(shù)一樣,有函數(shù)返回類型,但是絕對(duì)不會(huì)返回的,故返回參數(shù)必須定義成 void。 8 OS_ENTER_CRITICAL()和 OS_EXIT_CRITICAL()總是成對(duì)使用的,把臨界段代碼包起來(lái)。 μ C/OSⅡ的內(nèi)核結(jié)構(gòu) 臨界段的處理 μ C/OSⅡ?yàn)榱颂幚砼R界段代碼,須關(guān)中斷,處理完畢后,再開中斷。 ⑧中斷管理 中斷可以使正在執(zhí)行的任務(wù)暫時(shí)掛起。 ④可固化 μ C/OSⅡ是為嵌入式應(yīng)用而設(shè)計(jì)的,這就意味著,只要具備合適的系列軟件工具,就可以將 μ C/OSⅡ嵌入到產(chǎn)品中作為產(chǎn)品的一部分。 μ C/OSⅡ是專為嵌入式應(yīng)用設(shè)計(jì)的,可移植在 8 位、 16 6 位、 32 位單片機(jī)或 DSP中。 論文的主要工作有 : ① μ C/OSⅡ內(nèi)核結(jié)構(gòu)介紹與分析。該操作系統(tǒng)是用 C語(yǔ)言和匯編語(yǔ)言編寫的 ,其中大部分代碼都是用 C語(yǔ)言編寫的 ,只有極少部分與處理器密切相關(guān)的代碼是用匯編語(yǔ)言編寫 ,所以用戶只需做很少的工作可以很方便的移植到各類 8 位、 16 位、 32 位嵌入式處理器上。這樣不同開發(fā)者就可以很方便的進(jìn)行協(xié)作開發(fā) ,提高開發(fā)的效率 ,而且各個(gè)開發(fā)者開發(fā)的模塊也可以相互利用 ,很好的做到資源共享。目前占據(jù)市場(chǎng)的主要有論文所研究的μ C/OSⅡ以及VxWorks、μ CLinux等。另一方面 ,對(duì)不同的應(yīng)用環(huán)境提供標(biāo)準(zhǔn)的、可裁剪的系統(tǒng)服務(wù)組件。隨著各個(gè)行業(yè)的應(yīng)用發(fā)展 ,早期簡(jiǎn)單的 RTOS 已經(jīng)越來(lái)越顯出功能單一等各方面的不足。它一般為用戶提
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1