碧波液压网 欢迎你,游客。 登录 注册

基于DeltaOS的系统软件设计

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  双星定位系统是我国自主开发的定位导航系统,它的用户手持终端对实时性要求高,考虑到价格以及开发周期的因素,用户机系统软件的开发选用了具有国内自主知识产权的DeltaOS.

  DeltaOS有专门的集成开发环境LambdaIDE,能够方便地编辑代码、构建、下载、调试和移植。本系统的系统软件在DeltaCORE内核上构建,选择采用C语言编写,来提高软件的执行效率和可读性;图形界面基于DeltaGUI设计,采用C++编写,以缩短开发周期。该系统软件设计的重点在于稳定性和可靠性,关键和难点在于实时性的保证。作为一个完善的系统,软件功能的可扩展性也是必不可少的。本文从总体设计入手,针对性地解决了以上问题。

  1 系统功能

  双星用户机是一个定位和通信终端,它除了必须完成定位、通信功能外,还需要有友善的人机交互界面以及测试设备接口。嵌入式系统和外设之间的关系如图1所示。

  

  嵌入式系统的硬件平台是通用性的平台,算法实现和设备各部分的协调控制都由嵌入式软件来实现。软件部分需要完成的具体功能有:界面输入输出控制、入站数据段打包、入站信息加密、入站帧打包、出站帧拆包、出站信息解密和提供测试接口。

  2 提高系统的实时性

  2.1 任务划分的优化

  在设计一个较为复杂的多任务应用时,进行的合理的任务划分对系统的运行效率、实时性和吞吐量影响极大。任务分解过细会引起任务频繁切换的开销增加,而任务分解不够彻底会造成原本可以并行的操作只能按顺序串行完成,从而减少了系统的吞吐量。

  在将一个软件系统分解成并行任务时,主要需考虑的是系统功能的异步性。分析数据流图中的变换,确定哪些变换可以并行,哪些变换在本质上是顺序的,通过这种方法,划分出任务:一个变换对应一个任务,或者一个任务包括几个变换。一个变换是应该成为一个独立的任务,还是应该和其他变换一起组成一个任务,本软件中遵循了H-Gomma原则[1],即:

  ①I/O依赖性原则

  ②时间关键性原则

  ③大计算量原则

  ④功能内聚

  ⑤时间内聚

  ⑥周期性原则

  本系统的软件分为应用软件和系统软件两大部份。应用软件部分位于系统软件上层,它完成图形界面的输入及显示功能。应用软件部分具有处理时间长、实时性要求不高和不存在并行性的特点,因此作为一个GUI任务并且赋予最低优先级。系统软件需要完成所有出入站信息处理,处理过程复杂,实时性要求高,顺序处理显然不能满足要求,因此必须进行任务划分优化。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论