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

正文內(nèi)容

嵌入式系統(tǒng)復(fù)習(xí)20xx新-文庫吧資料

2025-05-19 01:07本頁面
  

【正文】 該系列包括 ARM7TDMI、 ARM7TDMIS、帶有高速緩存處理器宏單元的 ARM720T和擴(kuò)充了 Jazelle的ARM7EJS。 174 ARM簡介 將技術(shù)授權(quán)給其它芯片廠商 形成各具特色的 ARM芯片 . . . 已有 100多家公司與 ARM公司訂購技術(shù)使用許可協(xié)議 175 常用 ARM處理器系列 ARM公司開發(fā)了很多系列的 ARM處理器核,目前最新的系列是 Cortex,而 ARM6核以及更早的系列已經(jīng)很罕見了。 公司的特點(diǎn)是只設(shè)計(jì)芯片,而不生產(chǎn)。 系統(tǒng)時(shí)鐘中斷,沒有提供用戶使用定時(shí)器,可以借鑒 linux的定時(shí)器加以修改 可以加上文件系統(tǒng)和 TCP/IP協(xié)議棧 171 學(xué)習(xí) uC/OS的步驟 學(xué)習(xí)與研究 uC/OS的起點(diǎn):在 PC上執(zhí)行 uC/OS ,環(huán)境: TC編譯環(huán)境,新建一個(gè)工程 應(yīng)用程序設(shè)計(jì):消費(fèi)者與生產(chǎn)者經(jīng)典問題。 170 uC/OS的改進(jìn) 固定的基于優(yōu)先級的調(diào)度,不支持時(shí)間片,使用起來不方便。 定義函數(shù) OSTickISR。 定義函數(shù) OSCtxSw實(shí)現(xiàn)用戶級上下文切換,用純匯編實(shí)現(xiàn)。 169 移植要點(diǎn) 定義函數(shù) OS_ENTER_CRITICAL和 OS_ENTER_CRITICAL。 與應(yīng)用相關(guān)的設(shè)置頭文件 , 包括 : , 。內(nèi)核對任務(wù)的占先式調(diào)度不會(huì)干擾每個(gè)任務(wù)的總的運(yùn)行結(jié)果。 變量加一,記錄系統(tǒng)啟動(dòng)以來的時(shí)鐘滴答數(shù) } 165 OSTimeTick( void ) 令指針指向第一個(gè)任務(wù) 是否是空閑任務(wù) ? 任務(wù)是否存在延時(shí) ? 延時(shí)數(shù)減一 延時(shí)數(shù)是否為 0? 如果條件合適 , 將該 任務(wù)放入就緒列表 令指針指向下一個(gè)任務(wù) OSTime++ 返回 是 否 是 否 是 否 空閑任務(wù)總是最后一個(gè)任務(wù) 對任務(wù)表進(jìn)行掃描 預(yù)定的延時(shí)到了, 就應(yīng)該在使任務(wù)處于就緒 條件是:任務(wù)沒有處于掛起態(tài) 任務(wù)沒有延時(shí)的話忽略即可 166 時(shí)間 任務(wù)一 任務(wù)二 OSStart Time Tick Time Tick 1 25 50 Time Tick 空閑任務(wù) 167 總結(jié) 不存在一個(gè)內(nèi)核任務(wù) /實(shí)體,內(nèi)核的管理是通過調(diào)用系統(tǒng)函數(shù)來實(shí)現(xiàn)的。 } } } ptcb = ptcbOSTCBNext。 是的話將其列入準(zhǔn)備就緒表 OSRdyTbl[ptcbOSTCBY] |= ptcbOSTCBBitX。 OSTCB鏈表指針 while (ptcbOSTCBPrio != OS_IDLE_PRIO) { 看是不是空閑任務(wù),空閑任務(wù)是最后的任務(wù) if (ptcbOSTCBDly != 0) { 是否延時(shí) if (ptcbOSTCBDly == 0) { 延時(shí)減一,看是否延時(shí)結(jié)束 if (!(ptcbOSTCBStat amp。 } } 164 void OSTimeTick (void) { OS_TCB *ptcb。 OSIdleCtr++。 } 162 OS_TASK_SW 任務(wù)的上下文切換 通過 sc系統(tǒng)調(diào)用指令完成 保護(hù)當(dāng)前任務(wù)的現(xiàn)場 恢復(fù)新任務(wù)的現(xiàn)場 執(zhí)行中斷返回指令 開始執(zhí)行新的任務(wù) 163 什么也不做的空閑任務(wù) 只是為了消耗 CPU的時(shí)間片 void OSTaskIdle ( ) { for (。 OS_TASK_SW()。 獲取準(zhǔn)備就緒組里最高優(yōu)先級的任務(wù) if (OSPrioHighRdy != OSPrioCur) { OSTCBHighRdy = OSTCBPrioTbl[OSPrioHighRdy]。 if ((OSLockNesting | OSIntNesting) == 0) { 調(diào)度鎖,或者處于中斷狀態(tài)禁止調(diào)度 y = OSUnMapTbl[OSRdyGrp]。 調(diào)度下一個(gè)任務(wù)開始運(yùn)行 } } 161 void OSSched (void) { INT8U y。 在 TCB中裝載延時(shí)數(shù) OS_EXIT_CRITICAL()。= ~OSTCBCurOSTCBBitY。 進(jìn)入臨界段代碼 if ((OSRdyTbl[OSTCBCurOSTCBY] amp。 OSStartHighRdy()。 當(dāng)前運(yùn)行任務(wù)優(yōu)先級 OSTCBHighRdy = OSTCBPrioTbl[OSPrioHighRdy]。 OSPrioHighRdy = (INT8U)((y 3) + x)。 if (OSRunning == FALSE) { 判斷是否沒有啟動(dòng)內(nèi)核 y = OSUnMapTbl[OSRdyGrp]。 OSStart()。Task2Stk[TASK_STK_SIZE],Task2prio)。 OSTaskCreate (Task2, (void *)amp。Task1Data, (void *)amp。 OSInit ()。 OSTimeDly(50)。 Task2Data++。 blinkled2()。 do something。) { do something。 } 155 任務(wù)的格式 每個(gè)任務(wù)不能占用全部 CPU的資源 需要有等待,或延時(shí)等系統(tǒng)調(diào)用 典型的一個(gè)無限循環(huán)。 154 多任務(wù)的啟動(dòng) 首先創(chuàng)建任務(wù) 最后調(diào)用 OSStart開始多任務(wù)調(diào)度 void main( ) { OSInit( )。首先 32位的整數(shù) OSTime加一。 uC/OS中提供了 OSIntEnter() 和 OSIntExit() 告訴內(nèi)核進(jìn)入了中斷狀態(tài)。 P()操作減少信號量的值,如果新的信號量的值不大于 0,則操作阻塞; V()操作增加信號量的值。信號量的計(jì)數(shù)值可以為二進(jìn)制 , 也可以是其他整數(shù)。 /*等待任務(wù)組 */ } OS_EVENT。 /*計(jì)數(shù)器 ( 當(dāng)事件是信號量時(shí) ) */ INT8U OSEventType。 /*指向消息或消息隊(duì)列的指針 */ INT8U OSEventTbl[OS_EVENT_TBL_SIZE]。 提供了經(jīng)典操作系統(tǒng)任務(wù)間通信方法:信號量、郵箱、消息隊(duì)列,事件標(biāo)志。 ? 為什么頻繁的使用查表法 ? 請問 OSUnMapTbl的來歷; 149 INT8U const OSUnMapTbl[] = { 0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0 }。 Low3 =OSUnMapTbl[OSRdyTbl[High3]]。 假設(shè)優(yōu)先級為 12, 1 100b OSRdyGrp |=0x02; OSRdyTbl[1] |=0x10。 OSRdyTbl[prio3] |=OSMapTbl[prio amp。 …… OSMapTbl[7] =27=0x80。uC/OS 中 , 把 2n 的 n=07 的 8 個(gè)值 先 計(jì) 算 好 存 在 數(shù) 組OSMapTbl[7]中 ,也就是: OSMapTbl[0] =20=0x1。 而優(yōu)先級為 21的任務(wù)就緒 21=10 101b, 則 OSRdyTbl[2]的第 5位置 1, 且 OSRdyGrp的第 2位置 1,相應(yīng)的數(shù)學(xué)表達(dá)式為: OSRdyGrp |=0x04; OSRdyTbl[2] |=0x20。 – OSRdyTbl[]:位圖方式表示某個(gè)任務(wù)是否就緒。 140 任務(wù)的調(diào)度 就緒任務(wù)表:用于存貯每個(gè)任務(wù)的就緒狀態(tài)標(biāo)志。 } OS_TCB 137 任務(wù)的狀態(tài) 138 任務(wù)的狀態(tài) OSTCBStat 運(yùn)行,就緒,等待,掛起 … 可以有多個(gè)準(zhǔn)備就緒的任務(wù),但一個(gè)時(shí)刻只有一個(gè)任務(wù)可以運(yùn)行, OSHighRdy 掛起 隊(duì)列 郵箱 信號量 低四位 OSTCBStat 139 任務(wù)的調(diào)度 OSSched uC/OS是占先式實(shí)時(shí)多任務(wù)內(nèi)核,優(yōu)先級最高的任務(wù)一旦準(zhǔn)備就緒,則擁有 CPU的所有權(quán)開始投入運(yùn)行。 INT8U OSTCBPrio。 INT16U OSTCBDly。 OS_EVENT *OSTCBEventPtr。 struct os_tcb *OSTCBNext。 所有的任務(wù)控制塊分為兩條鏈表,空閑鏈表和使用鏈表。 優(yōu)先級越高 , 數(shù)字越小 系統(tǒng)占用了兩個(gè)任務(wù),空閑任務(wù)和統(tǒng)計(jì)任務(wù)。 do something。) { do something。 131 What is uC/OS? u: Micro C:control uC/OS : 適合于小的、控制器的操作系統(tǒng) 小巧 公開源代碼,詳細(xì)的注解 可剝奪實(shí)時(shí)內(nèi)核 可移植性強(qiáng) 多任務(wù) 確定性 132 The Story of uC/OS 美國人 Jean Labrosse 1992年編寫的 商業(yè)軟件的昂貴 應(yīng)用面覆蓋了諸多領(lǐng)域,如照相機(jī)、醫(yī)療器械、音響設(shè)備、發(fā)動(dòng)機(jī)控制、高速公路電話系統(tǒng)、自動(dòng)提款機(jī)等 1998年 uC/OSII,目前的版本 uC/OSII 133 概要 內(nèi)核結(jié)構(gòu) 任務(wù)以及調(diào)度機(jī)制 任務(wù)間通信 uC/OS的移植 在 PC機(jī)上運(yùn)行 uC/OS 134 任務(wù) task 典型的一個(gè)無限循環(huán)。通過有效的系統(tǒng)服務(wù),嵌入式實(shí)時(shí)操作系統(tǒng)使得系統(tǒng)資源得到更好的利用。 130 嵌入式操作系統(tǒng) 實(shí)時(shí)操作系統(tǒng)的優(yōu)缺點(diǎn) 優(yōu)點(diǎn) :在嵌入式實(shí)時(shí)操作系統(tǒng)環(huán)境下開發(fā)實(shí)時(shí)應(yīng)用程序使程序的設(shè)計(jì)和擴(kuò)展變得容易,不需要大的改動(dòng)就可以增加新的功能。 ?提高了開發(fā)效率,縮短了開發(fā)周期。在嵌入式應(yīng)用中,只有把 CPU嵌入到系統(tǒng)中,同時(shí)又把操作系統(tǒng)嵌入進(jìn)去
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1