当前位置:首页 >> 技术频道 >> 嵌入式开发

基于构件技术的嵌入式系统复用软件设计

来源:单片机与嵌入式系统应用 作者:杨胜春 曲朝阳 发布时间:2009-06-22 09:33:37 发表评论

摘要:本文介绍了其中主要的系统级软件构件的开发方法,为系统集成各种应用级软件提供了总体框架,解决了控制系统应用软件难维护、难继承的问题,为控制类应用软件的开发提供了依据。

关键词:嵌入式系统

  引言

  对嵌入式软件构件平台而言,其支撑平台首先是一个嵌入式实时多任务操作系统,其次为整个软件构件的设计提供开发工具和集成环境。

  在支撑平台的设计过程中,可以借鉴领域工程的思想,将整个嵌入式实时多任务操作系统设计成一个系统级的软件构件库。这样不但实现了嵌入式操作系统的可裁剪性,而且由于从嵌入式操作系统到应用程序的设计都是基于离散化的软件构件,因此方便了嵌入式控制应用软件设计时的集成和调试。为了方便软件构件的管理,可以将系统级和应用级的软件构件库综合成一个功能完备的软件构件库。它包括从嵌入式控制系统的系统层、支撑层和应用层所需的一切软件构件,因而具有功能的完整性[1]。

  1 嵌入式软件构件平台的体系结构

  嵌入式软件构件平台的体系结构如图1所示,它包括系统层、连接层(支撑层)和应用层3个部分。系统层属于领域工程的范畴,它利用领域工程的分析方法对嵌入式控制系统进行分析、抽象和提炼,并分解成相应的系统类和应用类功能模块。连接层是一个嵌入式软件构件平台,它实现系统层和应用层之间的无缝连接,即提供软件构件一个集成开发平台。应用层属于应用工程的范畴,用户根据实际的嵌入式控制系统的控制要求和目标,从软件构件库中选取所需软件构件,经集成后生成实际的嵌入式控制应用程序。

嵌入式软件构件平台的体系结构 

  图1 嵌入式软件构件平台的体系结构

  2 嵌入式软件构件平台的设计

  该软件构件平台是基于TMS320F2812 DSP芯片构建的一个构件化的嵌入式实时多任务操作系统。在设计时充分利用了平台体系结构所述的设计思想,程序的可读性和裁剪性非常好。其特点是:

  ① 设计了操作系统和系统两个数据结构。为了方便支撑平台的设计和对系统资源的集中管理,设计了操作系统数据结构,该数据结构为平台设计者独占,用户没有访问该数据结构的权限;另外,为了便于用户程序与操作系统之间的交互以及对系统资源的访问、申请,设计了系统数据结构。该数据结构用户是可见的,也是应用程序访问操作系统的唯一途径。

  ② 配置了一个最小系统。其主要功能是当接到启动指令后对指令进行确认并判断启动方式;然后,根据启动方式完成微处理器的CPU寄存器和一些外围寄存器的初始化,并且对操作系统和系统两个数据结构进行初始赋值。但它不能实现任何的控制功能,完成初始化后就处于系统扫描状态。

  ③ 系统设计的任务数小于或等于16(即一个字长),这样一来任务的调度算法相对比较简单,而且完全能够满足嵌入式实时控制系统应用的要求。每一个任务指定唯一的优先级,其任务优先级与任务标识一致,优先级越高的任务其优先级ID就越低。可供任务选择的优先级ID范围是0~15,其中系统保留了最高和最低优先级任务。通信及系统同步采用了信号量方式(可以扩展),设计了P操作和V操作两种软件构件,对系统进行通信和同步管理;同时,设计了创建任务和任务开始两个软件构件,分别为任务的建立和结束提供系统管理。

  ④ 设计了任务调度、任务切换、任务上锁、虚拟消息等软件构件,实现系统对多任务的控制和管理。为了方便系统的任务切换,整个支撑平台系统设计了两类堆栈——系统堆栈和任务堆栈。

0
顶一下
0
踩一下

发表评论

请自觉遵守互联网相关政策法规,作者管理后台可以删除恶意评论、广告和违禁词语。