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

正文內容

實現(xiàn)freertos系統(tǒng)傻瓜編程-全文預覽

2024-08-28 04:15 上一頁面

下一頁面
  

【正文】 R 定時器1外設的比較匹配事件以這種方式出現(xiàn)的上下文切換,稱為Preemptive。RTOS tick ISR使得vControlTask準備運行,當vControlTask比RTOS idle task有更高的優(yōu)先級,切換上下文到 vControlTask.。如果是這種情況,tick ISR應該返回到新的喚醒/解鎖的任務實際(effectively)中斷一個任務,卻返回到另一個任務。定時器中斷(RTOS tick interrupt) 用嚴格的時間精度(temporal accuracy )來增加 tick count 允許實時內核 WinAVR是一個自由/免費的在windows下的AVR交叉編譯器,它是基于GCC的。本節(jié)的最后還一步一步地瀏覽(step by step look)了一個完整的上下文切換。在t8時刻,vControlTask完成處理控制循環(huán),掛起自己以等待下一個事件。下一個鍵盤按下出現(xiàn)在t6時刻,但在vKeyHandlerTask完成處理鍵之前,一個定時器事件出現(xiàn)了。RTOS idle task分配到處理器時間。而vKeyHandlerTask現(xiàn)在是最高優(yōu)先級的任務,可以運行了,所以,為了處理先前的鍵盤事件,分配(scheduled)到了處理器時間.7.VKeyHandlerTask不能被執(zhí)行,因為它沒有vControlTask的優(yōu)先級高。在t3時刻,一個定時器事件預示(indicates),可以執(zhí)行下一個控制循環(huán)了。在t2時刻,vKeyHandlerTask已經完成了對按鍵的處理,并更新了LCD。在最開始,我們的兩個任務都不能被執(zhí)行vControlTask等待合適(correct)的時間開始新的控制循環(huán),vKeyHandlerTask等待鍵盤按下??刂迫蝿斟e過最后期限(deadline)的后果 比 鍵盤處理任務 要嚴重。 for( 。{}現(xiàn)在假設 實時系統(tǒng)也執(zhí)行一個依賴數(shù)字濾波輸入的控制功能。 //鍵盤處理是一個連續(xù)的過程。{用戶必須 在合理的時段 為 每個鍵盤按下 取得視覺反饋(visual feedback).。出現(xiàn)在真實世界中的事件可能有一個時間限制(deadline),在此期限之前,實時/嵌入式系統(tǒng)必須給出響應,RTOS調度策略必須確保時間限制是恰當?shù)?met).為了達到這個目的,軟件工程師必須首先為每個任務設置一個優(yōu)先級(priority)。s)通過同樣的原理達到多任務的目的。為了避免這類錯誤,必須保證,在恢復一個任務之后,其上下文環(huán)境跟 即將掛起前是一樣的。任務將要執(zhí)行ADD指令時,被掛起先前的指令已經把數(shù)取到寄存器(Reg1,Reg2)中了,而這些寄存器(Reg1,Reg2)將要被ADD指令用到。上下文切換跟任何其他程序一樣,一個任務執(zhí)行時,它使用 處理器/微控制器 的寄存器,訪問RAM ROM。接下來(the next time),Task2在9處執(zhí)行?;謴蚑ask37)內核掛起Task13)如果一個任務想延遲一段固定的時間(也就是sleep),或者等待(也就是block)某個資源可用(比如一個串口),或者等待一個事件出現(xiàn)(比如一個鍵按下)。調度策略(scheduling policy)是調度器用來決定哪個任務在哪個時間點執(zhí)行的算法。時間從左到右增加,相應的顏色的線條 顯示該任務在某個特殊時間正在執(zhí)行。但通過快速的任務切換,一個多任務操作系統(tǒng)可以使它看起來(appear)好像每個任務并行執(zhí)行一樣。3.如果一個操作系統(tǒng)能夠以這種方法執(zhí)行多個任務,這就叫做多任務[multitasking].多任務操作系統(tǒng)的使用可以簡化應用程序的設計:1.多任務(Multitasking)在一個操作系統(tǒng)內部,內核[kernel]是最核心的部件。 3.從底向上(from the bottom up)解釋實時內核源代碼FreeRTOS實時內核已經移植到許多不同的微控制器架構下。移植實時內核到另一個微控制器或者原型板(prototyping board)3.希望修改FreeRTOS源代碼2.基本原理和RTOS概念包括多任務的背景信息和基本實時概念,這是為初學者準備的(is intended for beginners)2.有免費可用的開發(fā)工具 WinAVR (GCC) development tools.讀下一節(jié)之前必須理解這些概念。在操作系統(tǒng)的控制下,每個正在執(zhí)行的程序就是一個任務[task]。(程序的)劃分(partitioning)讓軟件測試更容易, 團隊工作分解(work breakdown within teams),也有利于代碼復用。多任務Vs 并發(fā)傳統(tǒng)的(conventional)的處理器同時只能執(zhí)行一個任務。任務名用顏色標注出來,寫在左手邊。內核可以在任務的生命期(lifetime) 掛起(suspend) / 恢復(resume)一個任務許多次。除了被RTOS內核無意的掛起外,一個任務還可以自己掛起自己。Task1正在運行2)內核 掛起Task26)內核恢復Task1………….9)它發(fā)現(xiàn) 現(xiàn)在可以訪問處理器外設了,于是開始執(zhí)行,直到被內核掛起。下面考查(Consider)的這個例子是用來求兩個處理器中的寄存器值之和,該任務在執(zhí)行1條指令后就立即被掛起。在恢復之后,這個任務也不知道處理器的寄存器被修改過(altered).如果它使用這個修改過的值,就會導致計算的和的結果不正確。保存一個被掛起的任務的上下文 并在 任務恢復時 恢復其上下文的這個處理過程就叫做上下文切換(context switching)實時應用實時操作系統(tǒng)(RTOS39。實時/嵌入式系統(tǒng)設計成提供一個對 真實世界的事件的及時響應(timely response)。代碼示例:最基本的例子是 一個由鍵盤和LCD組成的實時系統(tǒng)。這個功能可以用一個 下面這樣的結構的獨立(autonomous)任務 實現(xiàn):void vKeyHandlerTask( void *pvParameters ) ) { [Suspend waiting for a key press] [Process the key press] } 這個功能可以 用下面這個結構的 獨立任務 實現(xiàn):void vControlTask( void *pvParameters )控制任務的時間限制(deadline) 比 鍵盤處理任務的 要嚴格;2.RTOS idle task 總是處于可以執(zhí)行的狀態(tài)(注:也就是它不可能會因為等待什么外設資源而被阻塞,而是處于一種隨時待命的狀態(tài)).上圖中:1.3.4.在t3和t4之間,當vControlTask任務還在執(zhí)行的時候,一個鍵按下。在t4時刻,vControlTask完成了控制循環(huán)的處
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1