DSP

关于SYS/BIOS

2019-07-13 12:10发布

1.什么是SYS/BIOS SYS/BIOS是一个可拓展的实时内核。用于实时调度和同步的应用程序或实时的设备。SYS/BIOS提供了抢占式多线程,硬件抽象,实时分析和配置工具。SYS/BIOS的设计是为了最大限度地减少内存和CPU的要求。 SYS/BIOS的优点: (1)所有的SYS/BIOS对象可以配置成静态或动态。 (2)为了尽量减少对内存消耗,APIs(应用程序接口)是模糊化的,只有程序用到的APIs才连接到可执行程序。此外,静态配置的对象可省去创建对象的命令。 (3)错误检查和调试是可配置的,并且可以从代码中完全去除,以最大限度地提高性能并降低使用内存的大小。 (4)几乎所有的系统调用都提高确定的性能,使应用程序能够可靠地满足实时要求。 (5)为提高性能,设备数据(如logs和traces)在主机上被格式化。 (6)提供了多种线程模型:HWI,SWI,tsak,idle,periodic,functions等。用户可以根据需求选择不同的优先级别,阻塞特性。 (7)支持线程之间的通信与同步机制。包括旗语,邮箱,事件,gates和可变长度的消息(variable-lengthmessageing)。 (8)动态内存管理服务提高大小可变的和固定大小的快分配。 (9)中断调度程序处理低级的保存/恢复操作,可完全用C语言写中断服务程序。 (10)系统服务支持中断的启用/禁用和中断向量的阻塞,包括多路复用中断向量到多个源。 2.SYS/BIOS与DSP/BIOS的区别 (1)SYS/BIOS可用于包含DSP在内的其他处理器。 (2)SYS/BIOS在XDCtools中使用配置技术。 (3)兼容DSP/BIOS5.4或者更早版本的应用程序,但不再支持PIP模块。 (4)Task和SWI最高有32级优先级。 (5)提供了新的定时器模块,应用程序可直接配置和使用定时器。 (6)所有的内核对象可以被静态或者动态建立。 (7)额外的堆管理器,称为HeapMultiBuf,能够快速精确的分配可变大小的内存,减少内存碎片。 (8)内存管理器更加灵活,支持并行堆,开发人员也可以方便地添加自定义堆。 (9)Eventobject 支持task挂起多个事件,包括semaphores,mailboxes,messagequeues和用户定义的事件。 (10)Gateobject支持优先继承。 (11)Hookfunction 可用于HWI,SWI,task等。 (12)可在操作系统中构建参数检查接口,系统调用参数值无效时启用。 (13)允许SYS/BIOSAPIs 按照标准模式处理错误,可高效地处理程序错误,不需要捕捉返回代码。此外,用户可以方便地在SYS/BIOS发生错误时,停止应用程序的运行,因为所有的错误可以被传递到一个处理句柄中。 (14)系统日志和执行图的实时分析(RTA)工具支持动态和静态创建的任务。 (15)日志记录功能新增时间戳,高达6word的log入口,如果需要,额外的存储可将事件记录到多个日志。 (16)除了总的CPU负载还支持每个任务的CPU负载统计。 本文参考:牛金海   《TMS320C66x KeyStone 架构多核DSP入门与实例精解》