4)主函数中的调用
5)调用结果
6.质疑、建议、问题讨论
1)采用simulator配置文件sim6201_simulator.cfg,可以减少工作量,手工优化的sop_asm.asm程序,注意不要进行重定义,要清楚知道哪些变量是函数传递的参数,哪些变量是在函数中进行定义使用的。
2).cproc和.endproc是成对使用的,注意不要把.cproc写成了.proc,这在C语言中是不能调用的。
福建农林大学计算机与信息学院信息工程类实验报告
系: 电子信息工程 专业: 电子信息工程 年级: 10 姓名: 学号: 实验课程: DSP
实验室号:_田C513 实验设备号: 16 实验时间: 2013-11-8
指导教师签字: 成绩:
实验四 利用BIOS创建工程及性能分析
1.实验目的和要求
1)通过创建基于DSP/BIOS的Hello World工程实例,熟悉CCS环境下DSP/BIOS软件的创建和使用方法。
2)熟悉在CCS环境下对代码的运行效率和性能作出评估的工具和方法。
2.主要仪器设备(实验用的软硬件环境) CCS2.2环境,C64XX Device Simulator 3.操作方法与实验步骤 第一步:打开已有工程并运行
在C:\\ti\\myprojects目录里面创建hellobios目录。
把C:\\ti\\tutorial\\sim64xx\\hello1里的全部文件拷贝到这个新的目录下面。
如果CCS还没有启动,启动CCS环境,Setup里面设置为C64xx Device Simulator。
选择Project->Open,打开这个工程,工程的项目文件目录为:C:\\ti\\myprojects\\hellobios,项目名称是hello.pjt。 若提示以下错误,选择
Browse,选择目录:
C:\\ti\\C6000\\cgtools\\lib\\rts6400.lib,打开工程。
编译,运行工程,查看结果,应该是输出hello world字符。 第二步:评测stdio.h中输出函数put()的执行时间(周期数) 新建一个Profiler,选择Profiler->Start New Session,名称为MySession,确定。
出现Session窗口,选择Range栏。如下所示,出现hello.out。
用鼠标拖曳,高亮put()函数,如下所示:
按住鼠标,拖曳到Range窗口里面,出现:
重新Load程序,运行,得到运行结果如下:
结论:采用put()函数输出一次的指令周期数是:1700。
采用同样方法,测试printf()函数的指令周期数目:
记录put()函数和printf()函数需要的指令周期数到表格,用来和下面实验的结果对比。 第三步:编辑源代码
在CCS里,关闭hello.c窗口。
用Windows Explorer把C:\\ti\\tutorial\\sim64xx\\hello2目录里的hello.c文件拷贝到C:\\ti\\myprojects\\hellobios目录。按Yes覆盖原来已经存在的hello.c文件。hello2例中采用DSP/BIOS函数来替代hello1例中的标准C函数的put()输出函数。 双击hello.c文件,在Project View窗口打开源文件。 注意新代码的几点问题: #include
{ LOG_printf(&trace, \ /* fall into DSP/BIOS idle loop */ return; }