实验二:DSP_BIOS同步对象实验
更新时间:2023-04-27 16:38:01 阅读量: 实用文档 文档下载
- 实验二小推荐度:
- 相关推荐
实验2:CCS中DSP/BIOS操作实验
一、实验项目与目的
学习DSP/BIOS中线程task、旗语、邮箱的使用方法,同时进一步练习C语言编程及调试。
二、实验设备
计算机,版软件
三、实验内容与步骤
1.配置CCS软件
在桌面上打开,按照图1所示配置。然后点击“Save & Quit”按钮后退出CCS设置工具,启动CCS。
图1 CCS配置界面
2.建立带有DSP/BIOS的项目文件
(1)在桌面上有一个名为的文件,也就是我们实验的源程序文件。
(2)双击桌面上的图标,启动CCS。
(3)在Project菜单下点击New,在出现的项目创建窗口中输入项目文件名称。名称任意,例如“tsktest”。如图2所示:
\
图2 建立工程
4)把源程序拷贝到当前工程的目录下,然后再加入到工程中,如图3所示:
图3 把加入工程中
5)在项目文件查看窗口中打开“+”号展开下面的文件,然后双击文件,在主窗口(右半窗口)显示相应文件的源程序,出现图4,此时可以浏览并检查源程序。
图4 浏览源程序和工程
3.向工程中加入DSP/BIOS配置文件
该工程是一个任务、邮箱、旗语的综合测试例程,任务测试部分为3个函数taskA/taskB/taskC,其代码一样。为方便理解,故放在这3个函数中。
void taskA(Arg id_arg)
{
Int 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环境中运行,下面新建并加入DSP/BIOS配置文件。
1)向工程中加入DSP/BIOS系统,步骤为点击菜单“File->New->DSP/BIOS configuration”,如图5所示:
图5 新建DSP/BIOS配置文件
出现图6所示界面,选择,然后点击OK。
图6 选择合适的芯片型号图7 保存
2)点击保存图标,把文件保存为,图7所示。
3)用和加入程序同样方法将加入工程,注意文件类型选择*.tcf,否则找不到文件:
图8 把加入工程
加入后的工程如图9所示,DSP/BIOS Config下面有了内容,也就是:
图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三个函数。这三个函数功能是在日志中写入运行状态,用来演示线程是同时、并行运行的。
在工程中双击文件,打开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所示:
图15 建立信号量sem
5.静态建立邮箱
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所示。
图19 建立LOG对象trace
到此就完成了对象的创建,开始编译程序,点击图标进行编译。此时会报错,再把文件加入工程后重新编译即可。
6.运行程序,观察结果
(1)测试和观察线程
1)编译程序,点击图标,编译成功后,点击File/Load Program…,显示图20所示界面。
图20 载入程序
2)点击Debug菜单,选择文件后点击按钮“打开”,加载程序。
3)点击菜单DSP/BIOS下的message log菜单(图21)。
图21 message Log菜单
弹出图7所示界面,显示出message log窗口
图22 message log窗口
4)单击工具条中的按钮或按F5键,或选择Debug→Run,开始运行程序。等待一会儿后,在message log中显示图8所示信息,表示了task0、task1、task2的执行情况。
图23 message Log信息
该信息表明,task0/task1/task2先后启动,同时运行。
图24 清除所有LOG消息
5)在message Log窗口中点鼠标右键,在弹出窗口中选择Clear , 清除所有消息。
6)中,双击变量g_trigger,使之变成全选状态,然后右键,在弹出的菜单中选择Add Watch Window(图25)。
图25 增加变量g_trigger进入观察窗口
显示图26所示界面。
图26 观察g_trigger变量的值
7)点击Value 0,然后把0修改成1;再右键在弹出的菜单中点击Refresh(图27)。
图27 更新Watch Window
在Log窗口中出现mbx发送和接收的日志,表明已经触发了旗语,从而完成一次邮箱发送和读取操作。可以重复这个过程,能够看到mbx的id号一直在增加。
四、实验说明
本实验是从建立工程开始,熟悉这个过程后,也可以直接打开文件夹中的工程,从第6步开始运行程序。
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 实验
- 同步
- 对象
- BIOS
- DSP
- 2018年郑州大学联合培养单位郑州师范学院830文学综合之外国文学史(欧美卷)考研核心题库
- 景墙、树池砌筑施工方案及工艺方法
- 第二学期六年级语文期末试卷含答案
- (完整版)一元一次方程应用题专题训练行程问题(可编辑修改word版)
- 锅炉维保合同书及附锅炉维保方案
- 四年级上语文一课一练-蟋蟀的住宅_13-14人教新课标
- 丹徒区职称论文发表网-电力系统继电保护新技术应用论文选题题目
- 部编版五年级下册语文《期中考试试卷》(word版含答案)
- 高中英语必修1-选修8单词词组汇总
- 备战中考物理知识点过关培优易错试卷训练∶压力与压强问题及答案
- 技术创新的理论与方法-继续教育作业大汇编600页全
- 如何提高小学语文课堂教学中小组合作学习的有效性-教育作文文档
- 春人教新目标英语八年级下册Unit3重点单元知识点
- 华东师范大学普通生物学题目Word版
- Microlensing Search for Planets with Two Simultaneously Rising Suns
- 理查德米尔官方指定手表维修地点-长春理查德米尔维修点
- 当代高僧,坐化往生——会性法师弘法生平、修学要略
- 2017年西北政法大学经济学院803微观经济学与宏观经济学之西方经济学(微观部分)考研冲刺密押题
- 2020年高考语文冲刺大二轮专题复习习题:专题三文学类文本阅读散文-专题跟踪训练7含解析
- 2020年电大考试《心理学》试题及答案