【TI DSP开发】 SYS/BIOS知识整理汇总

       本文主要整理BIOS相关组件的执行原理及使用,这里主要包括了硬件中断Hwi模块、软件中断Swi模块、时钟Clock模块、任务Tsk模块、信号量Sem模块。

1.SYS/BIOS概述      

       SYS/BIOS是一个可扩展的实时内核(或者说是操作系统),其提供了许多模块化的APIs(应用程序接口),支持抢占式多线程,硬件抽象,实时分析和配置工具,其设计目的是为了最大限度地减少对内存和CPU的要求。其拥有很多实时嵌入式操作系统的功能,如任务的调度,任务间的同步和通信,内存管理,实时时钟管理,中断服务管理等。有了它,用户可以编写复杂的多线程程序,并且会占用更少的CPU和内存资源。

       SYS/BIOS的早期版本是DSP/BIOS,更名的原因,是因为SYS/BIOS不仅可以用于DSP,而且也可以嵌入到ARM等其他Soc中去。SYS/BIOS是一个可用于实时调度、同步,主机和目标机通信,以及实时分析系统上的一个可裁减实时内核,它提供了抢占式的多任务调度,对硬件的及时反应,实时分析和配置工具等。同时也提供标准的API接口,易于使用。它是TI的eXpressDSP实时软件技术的的一个关键部分。

2.开发环境

       CCS支持SYS/BIOS的开发,用户单独下载安装bios组件即可运行,能够大大方便用户编写多任务应用程序。

3.SYS/BIOS相比裸机的优点

  • 适用于复杂系统,在需要同时处理多个事件时SYS/BIOS具有更高的事件管理能力;
  • 响应快速,在中断和任务切换时延迟较短;
  • 优化的内存分配和堆栈管理,尽量少的消耗和碎片;
  • 使用多线程实现软件,能同时兼顾代码的复杂性和开发代码的简单性,在很大程度上能相互独立的编写各个模块,这会使最终程序更加模块化,和更高可读性,可移植性;
  • 裸机一般是使用while循环和中断实现复杂的系统,随着应用的更新和发展可能会导致问题;
  • 可以使用文件系统,更方便操作硬盘驱动器,闪存驱动器;
  • sys/bios提供外设驱动的服务和IO模型,提供服务以调试应用程序,比如说日志记录代码,还有实时分析工具,将软件通过字符串的方式发送给主机;
  • 对模块的初始化可图形化编程也可以通过语言编程;
  • 所使用到的模块在.cfg文件中都要添加,虽然编译不会报错,但模块不会响应;

4.中断

       RTOS分为32个中断等级,可设定范围是0-31,其中0优先级最低,31优先级最高,这与28335和stm32中的优先级相反; 在优先级上,硬件中断优先于软件中断,软件中断优先于任务;

4.1中断调度

       如果有其他中断打断了当前执行的任务,则会使用中断堆栈来保存相关寄存器,使用中断调度技术有许多好处,首先调度程序是面向所有中断处理的公用代码,有利于节省系统中代码所占用的空间,每个任务线程都具有独立的堆栈,意味着调度程序为每个中断单独使用的堆栈可以更小,可以在高优先级程序正在执行过程时准确进入较低优先级线程,此外,高优先级可以正确的抢断较低优先级线程的运行而运行。中断调度程序还允许启用用户观察程序,以便在发生中断时跟踪这些中断的执行(不要求强制使用)。<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值