DSP数据存取实验

编程实验

72人已加入

描述

实验5:DSP数据存取实验
一.实验目的
1.了解TMS320F2812A的内部存储器空间的分配及指令寻址方式。
2.了解ICETEK-F2812-A评估板扩展存储器空间寻址方法,及其应用。
3.了解ICETEK-F2812-EDU实验箱扩展存储器空间寻址方法,及其应用。
4.学习用Code Composer Studio修改、填充DSP内存单元的方法。
5.学习操作TMS32028xx内存空间的指令。
二. 实验原理
TMS32028xx DSP内部存储器资源介绍:
TMS32028xx 系列DSP基于增强的哈佛结构,可以通过三组并行总线访问多个存储空间。
它们分别是:程序地址总线(PAB)、数据读地址总线(DRAB)和数据写地址总线(DWAB)。
由于总线工作是独立的,所以可以同时访问程序和数据空间。
三. 实验设备
计算机,ICETEK-F2812-A-EDU实验箱(或ICETEK仿真器+ICETEK-F2812-A评估板+相关
连线及电源)。
四.实验内容与步骤
1.实验准备
连接实验设备:请参看本书第一部分、二。关闭实验箱上扩展模块和信号源电源开关。
2.设置Code Composer Studio 2.21在硬件仿真(Emulator)方式下运行(参看本书第一部分、
四、2)。
3.启动Code Composer Studio 2.21(请参看本书第一部分、五、2)。
选择菜单Debug→Reset CPU。
4.打开工程文件
工程文件为:
:\ICETEK-F2812-A-EDUlab\DSP281x_examples\Lab0201-Memory\Memory.pjt
5.编译、下载程序。
6.程序区的观察和修改
(1)运行到main函数入口:选择菜单Debug->Go Main,当程序运行并停止在main函数入口
时,展开“Disassembly”反汇编窗口,发现main函数入口地址为81000H,也就是说从
此地址开始存放主函数的程序代码。
(2)显示程序区(如下图5-1所示):
(3)修改程序区的存储单元
程序区单元的内容由CCS的下载功能填充,但也能用手动方式修改;双击“Code”窗口
地址“0x81000:”后的第一个数,显示“Edit Memory”窗口,在“Data”中输入0x20,
修改page:为program,单击“Done”按钮,观察“Code”窗口中相应地址的数据被修改,
同时在反汇编窗口中的反汇编语句也发生了变化,当前语句被改成了“TRAP #0”。将地址0x81000上的数据改回0xfe08,程序又恢复成原样。

数据存

图5-2 显示数据存储器
同样请打开窗口Data1,起始地址在0x80100。
②修改数据单元:数据单元可以单个进行修改,只需双击想要改变的数据单元即可,如同
第(3)步中修改程序区单元的操作相同。③填充数据单元:

数据存

图5-3 观察DATA数据
观察“Data”窗口中的变化。请同样将0x80100开始的头16 个单元的值用0 填充。
7.运行程序观察结果
(1)打开Memory.c,在有注释的行上加软件断点。
(2)按“F5”键运行到各断点。
8.退出CCS
五.预习要求
1.了解TMS320F2812A的内部存储器空间的分配及指令寻址方式。
2.了解ICETEK-F2812-A评估板扩展存储器空间寻址方法,及其应用。
3.了解ICETEK-F2812-EDU实验箱扩展存储器空间寻址方法,及其应用。
六.注意事项
在运行程序观察结果时,注意观察窗口“Data”和“Data1”中的变化。
七.思考题
可以运行实验2、3,观察其存储空间的分配
八.实验报告要求
1.说明存储单元的修改过程
2.实验程序运行之后,位于数据区地址80000H 开始的16 个单元的数值被复制到了哪个单元
中?

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分