- 1
- 0
- 约4.21千字
- 约 6页
- 2017-04-11 发布于贵州
- 举报
构建在中小规模CPU上的实时UML框架程序设计环境构建在中小规模CPU上的实时UML框架程序设计环境
构建在中小规模CPU上的实时UML框架程序设计环境
通过状态机部件、基础框架、任务管理内核和跟踪调试器的移植证明了这种平台在中小型CPU上运行的可行性、便捷性和高可靠性等优点。最后,通过航天相机控制器应用程序设计实例中各个任务线程的执行时间测量结果及可调度结果进一步验证了该平台的实用性。
随着高级编程语言和操作系统在越来越多种类的CPU构架上的应用,系统应用程序变得越来越大,越来越复杂。并且实际应用大多对于程序的设计周期、可靠性都具有很高的要求。基于传统的嵌入式实时操作系统的软件设计,虽然可使程序的实时性能得到提高,但是并行程序设计过程中存在着更多的竞争状态,而且这些竞争状态极难被发现。如何能够找到一种符合软件工程学的程序设计方法成为每个嵌入式软件工程师所面临的问题。
传统的实时操作系统虽然可以完成任务管理,但是往往代码量较大,任务切换要求复杂,完全摒弃编译器提供的程序调用机制,采用任务堆栈机制,接口程序设计要求高,实现任务切换时占用资源较大,不适合应用于8位和16位总线构架的CPU上。
另一方面,基于UML 的实时框架程序设计方法对于当今的高复杂性、短开发周期的商业环境来说变得越来越重要。主要是因为UML 语言是可执行的,所以根据UML 建立的系统行为模型可以生成可执行代码,从而节约了从抽象模型到手工编写可执行代码的费时、费力的工作量。但是所有的UML 代码生成工具是为类似PC上应用而设计的,不适合应用于中小型的CPU,且售价昂贵。
如果将RTOS的实时性与UML模型设计的直观性、安全性和便捷性相结合,应用于中小规模的CPU 芯片无疑会给深度嵌入式系统开发带来更多的手段。
1 实时UML 框架程序设计平台(QP)简介
QP是使用实时抢占式任务管理内核、基于UML状态图的软件设计方法的轻量级软件平台,是一种新式操作系统。QP软件平台结构如图1所示由以下4个部件组成。
1.1 任务管理内核(QK)
QK也采用了类似其他商业内核的优先级的抢占机制以保证关键任务得到实时执行。但是QK 实现抢占的原理有别于任何一种操作系统。QK采用的是Moore状态机的“运行到结束”的机制,因此当系统还在忙于处理前较低优先级事件时,当较高优先级的事件到来时,系统将新事件存储在消息队列中,直到低优先级事件完成后,再执行新事件。QK 的实现原理不同于传统RTOS的堆栈操作,仅使用C 语言编译器的中断服务程序(ISR)机制就可完成。也就是QK的移植完全不需要插入额外的汇编语句。所以,任务切换时没有额外的开销,执行速度快,相当于子程序调用。当然如果使用其他RTOS 的任务管理功能也能代替QK,稍候在QP 到TMS320LF2407的接口程序设计部分介绍。
?
1.2 基础框架平台
该框架平台完成了驱动事件管理功能、状态机架构管理和实时任务管理功能。
实时UML框架序设计平台(QF)中任务是由能实现轻量级UML状态机和用来接收触发事件的消息队列组成。因此基于实时UML框架的任务具有UML状态机的特点。QF 将任务分为激活状态和休眠状态,QF 根据触发事件和任务优先级对其进行管理。实际工作时任务间采用异步的事件发送和接收机制进行通信。任务使用消息队列接收其他活动对象的事件消息;同时,不同任务产生的事件也会利QF投送给其他订阅该消息的任务。对于触发事件的交换,排队,收集,销毁等工作则由QF统一完成。可见,任务间通过QF框架进行间接通信,实现了事件松耦合。因此基于QF的程序设计可以采用模块化的设计方法,给设计过程中方案的修改和设计后期的软件维护提供了极大的方便。正像使用UML 的自动设计工具软件进行程序设计的过程一样,使用QF的程序设计也遵循以下过程:使用UML语义进行模型设计,根据QP平台代码转换方法将UML模型转化为源代码。
总之,基于QF的程序设计实现了可视化程序设计和“自动”代码生成的目的;另外,在嵌入式系统中也可以将QF当作为一个软件总线,将QF的接口移植到其他OS之上,以隐藏下层硬件和软件的差异。
1.3 状态机部件(QEP)
上节提到的QF任务的状态机的特性是由状态机部件(QEP)完成的。QEP是一个简化的轻量级的UML状态机部件,实现了状态机的状态转换触发事件响应等功能。QEP提供了两种状态机类型:层次化状态机(HSM)和平面状态机(FSM)。
1.4 跟踪调试器(QSPY)
QSPY 使用缓存机制采集系统内运行状态,事后在空闲任务时再编码输出,再有在整个QP 平台中QSPY调试插件有机的与系统关键运行环节有机的结合在一起,因此基于QSPY的调试可以获得更多的系统的信息的同时又不会过多地干扰程序的正常运行。在这一点上比传统RTOS中的跟踪调试器更领先一步。
2 QP 到TMS320LF2407 的接口移植
QP存在C和C++版本。基于C语言版本的
您可能关注的文档
- 杨柳青一中2011四五四总结.doc
- 杨浦区新王牌-20150502生物进化专题课.doc
- 杨玲:运用远程教育资源 优化语文课堂教学.doc
- 杨玮玮 教学反思.doc
- 条件概率树图法2014.doc
- 杨钰兴(勃起功能障碍的干细胞治疗研究).doc
- 杨迪---《典型机械零件的检测》课程开发浅谈.doc
- 杨雪飞好习惯个案分析.doc
- 杭城各品牌4S店大全.doc
- 杨静论文之数码产品网络营销策划方案2.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- BSC-1100ⅡA2-X和1500A2生物安全柜产品使用说明书.pdf VIP
- 2026年江西青年职业学院单招职业技能考试必刷测试卷附答案.docx VIP
- 高中物理校本课程教材.docx VIP
- 南京医科大学-药理学-期末复习资料汇总.pdf VIP
- 2025年江西青年职业学院单招职业技能考试必刷测试卷附答案.docx VIP
- 北京航空航天大学《飞行器设计》期末考核试卷(含答案).docx VIP
- 第七章 part3幼儿园教职工配备标准 (暂行)(课件)2024年《学前教育政策法规》同步教学(高教版).pptx VIP
- 2024年山东职业学院高职单招(英语/数学/语文)笔试历年真题摘选含答案解析.docx
- 复旦大学保险公司财务管理第五章 保险公司财务比率分析.ppt VIP
- 患者十大安全目标(2025)PPT课件.pptx VIP
原创力文档

文档评论(0)