实验二:DSP_BIOS同步对象实验参考模板_第1页
实验二:DSP_BIOS同步对象实验参考模板_第2页
实验二:DSP_BIOS同步对象实验参考模板_第3页
实验二:DSP_BIOS同步对象实验参考模板_第4页
实验二:DSP_BIOS同步对象实验参考模板_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验2:CCS中DSP/BIOS操作实验一、实验项目与目的学习DSP/BIOS中线程task、旗语、邮箱的使用方法,同时进一步练习C语言编程及调试。二、实验设备计算机,CC3.3版软件三、实验内容与步骤1配置CCS软件 在桌面上打开,按照图1所示配置。然后点击“Save & Quit”按钮后退出CCS设置工具,启动CCS。图1 CCS配置界面2建立带有DSP/BIOS的项目文件(1)在桌面上有一个名为tsktest.c的文件,也就是我们实验的源程序文件。(2)双击桌面上的图标,启动CCS。 (3)在Project菜单下点击New,在出现的项目创建窗口中输入项目文件名称。名称任意,例如“

2、tsktest”。如图2所示:图2 建立工程4)把源程序tsktest.c拷贝到当前工程的目录下,然后再加入到工程中,如图3所示:1 / 12图3 把tsktest.c加入工程中5)在项目文件查看窗口中打开“+”号展开下面的文件,然后双击文件tsktest.c,在主窗口(右半窗口)显示相应文件的源程序,出现图4,此时可以浏览并检查源程序。图4 浏览源程序和工程3向工程中加入DSP/BIOS配置文件该工程是一个任务、邮箱、旗语的综合测试例程,任务测试部分为3个函数taskA/taskB/taskC,其代码一样。为方便理解,故放在这3个函数中。void taskA(Arg id_arg) Int

3、id = ArgToInt (id_arg); Int i; LOG_printf(&trace, "Task %d Begin Working.",id); for (i = 0; i < NLOOPS ; i+) LOG_printf(&trace, "Loop Num = %d: Task ID = %d", i, id); TSK_yield(); LOG_printf(&trace, "Task %d DONE", id);这三个函数每个都是一个单独的任务,所以需要在DSP/BIOS环境中运行,

4、下面新建并加入DSP/BIOS配置文件。1)向工程中加入DSP/BIOS系统,步骤为点击菜单“File->New->DSP/BIOS configuration”,如图5所示:图5 新建DSP/BIOS配置文件出现图6所示界面,选择ti.platforms.sim64xx,然后点击OK。图6 选择合适的芯片型号 图7 保存tsktest.tcf2)点击保存图标,把文件保存为tsktest.tcf,图7所示。3)用和加入tsktest.c程序同样方法将tsktest.tcf加入工程,注意文件类型选择*.tcf,否则找不到文件:图8 把tsktest.tcf加入工程加入后的工程如图9所

5、示,DSP/BIOS Config下面有了内容,也就是tsktest.tcf:图9 加入DSP/BIOS后的工程4)修改HEAP的配置,在MEM上面右键,然后“Properties”(图),弹出内存的属性配置,如图10和11所示:图10修改MEM的属性然后选中No Dynamic Memort Heaps后,确定即可。图11 修改MEM属性4静态建立任务接下来对DSP/BIOS进行配置,加入三个线程task0/task1/task2,分别用来调用taskA/taskB/taskC三个函数。这三个函数功能是在日志中写入运行状态,用来演示线程是同时、并行运行的。在工程中双击tsktest.tcf文

6、件,打开BIOS配置界面。然后点开”scheduling”,新建一个任务(task),如图12所示:图12 建立任务然后按照同样的方法分别建立task1、task2,最后如图13所示。图13 建立3个任务task0/task1/task2修改任务的属性,在task0上点右键,然后选择“属性”,按照图14所示填写内容,它调用函数taskA,第一个参数0作为初始值传入函数taskA中。这个值作为参数传入线程函数中。图14 设置task0的属性再分别设置task1、task2的属性,其调用的函数分别是taskB和taskC;传入的参数分别是1和2。5静态建立信号量建立信号量sem,如图15所示:图1

7、5 建立信号量sem5静态建立邮箱1)在DSP/BIOS中建立了一个邮箱mbx(图16所示),大小为24字节,长度是2,用来存放结构体数据。图16 建立邮箱并设置2)再为邮箱建立任务线程,分别是读线程taskMbx1和邮箱写线程taskMbx2(图17所示),用来读写邮箱,分别调用函数mbxReader和mbxWriter。图17 邮箱测试线程3)在DSP/BIOS中建立了旗语sem,旗语测试采用线程triggerSem,调用函数tskSem,如图18所示。图18 建立旗语测试线程4)除此之外,为方便调试和跟踪程序,在DSP/BIOS中建立了LOG对象trace,用来显示消息,如图19所示。图

8、19 建立LOG对象trace到此就完成了对象的创建,开始编译程序,点击图标进行编译。此时会报错,再把文件tsktestcfg.cmd加入工程后重新编译即可。6运行程序,观察结果(1)测试和观察线程1)编译程序,点击图标,编译成功后,点击File/Load Program,显示图20所示界面。图20 载入程序2)点击Debug菜单,选择tsktest.out文件后点击按钮“打开”,加载程序。3)点击菜单DSP/BIOS下的message log菜单(图21)。图21 message Log菜单弹出图7所示界面,显示出message log窗口图22 message log窗口4)单击工具条中的

9、按钮或按F5键,或选择DebugRun,开始运行程序。等待一会儿后,在message log中显示图8所示信息,表示了task0、task1、task2的执行情况。图23 message Log信息该信息表明,task0/task1/task2先后启动,同时运行。图24 清除所有LOG消息5)在message Log窗口中点鼠标右键,在弹出窗口中选择Clear , 清除所有消息。6)tsktest.c中,双击变量g_trigger,使之变成全选状态,然后右键,在弹出的菜单中选择Add Watch Window(图25)。图25 增加变量g_trigger进入观察窗口显示图26所示界面。图26 观察g_trigger变量的值7)点击Value 0,然后把0修改成1;再右键在弹出的菜单中点击Refresh(图27

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论