grace under pressure
分类: C/C++
2013-12-25 13:02:48
序:
之前都是做ARM相关的开发,由于机遇,需要做DSP
C6000的开发,所以开始接触DSP。在开始应用DSP做项目之前,接触到了DSP/BIOS(V5.4以后更名为SYS/BIOS),出于兴趣爱好与好奇,开始探索一下TI的实时操作系统(其实之前就知道这实际上只是一个实时的内核)。C6000的板子,由于是自己设计的,稳定性能没有SEED的开发板强,又加上CCS经常莫名其妙的蓝屏和各种无解的BUG,因此先基于SEED-DEC5502研究一下DSP/BIOS。基于时间问题,研究深度有限,后面如果有用到项目里面,时间允许的话,会接着更新。
1、 关于DSP/BIOS
DSP/BIOS是一个用户可剪裁的实时操作系统,主要由三部分组成:多线程实时内核;实时分析工具;芯片支持库。利用实时操作系统开发程序,可以方便快速的开发复杂的DSP程序。操作系统维护调度多线程的运行,只需将定制的数字信号算法作为一个线程嵌入系统即可;芯片支持库帮助管理外设资源,复杂的外设寄存器初始化可以利用直接图形工具配置;实时分析工具可以帮助分析算法实时运行情况。
DSP/BIOS实时操作系统的图形配置界面包括:
*全局设置(System)—包括内存端设置、锁相环设置、中断向量入口设置等;
*调试工具(Instrumentation)—记录器(LOG)可以提供调试信息,但是特别针对实时操作优化;
*操作系统调度工具(Scheduling)—包括定时器、周期器、硬件中断管理、软件中断管理、任务调度、系统空载任务函数;
*同步机制(Synchronization)
—提供一般操作系统都具有的信号灯、邮箱、队列、锁四个工具;
*主机交互接口(Input/Output)
—提供DSP实时运行时与主机通过仿真口和CCS交互数据的机制;
*芯片支持库(Chip Support Library)—针对不同的DSP芯片帮助配置DSP的外设资源,最常用的有DMA、MCBSP的配置。
注意:
A、 CSL之前版本集成在图形界面配置中,DSP/BIOS V5.4.2.01已经被移出去了(具体从哪个版本开始移除,待考证)
B、 DSP/BIOS V5.4.2.01开始已经不支持CCS V4,只支持CCS V5
C、 在BIOS学习的过程中,几个手册比较重要:spru423i—>user guide等等,位置在安装目录下的docs文件夹。一定要先大致的浏览一遍
2、 DSP/BIOS基本配置
参见http://blog.chinaunix.net/uid-20620288-id-3379093.html
其他参考链接:
网友DSP学习心得:http://blog.chinaunix.net/uid/20620288/cid-165748-list-5.html
DSP/BIOS 实时性运算验证(FFT):http://blog.chinaunix.net/uid-22477616-id-1773821.html
其他有待补充
3、 一个DSP/BIOS与CSL库的例程(GPIO)
软件平台:CCS V5.4.0
硬件平台:SEED-DEC5502
说明:因为DSP/BIOS V5.4.2.01是没有集成CSL库的,所以我下载安装了一个5502的CSL(V2.31.00.7)库,我会在附件给出,也可以自己去官网下载,并安装在了bios_5_42_01_09的根目录下。工程是基于DSP/BIOS V5.4.2.01的Hello例程改写
关于如何创建一个新的DSP/BIOS V5.4.2.01例程:
A、 打开CCS V5
B、 File->New-> CCS project
C、 如附图0所示,点击finish
步骤:
A、 双击打开hello.tcf,在TSK上面右击,选择insert TSK,然后输入TSK的名称,我这里使用的是ledtask,见附图1
B、 在ledtask上面右击,选择Properties
C、 点击Function,修改Task function为_ledtaskFxn,见附图2
D、 关闭tcf配置窗口,并再修改hello.c文件为附件中内容,并在工程的Properties中将CSL库文件的路径添加进去,见附图3
E、 下载运行
注意:完成步骤E后运行会提示#35 #error NO CHIP DEFINED,解决方法为:选择工程,右击选择Properties,然后Build->C5500 Compiler->Advanced Options->Predefined Symbols中添加"CHIP_5502"
附件:
点击(此处)折叠或打开
附图
附图0
附图1
附图2
附图3