1小知识点1.1文件扩展名:S使用的工程文件filename.lib.库文件project.cmd.连接命令文件program.obj.由源文件编译或汇编而得的目标文件program.out.(经完整的编译、汇编以及连接的)可执行文件project.wks. 存储环境设置信息的工作区文件,program.cdb.配置数据库文件。
采用DSP/BIOS API 的应用程序需要保存配置文件时将产生下列文件:programcfg.cmd.连接器命令文件programcfg.h54.头文件programcfg.s54.汇编源文件1.2在工程的创建过程中,CCS 扫描文件间的依赖关系时将自动找出包含文件(头文件),因此不必人工地向工程中添加包含文件1.3菜单Option-—font:设置字体1.4HELLO.CMD文件的代码,MEMORY 分为程序空间IPRAM和数据空间IDRAM,并分别给出了起始地址origin和长度len,各段在MEMORY空间的分配也作了定义。
对于实际的目标板硬件系统,由实际的存储器空间及DSP 芯片上的存储空间决定。
对于软件仿真,可以不考虑有没有MEMORY资源。
1.5不同的DSP 芯片需要不同的运行时库来支持1.6编译时双击错误光标会跳到错误的那行1.7用C语言编写的函数在配置工具里必须在原C函数名前加一个下划线,如C函数名为test则需填入_test1.8Gel文件主要做一些系统初始化的工作2DSP芯片系列2.1美国德州仪器(1)面向数字控制、运动控制的TMS320C2000系列,主要包括TMS320C24x/F24x、TMS320LC240x/LF240x、TMS320C24xA/LF240xA、TMS320C28xx等。
(2)面向低功耗、手持设备、无线终端应用的TMS320C5000系列,主要包括TMS320C54x、TMS320C54xx、TMS320C55x等。
(3)面向高性能、多功能、复杂应用领域的TMS320C6000系列,主要包括TMS320C62xx、TMS320C64xx、TMS320C67xx等。
2.2美国模拟器件公司ADI公司在DSP芯片市场上也占有一定的份额,相继推出了一系列具有自己特点的DSP 芯片,其定点DSP芯片有A DSP2101/2103/2105、A DSP2111/2115、A DSP2126/2162/2164、A DSP2127/2181 、A DSP-BF532以及Blackfin系列,浮点DSP芯片有A DSP21000/21020、A DSP21060/21062,以及虎鲨TS101,TS201S。
2.3Motorola公司Motorola 公司推出的DSP芯片比较晚。
1986年该公司推出了定点DSP处理器MC56001;1990年,又推出了与IEEE浮点格式兼容的的浮点DSP芯片MC96002。
还有DSP53611、16位DSP56800、24位的DSP563XX和MSC8101等产品。
2.4杰尔公司杰尔公司的SC1000和SC2000两大系列的嵌入式DSP内核,主要面向电信基础设施、移动通信、多媒体服务器及其它新兴应用。
3DSP/BIOS - API 模块3.1DSP/BIOS API 划分为下列模块,模块内的任何API 调用均以下述代码开头3.2DSP/BIOS API被分成很多不同的模块,只有需要的模块才会链接到应用程序中,被使用的模块要在源代码中包含相应的头文件。
应用程序通过调用DSP/BIOS API函数来完成各种诊断调试功能。
3.3DSP/BIOS API专门为实时DSP程序优化,可以为嵌入式程序提供基本的运行服务。
与标准C库函数(如puts函数)不同,它可以再不中断目标板硬件的情况下对DSP系统进行实时分析。
同时,DSP/BIOS API代码占用更少的空间,运行速度比标准C输入/输出更快。
一个DSP程序可以根据需要使用一个或多个DSP/BIOS模块3.3.1CLK。
片内定时器模块控制片内定时器并提供高精度的32 位实时逻辑时钟,它能够控制中断的速度,使之快则可达单指令周期时间,慢则需若干毫秒或更长时间。
3.3.2HST。
主机输入/输出模块管理主机通道对象,它允许应用程序在目标系统和主机之间交流数据。
主机通道通过静态配置为输入或输出。
3.3.3HWI。
硬件中断模块提供对硬件中断服务例程的支持,可在配置文件中指定当硬件中断发生时需要运行的函数。
3.3.4IDL。
休眠功能模块管理休眠函数,休眠函数在目标系统程序没有更高优先权的函数运行时启动。
3.3.5LOG。
日志模块管理LOG 对象,LOG 对象在目标系统程序执行时实时捕捉事件。
开发者可以使用系统日志或定义自己的日志,并在CCS中利用它实时浏览讯息。
3.3.6MEM。
存储器模块允许指定存放目标程序的代码和数据所需的存储器段。
3.3.7PIP。
数据通道模块管理数据通道,它被用来缓存输入和输出数据流。
这些数据通道提供一致的软件数据结构,可以使用它们驱动DSP和其它实时外围设备之间的I/O 通道。
3.3.8PRD。
周期函数模块管理周期对象,它触发应用程序的周期性执行。
周期对象的执行速率可由时钟模块控制或PRD_tick 的规则调用来管理,而这些函数的周期性执行通常是为了响应发送或接收数据流的外围设备的硬件中断。
3.3.9RTDX。
实时数据交换允许数据在主机和目标系统之间实时交换,在主机上使用自动OLE 的客户都可对数据进行实时显示和分析3.3.10STS。
统计模块管理统计累积器,在程序运行时,它存储关键统计数据并能通过CCS 浏览这些统计数据。
3.3.11SWI。
软件中断模块管理软件中断。
软件中断与硬件中断服务例程(ISRs)相似。
当目标程序通过API 调用发送SWI 对象时,SWI 模块安排相应函数的执行。
软件中断可以有高达15 级的优先级,但这些优先级都低于硬件中断的优先级。
3.3.12TRC。
跟踪模块管理一套跟踪控制比特,它们通过事件日志和统计累积器控制程序信息的实时捕捉。
如果不存在TRC 对象,则在配置文件中就无跟踪模块。
有关各模块的详细资料,可参见CCS 中的在线帮助,或TMS320C54 DSP/BIOS 用户指南。
3.4设备/实时分析LOG Message Log mangerSTS Statistics accumulator managerTRC Trace managerRTDX Real-Time Data Exchange manager3.5线程类型HWI Hardware interrupt managerSWI Software interrupt managerTSK Multitasking managerIDL Idle function & processing loop manager3.6时钟和周期函数CLK System clock manager PRD Periodic function manger3.7线程间的同步与通信SEM Semaphores manager MBX Mailboxes managerLCK Resource lock manager 3.8输入/输出PIP Data pipe managerHST Host input/output manager SIO Stream I/O managerDEV Device driver interface 3.9内存和低级原语MEM Memory managerSYS System services manager QUE Queue managerATM Atomic functionsGBL Global setting manager4为了编译和运行程序,要按照以下步骤进行操作:4.1点击工具栏按钮或选择Project→Rebuild All ,CCS 重新编译、汇编和连接工程中的所有文件,有关此过程的信息显示在窗口底部的信息框中。
4.2选择File→Load Program,选择刚重新编译过的程序myhello.out(它应该在c:\ti\myprojects\hello1 文件夹中,除非你把CCS 安装在别的地方)并点击Open。
CCS 把程序加载到目标系统DSP 上,并打开Dis_Assembly窗口,该窗口显示反汇编指令。
(注意,CCS 还会自动打开窗口底部一个标有Stdout 的区域,该区域用以显示程序送往Stdout 的输出。
)4.3点击Dis_Assembly窗口中一条汇编指令(点击指令,而不是点击指令的地址或空白区域)。
按F1 键。
CCS将搜索有关那条指令的帮助信息。
这是一种获得关于不熟悉的汇编指令的帮助信息的好方法。
4.4点击工具栏按钮或选择Debug→Run。
5新建一个DSP/BIOS对象(配置)5.1选择File ——New——DSP/BIOS Configuration5.2在弹出的对话框中选择需要的开发平台(如在此选择sim64xx),单击OK 5.3DSP/DIOS配置5.3.1图形方式:其界面类似于windows的资源管理器系统设备调度同步输入输出指向配置的一个项点右键,Insert Object 是插入一个对像,Propertrie是修改一个对像。
5.3.2文本方式:用户将使用JavaScript语法来对配置编程5.4如下图,选择配置的方法5.5在配置窗口中新建、修改DSP/BIOS对象并保存5.6将配置文件保存为XXX.tcf,此时还会产生其他的一些程序必需用到的链接命令文件(*cfg.cmd)、头文件(*cfg.h)、汇编源文件(*cfg.s64)等。
将产生的文件添加到工程中,注意有些文件可以自动添加有些则要手动添加。
5.7DSP/BIOS配置工具是一个与Windows资源管理器具有相似界面的可视化编辑器,创建目标程序DSP/BIOS API所调用的运行对象和设置其属性。
其配置工具模块树窗口如图:5.8引用静态创建的DSP/BIOS对像配置工具会在*cfg.h中声明已存在的静态对像6DSP/BIOS插件(分析工具)6.1DSP/BIOS插件的实时分析特性CCS能利用DSP/BIOS插件对DSP应用程序进行实时分析,并可以实时监测DSP应用程序的运行,同时对DSP应用程序的实时性的性能影响很小。
其提供的实时分析特性如下:6.1.1程序跟踪:能显示写入目标日志的事件并在程序执行过程中反应动态控制流程;6.1.2性能监控:能动态跟踪和统计DSP目标系统板上的资源使用情况,如DSP处理器的负载和线程的时序;6.1.3文件流:能将DSP目标系统板上的I/O对象与PC主机上的文件关联起来。