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总体结构图如下:

参考:
【1】Miro Samek《UML状态图的实用C/C++设计---嵌入式系统的事件驱动型编程技术》第二版

时间: 2024-12-07 06:48:28

QP-nano结构分析的相关文章

QP结构分析

QP是一个基于事件驱动的嵌入式系统软件框架,其总体结构如下图. AO活动对象由事件队列和层次状态机两部分组成,每个AO占有一个优先级: QF量子框架由五个数据结构及操作组成,其数据结构采用了uCOS-II相似的结构: QP有两种调度方式:合作式调度Qvanilla和抢占式调度QK,按实际要求选择一种: QS跟踪调试工具: GUI,TCP/IP通信等其它功能,可以以AO插件的方式加入到平台中. ? 参考: [1]http://www.state-machine.com [2][嵌入式系统工匠坊--

Nano快速入门

Windows Server 2016 提供了新的安装选项:Nano Server. Nano Server 是针对私有云和数据中心进行优化的远程管理的服务器操作系统. 类似于 Windows Server 的"服务器核心"模式,但显著变小了,无本地登录功能,且仅支持 64 位应用程序.工具和代理. 其所需的磁盘空间更小,启动速度明显更快,且所需的更新和重启操作远远少于 Windows Server. 当它未重新启动时,则可以更快地重新启动. Nano Server 安装选项仅适用于

Linux菜鸟的笔记(二)---- "nano"

文章的题目是加了引号的nano,提起nano我们会想起啥: 下面这个 还是这个 no,no,no! 我们的重点是linux,当然是linux的nano编辑器啊!nano在我心中的地位是:最简单的编辑器 接触nano时还是个linux小白,当时入手了树莓派3b,使用树莓派时需要配置个静态的ip,不需要经常移动.当时就百度了一下咋编辑网络配置文件,有人说用vi/vim,二话不说,没点linux基础就vim /etc/network/interface  进入发现界面挺好看,花花绿绿的.不过敲键盘没反

nano 命令 linux

用途说明 nano是一个字符终端的文本编辑器,有点像DOS下的editor程序.它比vi/vim要简单得多,比较适合Linux初学者使用.某些Linux发行版的默认编辑器就是nano.(nano - Nano's ANOther editor, an enhanced free Pico clone. It's not iPod Nano.前面那句摘自nano命令的手册页,后面那句我加的) 常用参数 nano命令可以打开指定文件进行编辑,默认情况下它会自动断行,即在一行中输入过长的内容时自动拆分

Nano Server与Windows 2016完全安装版本对比

(一)启动时间.读写.进程数.服务数对比 首先是Nano Server和server core,以及Full Server版本的对比信息,可以看到Nano Server在启动时间上.读写方面都有很大优势. 然后看一下普通的完全安装的windows server 2016的默认进程数量和服务数量分别是45和72. 接下来通过new-pssession的方式连接到nano server上面. 连接上去之后,可以通过远程powershell的方式查看nano server的IP等信息. 对比看一下,n

文件系统、mkdir、touch、nano、cp笔记

文件系统:rootfs: 根文件系统 FHS:Linux发行版目录层级遵循协议 /boot: 系统启动相关的文件,如内核.initrd,以及grub(bootloader)引导加载器/dev: 设备文件    设备文件:        块设备:随机访问,数据块        字符设备:线性访问,按字符为单位        设备号:主设备号(major)和次设备号(minor)/etc:配置文件/home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME/root:管理员的家

Arduino Nano + WIZ550io = 简易上网

我爱Arduino Nano – 这是一个非常好外形小巧却功能齐全的Arduino Uno.然而.当我去将它连接到互联网,全部的干净利落小巧也消失在大尺寸的以太网盾底下了. 只是,我近期发现了一个更好的,更紧凑的方式给我的nano连接到互联网 – 通过使用WIZnet公司小巧得多(且更廉价)的WIZ550io模块! 假设你想方便连接,你能够找到一个可连接该模块和Arduino Uno的适配器板,但我想保持小巧的子板.通过我的Nano把它们直接连接在一起.然而.假设你没有适配板,你能够利用同样的方

PNG文件结构分析 ---Png解析

PNG文件结构分析 ---Png解析 为了实现更高级的应用,我们必须充分挖掘PNG的潜力. PNG的文件结构 根据PNG文件的定义来说,其文件头位置总是由位固定的字节来描述的: 十进制数 137 80 78 71 13 10 26 10 十六进制数 89 50 4E 47 0D 0A 1A 0A 其中第一个字节0x89超出了ASCII字符的范围,这是为了避免某些软件将PNG文件当做文本文件来处理.文件中剩余的部分由3个以上的PNG的数据块(Chunk)按照特定的顺序组成,因此,一个标准的PNG文

ubuntukylin基础 使用nano编辑器 在当前目录下新建一个文档,写入内容,并保存

镇场文:       学儒家经世致用,行佛家普度众生,修道家全生保真,悟易理象数通变.以科技光耀善法,成就一良心博客.______________________________________________________________________________________________________ 我的系统:UbuntuKylin 16.04 LTS 64bit step0: 使用nano新建一个txt文档,并编辑 step1: show: edit: step2: ct

快速部署Windows Nano Server 2016 Hyper-V虚拟机

在微软新发布的Windows Server 2016中除了Server Core和GUI版本外,还新增了一个为云端量身定做的Windows Nano Server版本,类似于Server Core,但是比Server Core显得更新的轻巧,更加的精简,仅有几百兆,当然对于OS所需要的安全补丁等也少得多. 对于Windows Nano Server 2016是支持部署在物理服务器或虚拟化平台上的.目前的Nano Server的部署方式不同于Server Core或GUI版本,并没有传统的安装向导