CCS由于有软件仿真器功能,使得很多算法性的东西都可以在没有实际硬件的条件下进行验证,这大大缩小个人的开发成本;其实软件仿真器还可以模拟外部硬件的功能,这样使得我们在软件仿真器下能最大程序逼近实际项目,以下是软件仿真器所具有的功能:
1.在主机上执行用户开发的DSP程序
2.修改和检查寄存器
3.外设,cache,流水线的时序仿真
4.设置断点,单步执行,产生中断
5.跟踪ACC,PC,AR表达式的值等。
6.对非法操作码和无效数据提供出错信息
7.文件方式快速存储和调用仿真参数
8.反汇编
9.周期计数并显示
其中我们在软件调试中很有可能要模拟外部的一些触发信号,例如我们要模拟数据采集功能,那么数据采集结束后就需要告知CPU进行处理。这里就如果进行模拟中断的步骤进行说明:
1.使用CCS setup选择"c6455 Device Smulator "配置到系统中,运行CCS进入Simultator工作模式
2.编写引脚文件pin.txt,包含如下内容:
1000 (+1000) rpt EOS
上面内容的思表示分别在第 1000、2000、3000、....个CPU clock时产生中断 ,无限循环
引脚文件大概有以下几种模式:
3.在CCS中
使用 Tools ---->Pin Connect 工具将该引脚文件连接到引脚 INT5,表示我们模拟外部5可屏蔽中断,如图所示
4.建立一个DSP/BIOS项目,并编写INT5中断处理函数isr_handle5
interrupt void isr_handle5()
{
printf("handle 5 happen
");
}
5.在DSP/BIOS配置文件中,将HWI_INT5按如下配置
6.在mian函数中加入使能中断5的函数
C64_enableIER( 1 << 5 );
最后执行函数,会在stdout中显示如下信息,整个设置完毕