嵌入式與韌體

不使用OS的微控制器程式中常見的「超級迴圈(super loop)」架構,下列說明何者正確?

  1. A在main中的無限迴圈裡依序持續呼叫各項處理,緊急的處理以中斷執行
  2. B每項處理各建立一個行程,由OS切換
  3. C每完成一項處理就重新啟動微控制器
查看答案與解析

正確答案:A. 在main中的無限迴圈裡依序持續呼叫各項處理,緊急的處理以中斷執行

在超級迴圈中,初始化之後在「while (1)」裡依序持續呼叫感測器讀取、運算、顯示等處理。對時間要求嚴格的處理以中斷執行,再用旗標通知迴圈。優點是不需要OS、所需記憶體也少、動作容易追蹤。不過只要有一項處理耗時較長,其他處理全都會延遲,因此當處理增加而變得複雜時,會考慮採用RTOS。

  • A. 正確。簡單,適合小型微控制器。
  • B. 那是使用OS的架構。
  • C. 不會重新啟動。
練習這個領域 前往領域頁面

嵌入式與韌體的其他題目

  1. 在嵌入式裝置中使用RTOS(即時作業系統)的主要目的,下列何者正確?
  2. 在搶先式(preemptive)RTOS中,執行優先順序較低的工作時,優先順序較高的工作收到了等待的資料而成為可執行狀態。一般會發生什麼事?
  3. 關於RTOS中發生的優先順序反轉,下列說明何者正確?
  4. 用來防止優先順序反轉的「優先順序繼承」,其概念下列何者正確?
  5. 在RTOS中,從讀取感測器的工作傳遞資料給負責顯示的工作時,使用佇列(訊息佇列)的優點,下列何者正確?

這個領域的比較