电子说
DSP/BIOS™实时操作系统
DSP/BIOS™是一个可定标的实时作业核心(kernel),特地为TMS320C5000™ 及 TMS320C6000™ DSP 的平台所设计。 DSP/BIOS 已被数以千计的客户研究证实过,并成为Code Composer Studio™发展工具内建不可或缺的功能之一,DSP/BIOS 不需要注册使用费用,为德州仪器在全球举办的训练课程及研讨会重要后盾。
DSP/BIOS不同于传统的DSP软件方法,能助您迅速发展及部署复杂的应用,而不需另外开发及维护常用的操作系统或控制回路,因为多组链接码(multi-threading) 使得实时应用能清楚地划分。 DSP/BIOS的应用能轻易地维护,且新增功能时不需中断实时响应; 此外,它并提供标准化APIs 适用于C5000 及 C6000 DSP 平台来支持快速应用的转换。
DSP/BIOS 与DSP外围的数据库(Chip Support Library)兼容并且内建于Code Composer Studio 交互式开发环境,Code Composer Studios 核心监管及实时分析也是一个十分有用的内建工具,注重在程序除错及多个任务的轮调。
Real-Time OS: DSP/BIOS:DSP/BIOS™ 核心(Kernel)
DSP/BIOS 提供一组丰富且确定的核心服务,帮助研发人员开发精密且复杂的应用时不致影响到实时性。 DSP/BIOS 是可定标且多组链接配置要求少至1K 字符(words),而核心服务可支持C语言功能或组合(assembly)语言接口。
图形配制(Graphical configuration)DSP/BIOS和所有惯用的实时操作系统一样,可在执行的应用上,任何时间点,动态地建立操作系统,如任务(tasks)或信号(semaphores)。 此外,DSP/BIOS提供一个主机端的图形设定工具来简单点选DSP/BIOS图形设定以符合应用需求。 这个静态设定程序可经由删除核心功能及动态操作系统下的程序代码(如threads及semaphores等),来大幅减少其在目标内存所占的体积。
核心服务(Kernel services)为了达到分析及外围配置支持,DSP/BIOS还包含了下列核心模块:
硬件中断(Hardware Interrupt): 提供一个硬件中断到DSP/BIOS核心的接口
软件中断(Software Interrupt):使用程序堆栈以达到轻载pre-emptible threads
任务(Tasks):独立执行的threads来产生程序周期功能(Periodic Functions): 时间触发器轻载threads信箱: 在各任务间进行同步资料交换
信号(Semaphores): 计算semaphores
排序(Queues): 自动连结排列
时钟(Clock): 硬件定时器接口
Streams: 任务专用的串行I/O
Pipes: 软件中断专用的串行I/O
内存管理员(Memory Manager): 采低量动态内存配置
为了加速DSP应用的响应,DSP/BIOS新增额外的链接机制(threading mechanisms)在传统tasking模式中、 软件中断轻载pre-emptible threads 来分享一个共同的堆栈,结果,在不需储存任务堆栈的状况下,只会占用少许内存并加快活动次数。周期功能是指时间触发器排序的方法,可轻易将取得的资料样本设定在一个固定的时间间隔中,以简化系统(multirate systems)的设计。 为了促进复杂应用的设计,DSP/BIOS提供多任务内部各任务的沟通服务,其中包括semaphores,mailboxes,及 queues等。
有效中断管理(Efficient Interrupt Management)DSP/BIOS 提供两种选择来控制中断 C 一个中断调度(dispatcher)及宏(macros),这两个装置都密切关系到中断最小化的取消及中断延迟的极大化,这个调度能使ISRs接受C程序语言来执行任务,如储存与修复程序及暂时关闭工作表,让ISRs能正确与核心作互动; 这个方法是利用删减每个ISR中的特殊功能程序而减少了程序的大小。 为了进一步减少内存的需求,所有ISRs使用一个共同堆栈器(common stack)而不用各个中断任务的堆栈器; 而宏的进出会使得ISR如同一个调度者在不断地执行相同的操作。宏的功能在每个ISR中是成对出现的,这使得研发人员只能在特殊ISR中进行储存及修复工作,因此而减少了中断的响应时间。DSP/BIOS 能在同一个应用中进行宏和调度来取得功效和内存间的最佳化组合。
硬件概念(Hardware Abstraction)为了排定工作及?成内部任务的沟通服务,DSP/BIOS 亦提供了实时时钟管理,内存管理,及独立作业的I/O端口。 DSP/BIOS 内存管理员提供”再加入(re-entrant)”动态记忆管理,可利用逻辑内存区块将零散的记忆配置自DSP应用中抽离。 DSP/BIOS 提供一零件独立性I/O端口模块可提高实时数据的有效过程极佳化,利用抽离外围组件及内存配置的特殊独立装置,DSP/BIOS使得转换应用到一颗新的DSP或发展板时变得十分容易。
Real-Time OS: DSP/BIOS : 多组链接的优势(MultiThreading Benefits)
许多传统DSP的开发者建构他们的软件应用于顺序处理循环及状态机器上,这种方式十分适用在DSP执行一个的主要功能,然而一旦DSP必须执行多组功能时它便会受到很大的限制。当这种现象逐渐普遍在使用DSP于支持不同取样率下的多任务处理时,开发人员便会采纳这个多组链接的(multithreaded)设计方法,在微处理器的实时应用下已是被大家所接受的。 在顺序处理循环方面,新功能的加入或既存功能的修改,会影响到正在服务的函式,因此,越复杂的实时应用要维护及更改就越加困难。
至于多功处理应用或未来需要扩充功能应用,一个较好的方法是,利用设计范例来使各个独立作业之功能的反应时间不相关,而多组链接(Multithreaded)则应用在分配各个执行链接码于其系统功能内。当一个特殊链接码提供一个CPU时序时,在调度程序(scheduler)控制下,这些链接码会并列执行; 当高顺位的链接码开始执行时,调度程序将占用较低顺位的链接码,而此时每个链接码都已被付予一个顺序来决定,一旦准备开始执行时它会在多久时间内被排到工作。 因此,执行一高顺位链接的临界功能,其反应时间将不会受到修正其它功能或增加新的且顺位较低功能的影响。
此外,利用一个多功处理核心可降低电源消耗,因为多功处理应用可完全是中断驱动的,并有可能消除应用程序的查询(Polling)程序。这样降低了处理器的利用率使得处理器在空闲状态(Idle)时可以致能省电模式。
Real-Time OS: DSP/BIOS : 标竿(Benchmarks)
标竿号码将提供DSP/BIOS核心专用之定时及功能资料于C6000 及 C5000 DSP平台上。
Real-Time OS: DSP/BIOS : DSP/BIOS 应用资料
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !