曙海教育集团论坛DSP专区DSP5000技术讨论 → TMS320C55x嵌入式实时多任务系统DSP/BIOS II


  共有6427人关注过本帖树形打印

主题:TMS320C55x嵌入式实时多任务系统DSP/BIOS II

美女呀,离线,留言给我吧!
wangxinxin
  1楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:青蜂侠 帖子:1393 积分:14038 威望:0 精华:0 注册:2010-11-12 11:08:23
TMS320C55x嵌入式实时多任务系统DSP/BIOS II  发帖心情 Post By:2010-11-22 10:39:36

引言

现在,由于复杂的硬件功能已经集成到标准集成电路中,系统开发人员首先应该知道如何选择合适的芯片,然后基于此硬件结构设计软件。系统设计者有两种选择:使用专用集成电路或可编程DSP实现信号处理。相比之下,可编程DSP有两个优点:

可扩充性:设计者可以根据要求的处理效率,和需要的资源来量体选用DSP及所需的片数。

可升级性:将硬件的升级转化成比较容易升级的软件改动。

使用可编程DSP时,必须对芯片的各种资源(例如CPU,存储区,外设等)加以管理规划,通过DSP/BIOS可以轻松的完成这些工作。

TI公司TMS320C5000系列都带有嵌入式DSP/BIOS,它有很强的实时分析和任务实时管理能力,可以有效的提高项目的开发效率,尤其表现在需要实时多任务的大型系统中。图1为DSP/BIOS的部件结构。

DSP/BIOS II简述

TI公司的DSP/BIOS II 是在DSP/BIOS I 基础上的扩展。它支持更多的软件模块,通过修改内核提供抢先式多任务服务;它把传统并行处理系统的内核服务集成为可测试内核;它增加了设备独立的I/O数据流模型,继续保留已有的数据管道;它增加了动态内存分配与内存管理。

TI的开发平台CCS IDE 2.0中集成了DSP/BIOS II,可以对程序进行实时跟踪与分析,提高应用程序开发的可靠性。可以在CCS插件中实时观察DSP/BIOS内核中各线程的执行状态与对象的当前属性。通过设置工具,开发者可以对各个模块实行配置。

DSP/BIOS II 核心API技术

目标应用程序通过调用DSP/BIOS II的API来获得运行时的服务。一个单个DSP/BIOS II 模块可以管理多种类的内核对象,并且依据全局参量的设定来控制整个行为。DSP/BIOS II 可以归纳为六大种类:

内核执行线程

图片点击可在新窗口打开查看

图1  DSP/BIOS 部件结构图

图片点击可在新窗口打开查看

图2  线程优先级示意图

图片点击可在新窗口打开查看

图3  数据流示意图

图片点击可在新窗口打开查看

图4 数据管道示意图

DSP/BIOS II提供四类不同的执行线程。每一类线程又具有不同的执行、抢先和悬挂特性。DSP/BIOS II 支持两个高优先级的中断线程和事先备好的后台空闲过程循环。内核执行线程通过HWI, SWI和IDL模块进行管理。另外,DSP/BIOS II新提供了多任务线程类,能较好的完成任务间的同步,它由TSK模块管理,在任何执行时刻为悬挂和恢复执行同步,包括调整自身或其他任务的优先级。这种同步化的任务给并发系统设计提供了良好的基础。

硬件抽象

DSP/BIOS II 提供硬件的逻辑接口。它独立于硬件实现。它对硬件部分的访问、配置,内存映射、片内定时器和硬件中断等进行抽象,简化了应用的移植。它通过可视化的设置工具定义内存映射、中断向量表,对定时器编程,和完成动态的内存分配与释放。

设备独立I/O

设备独立I/O模块执行数据传输服务,传输可以在DSP与外设之间和多线程之间进行。DSP/BIOS II 支持数据管道(pipe)和数据流(stream)两种传送方式。数据管道是在读写线程之间快速传送数据的小型统一部件。数据流为缓冲方案增加了灵活性使之适应更广的需求。数据流依靠多个潜在的设备驱动器,这种设备驱动器封装了设备独立的属性与方法。在数据通过堆叠(stacking)机制传送时,设备驱动器能够执行数据处理操作,驱动器在数据通道中实行流水线处理。PIP和SIO模块分别管理目标应用中的数据管道和流的传送服务。SIO同DEV模块结合,使DEV通过SIO发送和接收数据。

线程间的通信和同步

DSP/BIOS II 中的线程间通信和同步模块支持多任务。信号量(semaphores)是最主要的同步方式。任务运用信号量保持同步资源访问的同步。访问外设的数据缓冲区,以及访问共享存储区都是资源同步的典型事例。信号量还控制着多任务执行的同步。信号量由SEM模块管理,而LCK模块提供共享资源的判优和互斥。数据队列可用于线程间通信。邮箱(mailbox)类似于数据队列,能够理想的完成任务通信。数据队列由QUE模块管理,邮箱模块由MBX管理。

实时分析

实时分析(TRA)模块在应用程序执行期间与DSP项目实时交互和诊断。LOG,STS和TRC模块对这些功能进行管理。主机与目标板之间的数据传输能力对实施分析是非常关键的。DSP/BIOS提供HST和RTDX模块来管理这些功能。CCS IDE中提供了以下六种实时分析工具:

—CPU负载图

负载图提供的是目标CPU的负载曲线。CPU负载的定义是除去执行最低优先级任务以外的时间量。最低优先级任务是只在其他线程都不运行时才执行的任务。因此,CPU负载包括从目标向主机传送数据和执行附加后台任务所需的时间。

——执行图示

在执行图示窗口中,我们可以看到各个线程的活动方式。执行图的刷新速率可以通过RTA控制版设定。图形中还包括了信号量的活动,周期性函数标记(tick),和时钟模块标记。执行图示能从整体上看到项目所有线程的活动状态。

——主机通道控制

利用信道控制窗口可以把文件绑定在定义的主机通道上,启动信道上的数据传输以及监测数据传输流量。

——信息记录

选定某一记录名,从此窗口可看到程序运行的信息记录。主机从目标板获取DSP/BIOS数据期间的记录信息将显示在此窗口中。开发者定义的记录信息也显示在窗口中。

——统计观察

统计观察窗可以计算出事件、变量出现的次数,给出其最大值,最小值和平均值,监测定时时间和变量的增值的实际值和期望值差。

——实时控制面板

它对运行时间中不同类型进行追踪控制,在默认情况下,所有类型的跟踪都是允许的。为跟踪任意一种类型,必须使能全局主机(GLOBAL HOST)。通过实时改变控制版的属性,还可以设定实时分析工具的刷新频率。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

TMS320C55x嵌入式实时多任务系统DSP/BIOS II








签名