用过TI dsp的人不一定用过dsp/bios与csl,因为这些并非开发ti dsp软件所必需的,我们完全可以使用自己定义地址指针的方式对dsp器件的寄存器进行配置、读写操作,完成各项功能。
那么DSP/BIOS到底是什么?
DSP/BIOS是一个简易的实时嵌入式操作系统,主要面向实时调度与同步、主机/目标系统通信,以及实时监测等应用,具有实时操作系统的诸多功能,如任务的调度管理、任务间的同步和通信、内存管理、实时时钟管理、中断服务管理、外设驱动程序管理等。
解释一下上面“主机/目标系统通信”,这主要是针对在线硬件仿真(Emulator)来说的,主机指的是PC计算机,目标指的是DSP芯片的运行板卡。
DSP/BIOS是一个用户可剪裁的实时操作系统,主要由三部分组成:多线程实时内核(抢占式多线程);实时分析工具;芯片支持库CSL (Chip Support Library)。
什么CSL (Chip Support Library)?
CSL(Chip Support Library)是为TI 公司为其DSP产品提供的库函数(即一组API函数),在程序设计过程中利用CSL库函数可以方便地访问DSP的寄存器和硬件资源,提高DSP软件的开发效率和速度。
DSP/BIOS与CSL的关系
1、DSP/BIOS与CSL都集成在CCS中,可以直接使用;
2、CSL基本上属于DSP/BIOS的一部分;
3、在使用上DSP/BIOS与CSL独立,即使用DSP/BIOS时,可以完全不用CSL函数。在使用CSL函数时,也不需要包含DSP/BOIS。
上图为一个DSP/BIOS图形化配置的界面,各项功能配置基本是可视化的,便于系统的裁剪。
在看一个CSL的例子
图中为CSL配置MCBSP一个寄存器的例子,写了这么长,其实就是对一个32bit的寄存器进行赋值。真正写起来需要对照CSL参考库文件进行编写,不然这么多宏定义哪里能记清楚。这么来写相对来说比较好读,后面对寄存器的数据位进行对比比较直观。个人觉得有些配置用CSL有点太复杂了。