|
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入门与实例精解》
|
|