会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
漫步者
嵌入式系统工匠坊https://weidian.com/s/259792644?wfr=c
博客园
首页
新随笔
联系
管理
订阅
上一页
1
2
3
4
下一页
2015年12月13日
QP总体结构
摘要: 量子平台(Quantum Platform, 简称QP)是一个用于嵌入式系统的软件框架。QP 是轻量级的、开源的、基于层次式状态机的、事件驱动的框架。利用QP 可以开发出结构清晰的、事件驱动的嵌入式系统应用程序(使用C 或C++语言)。 基本特性: QP是一个基于事件驱动的嵌入式系统软件框架; 活动
阅读全文
posted @ 2015-12-13 00:50 hyper99
阅读(2280)
评论(0)
推荐(0)
2015年12月2日
对QP中RTC的理解
摘要: 1.概念RTC(Run To Completion)是运行到完成为止的意思。在状态机中,从源状态到目标状态的转换动作要运行到完成。从字面上来看,这个过程像是不可中断的,但实际并不是,这个过程可以被硬件中断程序打断。在本状态机中,一个事件处理要是执行了,本状态机的其它事件到来时,就只能在队列中等待,不可中断这个正在处理的过程,也就是要运行到完成(RTC)。这个事件处理完后,才能对队列中的其它事件进行...
阅读全文
posted @ 2015-12-02 14:13 hyper99
阅读(1456)
评论(3)
推荐(0)
2015年12月1日
SST-超级简单任务调度器结构分析
摘要: SST(Super Simple Task) 是一个基于任务优先级、抢占式、事件驱动、RTC、单堆栈的超级简单任务调度器,它基于Rober Ward一篇论文的思想,Miro Samek用C重新编程实现的,它是QP中QK的的基本思想。QK加上状态机事件处理的方法QEP,再加上任务的注册与事件的保存与分发功能QF,再加上串口调试功能QSpy,再加上基于模型驱动的开发QM,就成了QP。2015年,QP获...
阅读全文
posted @ 2015-12-01 22:19 hyper99
阅读(2383)
评论(1)
推荐(1)
QP之QK原理
摘要: QK是一个很小的抢占式微内核调度程序,它专用用QP中。QK的思想源于SST,Miro Samek重写了自己前期编的SST(Super Simple Task)代码。QK循环查询AO队列的状态表QK_readySet_,查找当前最高级的AO(活动对象,任务),分发最高级AO队列中的事件到相对应的AO中。并在某事件消耗完时,回收事件。QK的流程图如下:
阅读全文
posted @ 2015-12-01 20:30 hyper99
阅读(1467)
评论(2)
推荐(0)
QK对中断的特殊处理
摘要: 1.QK的特性QK(Quntum Kernel)是一个抢占式、基于优先级实时微内核、一个多任务调度器;QK不同于传统的RTOS,是非阻塞的,并且只用了一个stack;对QK中的任务来说,采用了IOC(好莱坞原则)方式(是callback的),而不同于传统RTOS中任务的多线程或进程中的等待;传统RTOS只有中断后,才可能会有任务切换,而QK不只是中断后,在post一个事件后,也可能会使任务切换;Q...
阅读全文
posted @ 2015-12-01 20:06 hyper99
阅读(1021)
评论(0)
推荐(0)
2015年11月24日
程序控制的软件复位方法
摘要: 微处理器复位方法:用硬件引脚RESET的复位方法;用看门狗的复位方法;自己程序控制的复位方法(本文方法,叫软件复位)。软件复位实现方法首先声明一个函数指针,指向复位后要开始执行指令的位置:void (*app_start)(void) = 0x0000;可以根据具体微处理器复位后的位置,修改后边的地址。之后,在自己的程序中想复位的地方调用app_start(); 也就是跳到0x0000位置执行指...
阅读全文
posted @ 2015-11-24 14:38 hyper99
阅读(4727)
评论(0)
推荐(0)
2015年11月10日
软件的按契约设计(DbC---Design by Contract)
摘要: 一.DbC基本概念DbC的思想源于商业活动中商家和用户的行为(义务和利益关系),双方都要遵守一个契约(合同),交易才能完成。商家与用户的契约关系如下:1. 商家必须提供某种产品(义务),并有权获得用户支付的费用(利益);2. 客户端必须支付费用(义务),并有权获得产品(利益);3. 商家用户双方都必须遵守某些义务,如法律,法规。二.软件中的DBCDbC(Design by Contract,按契约...
阅读全文
posted @ 2015-11-10 00:39 hyper99
阅读(1181)
评论(0)
推荐(0)
Arduino平台基于DbC的软件调试
摘要: 基于LED和串口通信的DBC调试工具:HAssert --- Hyper LED/Serial Assert 。本文基于DbC思想 ,在Arduino平台上实现了两种断言显示方式---LED显示和串口输出显示。LED显示方式适用于没有串口(这种情况很少),或者串口已经被占用的情况,只用一个LED的显示次数来调试程序;串口输出显示方式可以把断言内容传送到PC机,在PC机看到出错的位置(文件名和行号)...
阅读全文
posted @ 2015-11-10 00:39 hyper99
阅读(451)
评论(0)
推荐(0)
2015年11月4日
软件测试中的测不准原理
摘要: 1.测不准原理1927年,德国物理学家海森堡,首先提出了量子力学中的不确定性。即在一个量子力学系统中,一个粒子的位置和它的动量不可被同时确定。这就是著名的测不准原理。基于海森堡的测不准原理,推广之,对任何系统,加入了观测后,必然会对系统产生或多或少的影响。或者说,如果你要观测一个系统,严格意义上说,它就不是原来的系统了。如何既要对系统进行观测,又要对系统影响最小? 2.软件测试方法软件的测试方法有...
阅读全文
posted @ 2015-11-04 00:45 hyper99
阅读(1109)
评论(0)
推荐(0)
2015年11月3日
关于嵌入式软件
摘要: 一.简介嵌入式软件是电子产品中不可缺的一部分。嵌入式软件关心的不是数据转换,而重点在与物理世界的交互上。它运行在一个机器或电子设备上【1】。二.特点时间性、并发性、活跃性、鲁棒性、连续体(continuums) 、响应性、异构性、资源分配这些方面是嵌入式软件需要考虑的问题。嵌入式软件目的不是一般意义计算中的数据转换,而是要与物理世界进行交互。嵌入式软件是运行在机器上的程序,它运行于汽车、飞机、电话...
阅读全文
posted @ 2015-11-03 23:02 hyper99
阅读(990)
评论(0)
推荐(1)
上一页
1
2
3
4
下一页
公告