QP-nano結構分析


QP-nano是QP的一個裁剪版本,是一個通用的、可移植的、超輕量級的事件驅動型框架。適用於像8051、PIC、AVR、MSP430、68HC01/11/12、R8C/Tiny等資源受限的8位和16位MCU。其一個QP-nano應用可以放入到只有100字節的RAM和2K字節ROM的系統中。

適用的應用范圍是電機控制,照明控制,電容觸摸,遙控、RFID、溫度調節器、小家電控制、玩具、電源、電池充電器等。

特征:

  • 支持最多4層狀態嵌套;
  • 支持最多8個活動對象(AO);
  • 支持最多255個事件;
  • 采用直接分派事件實例到AO的隊列中;
  • 每個AO有一個一次性時間事件;
  • 可選采用搶占式調度QK_nano或合作式調度Vanilla;
  • 具有空閑回調函數結構,方便實現低功耗模式;
  • 具有斷言的錯誤處理功能。

QPnano總體結構圖如下:

QP_nano結構分析
圖1. QP-nano總體結構

QK調度流程如下:
QP_nano_QK流程
圖2. QP-nano之QK流程

Vanilla調度流程如下:
QP_nano之Vanilla流程
圖3.QP-nano之Vanilla流程

參考:
【1】Miro Samek《UML狀態圖的實用C/C++設計---嵌入式系統的事件驅動型編程技術》第二版


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM